Время от времени мне нужно проверять некоторые данные на сервере MS SQL в другом месте.
На данный момент для этого необходимо сделать резервную копию базы данных, перенеся ее на другой сервер, чтобы я мог загрузить .bak
файл и восстановить на моем локальном компьютере. Но база данных растет, так что это становится проблемой.
Можно ли (и как?) Сделать туннель Win 7 -> Linux -> Windows Server 2008 with SQL Server
для MS SQL Management Studio?
Linux и Windows Server находятся в одной сети в другом месте. Внешне виден только сервер Linux.
К сожалению, я не могу вносить изменения ни на одной машине.
Я пробовал использовать SSH-туннель через Putty, но не смог.
На машине win7 откройте putty и установите следующие параметры для сеанса linux ssh: Connection-> SSH-> Tunnels-> Source port: 1433, Destination: 192.168.0.3:1433, выберите локальный переключатель.
Теперь у вас должна быть возможность подключиться к localhost: 1433 с машины win7.
Хм, если вы можете добавить новое правило в 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-адрес и порт вашего сервера базы данных.
Да, это должно быть возможно. Взглянуть Вот, например. Вам нужно будет предоставить дополнительную информацию, если вам понадобится помощь в настройке туннеля.
После комментария FINESEC вы могли получить ошибку «соединение активно отклонено».
Мне удалось решить эту проблему, установив флажки «Локальные порты принимают соединения от других хостов» и «Удаленные сообщения делают то же самое» в Putty в разделе Туннели. На случай, если кому-то это пригодится.