Назад | Перейти на главную страницу

Возможно ли туннель между окнами через Linux-сервер для sql-сервера?

Время от времени мне нужно проверять некоторые данные на сервере 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 в разделе Туннели. На случай, если кому-то это пригодится.