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

Подключение к SQL Server 2008 через ADSL-маршрутизатор

Я пытаюсь подключиться к экземпляру SQL Server 2008 через Интернет через модем / маршрутизатор ADSL. Я уже настроил маршрутизатор для перенаправления портов TCP 1433 и UDP 1434 на IP-адрес сервера. Я также отключил брандмауэр Windows на сервере. Я могу подключиться к экземпляру локально с помощью проверки подлинности SQL Server, но я не могу подключиться через Интернет, потому что это не удается с сообщением об ошибке:

Ошибка: собственный клиент Microsoft SQL Server 10.0: при установке подключения к SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром. Сервер не найден или недоступен. Проверьте, правильно ли указано имя экземпляра и настроен ли SQL Server на разрешение удаленных подключений. Дополнительные сведения см. В электронной документации по SQL Server. Sqlcmd: Ошибка: собственный клиент Microsoft SQL Server 10.0: истекло время ожидания входа в систему.

Я действительно не понимаю, что не так. Любая помощь будет оценена.

Я, наверное, не единственный, кто это скажет, но открытие сервера в Интернете таким образом - это плохая идея. Подумайте о каком-то программном обеспечении VPN, оно не только будет намного безопаснее, но и вам будет намного проще настроить переадресацию портов. (Вам нужно будет направить только один порт через модем на сервер для VPN-соединения, и все остальное будет работать через это).

Проверять, выписываться http://www.openvpn.net для достойного бесплатного решения VPN.

Вероятно, это потому, что SQL Server не прослушивает TCP / IP.

Установка SQL Server по умолчанию будет принимать любые входящие соединения. Это включает в себя другие машины в той же локальной сети, а также из Интернета (что на самом деле означает трафик, исходящий от маршрутизатора в вашей локальной сети).

Вы используете Диспетчер конфигурации SQL Server чтобы включить другие протоколы, которые SQL Server будет прослушивать (например, TCP / IP):

После этого вам нужно будет снова включить (старый) порт по умолчанию. 1433 для использования:

я хотел бы использовать Microsoft SysInternals TCPView чтобы проверить, что SQL Server Ну наконец то прослушивание порта, который вы ожидаете:

Все это часть нового сломан по умолчанию стратегия.

Я бы рекомендовал вам открыть следующие порты;

TCP 1433 (SQL Server), TCP 1434 (SQL Admin), TCP 4022 (SQL Service Broker), TCP 135 (SQL Debugger / RPC), TCP 2383 (Analysis Services), TCP 2382 и UDP 1434 (SQL Browser) плюс, возможно, TCP 80 и TCP 443, если вы делаете что-нибудь «в сети».

Используйте сетевой сканер, например nMap для проверки того, что порты 1433 TCP и 1434 UDP (он нужен только при использовании именованных экземпляров) действительно открыты для Интернета. Если порт отмечен как закрытый или отфильтрованный, это, вероятно, связано с:

  • Наличие антивирусного пакета / пакета безопасности с запущенным брандмауэром.
  • Переадресация / перенаправление портов маршрутизатора неправильно настроено или отключено.

PS: то, что SmallClanger говорит об использовании VPN, - очень хороший совет.