Туннель между Windows через сервер Linux для SQL-сервера, возможно ли?

Туннель между Windows через сервер Linux для SQL-сервера, возможно ли?

Время от времени мне нужно проверить некоторые данные на сервере MS SQL в другом месте.
На данный момент для этого требуется сделать резервную копию базы данных, переместить ее на другой сервер, чтобы я мог загрузить файл .bakи восстановить его на своей локальной машине. Но база данных растет, так что это начинает быть проблемой.

Можно ли (и как?) сделать туннель Win 7 -> Linux -> Windows Server 2008 with SQL Serverдля MS SQL Management Studio?
Linux и Windows Server находятся в одной сети в другом месте. Извне виден только Linux-сервер.

К сожалению, я не могу вносить изменения ни на одной машине.
Я пробовал с SSH-туннелем через Putty, но не получилось.

решение1

На компьютере с ОС Win7 откройте Putty и установите следующие параметры для сеанса Linux SSH: Connection->SSH->Tunnels->Source port: 1433, Destination: 192.168.0.3:1433, выберите локальный переключатель.

Теперь вы сможете подключиться к localhost:1433 с машины win7.

решение2

Да, это должно быть возможно. Посмотрите.здесь, например. Вам нужно будет предоставить больше информации, если вам нужна помощь в настройке туннеля.

решение3

Хм, если вы можете добавить новое правило в iptables на сервере Linux, то вы можете сделать это с помощью простого перенаправления портов. Но имейте в виду, что это очень опасно, потому что вы сделаете свою базу данных видимой из Интернета. Конечно, вы можете включить перенаправление портов только тогда, когда вам нужно подключиться к серверу базы данных и использовать какой-то нестандартный порт. Это правила, которые вы должны добавить в iptables на машине Linux:


-A PREROUTING -p tcp -m tcp -s IPOFYOURNETWORK --dport PORTNUMBER1 -j DNAT --to-destination IPOFDATASERVER:PORTNUMER2
-A POSTROUTING -d IPOFDATASERVER -j MASQUERADE

IPOFYOURNETWORK — это IP-адрес сети или компьютера, с которого вы попытаетесь подключиться.

PORTNUMBER1 — это порт, на котором вы хотите, чтобы ваша база данных была видна (вы можете настроить любой нестандартный порт)

IPOFDATASERVER:PORTNUMER2 — это IP-адрес и порт вашего сервера базы данных.

решение4

Следуя комментарию FINESEC, вы можете получить ошибку «подключение активно отклонено».

Мне удалось решить эту проблему, установив флажки "Локальные порты принимают соединения с других хостов" и "Удаленные порты делают то же самое" в Putty в разделе "Туннели". На случай, если кому-то это пригодится.

Связанный контент