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

Почему я не могу подключиться к удаленному серверу Microsoft SQL Server через туннель SSH?

У меня дома стоит роутер D-Link DIR-615 C1 с DD-WRT. Я настроил SSH-сервер на маршрутизаторе и вхожу в систему с помощью ключа, защищенного парольной фразой SSH2-RSA. Этот маршрутизатор является шлюзом между локальной сетью и Интернетом. На одном из компьютеров в этой сети установлен Microsoft SQL Server 2008 с включенным протоколом TCP / IP через порт 1433. Я настроил переадресацию портов на маршрутизаторе, чтобы удаленные подключения были возможны и фактически работают (некоторые разработчики без проблем заходят в систему удаленно).

Я являюсь частью другой сети, у которой есть доступ в Интернет через прокси-сервер, у которого открыты только порты 80 и 443. Я не могу подключиться к этому серверу MSSQL на этом удаленном сервере, потому что порт 1433 закрыт в этой сети.
Я подключился (используя Putty) через порт 443 к SSH-серверу моего маршрутизатора и настроил 2 туннеля. Один для RDP (3389), и он работает. Другой - для порта 1433, для подключения к серверу.

Я не могу подключиться через SSH-туннель к MS SQL Server, ни через telnet, ни через клиентов с графическим интерфейсом.

Я что-то упускаю?

Дополнительные детали:
при подключении я получаю эту ошибку из SQL Server Management Studio:

НАЗВАНИЕ: Подключиться к серверу

Не удается подключиться к localhost: 14330.


ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:

Произошла ошибка, связанная с сетью или конкретным экземпляром, при установке соединения с SQL Server. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра правильное и что SQL Server настроен на разрешение удаленных подключений. (поставщик: поставщик именованных каналов, ошибка: 40 - не удалось открыть соединение с SQL Server) (Microsoft SQL Server, ошибка: 3)

Для получения справки щелкните: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=3&LinkId=20476


КНОПКИ:

хорошо

Туннель настроен так:
L14330 192.168.0.103:1433
192.168.0.103 - постоянный адрес SQL-сервера в локальной сети. Я также успешно перенаправил TCP-трафик 3389 порт на этот IP-адрес, поэтому туннелирование работает на этот IP-адрес.

При подключении без туннеля через Microsoft SQL Server Management Studio с использованием того же метода, который устанавливает соединение. Жаль, что мой прокси не разрешает трафик порта 1433, у меня не было бы этой головной боли.

При обновлении до более нового маршрутизатора Dlink у меня была проблема, заключающаяся в том, что я больше не мог подключаться к SQL SVR между компьютерами в моей сети (подключенными к маршрутизатору Dlink).

Я нашел решение на этот форум.

Отключение «Расширенной службы DNS». Включено по умолчанию.

(Настройка> Интернет> Настройка подключения к Интернету вручную> Расширенная служба DNS)

Согласно сообщению, которое я нашел, он также решает проблемы с подключением RDP. Были некоторые предположения, что запросы на соединение SQL SVR отправлялись в OpenDNS, что препятствовало желаемому соединению.

Для SQL SVR 2008 существует некоторая дополнительная конфигурация области поверхности, необходимая для разрешения подключений, включая подключения к именованным экземплярам.

Обратите внимание, что при включенном Open DNS вы можете включить локальные соединения SQL SVR с помощью настроек переадресации портов маршрутизатора Dlink. Если вы отключите Open DNS, настройки переадресации портов не требуются для соединений между компьютерами в вашей сети. Если вы хотите разрешить подключения SQL SVR из Интернета к компьютерам в вашей сети DLink, вам необходимо настроить это в настройках виртуального сервера (а не перенаправление портов). И переадресация портов, и виртуальный сервер находятся на вкладке «Дополнительно».

Моему маршрутизатору меньше года (DIR 655)

Случайная мысль:

Некоторые маршрутизаторы имеют параметр «сквозной VPN» (или аналогичный).

По твоей ссылке я нашел это в VPN

Доступен ли сервер MSSQL из конечной точки туннеля / ssh?

Убедитесь, что IP-адрес назначения и порт в туннеле ssh указаны правильно.

Убедитесь, что вы подключаете telnet или клиент gui к LOCALHOST: PORT.