Подключение к Azure SQL Server с компьютера с динамическим внешним IP-адресом

Я пытаюсь подключить локальный ноутбук с динамическим внешним IP-адресом к нашему Azure SQL Server. Для этого я создал шлюз виртуальной сети и подключил к нему ноутбук. Кроме того, я добавил частную конечную точку к серверу SQL. После этого я могу успешно подключиться к IP-адресу SQL-сервера с помощью telnet, и если я разрешу FQDS SQL-сервера в файле hosts, я могу подключиться к серверу через SSMS. Но без файла hosts портативный компьютер всегда пытается подключиться к серверу SQL через его общедоступную конечную точку / адрес.

Я нашел следующую статью: https://techcommunity.microsoft.com/t5/azure-database-support-blog/azure-sql-db-private-link-private-endpoint-connectivity/ba-p/1235573 Статья отличная. Он рекомендует использовать собственный DNS-сервер для преобразования полного доменного имени SQL-сервера в локальный IP-адрес. К сожалению, у ноутбука нет доступа ни к одному настраиваемому DNS, поэтому такое решение не подходит. Есть два вопроса:

  1. Есть ли возможность установить соединение между локальным компьютером с динамическим IP-адресом и сервером SQL Azure с использованием частной конечной точки, но без собственного DNS-сервера?

  2. Если ответ на первый вопрос - «Нет», есть ли другой способ подключить локальный компьютер с динамическим IP-адресом к серверу SQL Azure с помощью любого другого приложения (приложений) Azure?


person Oleksii Serik    schedule 05.06.2020    source источник
comment
Если у вас есть подключение к Интернету, использующее динамическую IP-адресацию, и у вас возникают проблемы с прохождением через брандмауэр, попробуйте одно из следующих решений: 1. Спросите у своего интернет-провайдера диапазон IP-адресов, назначенных вашим клиентским компьютерам, имеющим доступ к серверу. Добавьте этот диапазон IP-адресов в качестве правила брандмауэра IP. 2. Получите вместо своих клиентских компьютеров статический IP-адрес. Добавьте IP-адреса в качестве правил брандмауэра IP.   -  person Leon Yue    schedule 08.06.2020
comment
Ссылка: docs. microsoft.com/en-us/azure/azure-sql/database/   -  person Leon Yue    schedule 08.06.2020
comment
Это не совсем ответ на исходный вопрос. Иногда у тебя нет выбора. Подумайте о путешествиях, Wi-Fi в аэропорту и т. Д. В конце концов, для этого были изобретены ноутбуки :)   -  person Dmytro Gokun    schedule 08.06.2020


Ответы (1)


Прежде всего, вы не можете использовать полное доменное имя без службы DNS. Таким образом, вам действительно нужен настраиваемый DNS-сервер, использующий полное доменное имя сервера в строках подключения, чтобы ваши клиенты могли подключаться с локальной виртуальной машины к серверу SQL Azure.

Поскольку вы используете портативный компьютер, DNS-серверы, используемые вашим компьютером, скорее всего, указаны вашим интернет-провайдером. У вас больше нет контроля над ним, и вы не можете попросить своего интернет-провайдера настроить сервер пересылки DNS. В противном случае вам необходимо развернуть DNS-сервер во внутренней сети. В настоящее время в этом сценарии лучшим методом является использование файла HOSTS на локальном компьютере для переопределения общедоступного DNS.

Однако, если вам не нравится использование файла HOSTS, вы можете подготовить виртуальную машину Azure в качестве DNS-сервера в той же виртуальной сети Azure, что и шлюз виртуальной сети.

Основные шаги:

  1. Разверните виртуальную машину Azure и RDP на этой виртуальной машине и выполните команды PowerShell, чтобы установить роль DNS-сервера.

    Install-WindowsFeature -Name DNS -IncludeManagementTools Get-WindowsFeature *DNS*

  2. Добавьте Azure DNS (168.63.129.16) в качестве сервера пересылки на свой настраиваемый DNS-сервер в соответствии с шагом 5 в этот блог. Если вы не хотите использовать сервер пересылки, вы также можете создать forward lookup zone и вручную добавить хост в соответствии с полным доменным именем. Вы можете прочитать Локальные рабочие нагрузки с использованием DNS-сервера пересылки для получения дополнительных сведений. введите здесь описание изображения

  3. После того, как вы настроили DNS-сервер и настроили DNS-сервер пересылки. Вы можете изменить DNS-сервер виртуальной сети Azure на частный IP-адрес виртуальной машины Azure. введите здесь описание изображения

  4. Перезагрузите виртуальную машину Azure, повторно загрузите пакет VPN-клиента и повторно подключите VPN-соединение, чтобы выполнить сетевое обновление. Проверьте DNS-сервер на локальной машине VPN-клиента и установите DNS-сервер на настраиваемый DNS-сервер в настройках TCP / IP. Затем вы будете искать свой частный IP-адрес через полное доменное имя службы Azure по умолчанию.

    В моем примере я использую учетную запись хранения Azure, но она работает так же с базой данных SQL Azure при использовании частной конечной точки в подключении Azure и P2S VPN. Таким образом, требуется, чтобы на локальном компьютере не было никаких других VPN-подключений, кроме VPN-подключения P2S. введите здесь описание изображения

Затем вы можете разрешить полное доменное имя сервера SQL Azure в частный IP-адрес частной конечной точки. Однако, возможно, он не имеет лучшей производительности для подключения к Azure SQL Server с помощью VPN-подключения, чем прямое подключение к нему через общедоступный Интернет и общедоступную службу DNS.

person Nancy Xiong    schedule 08.06.2020
comment
Спасибо за подробный ответ, @NancyXiong Да, я смог решить свою проблему так, как вы предложили. Собственно, последний шаг (когда адрес локального DNS-сервера добавлен в настройки VPN-подключения) мне не требовался, все работает хорошо, даже когда выбран параметр Получить адрес DNS-сервера автоматически. - person Oleksii Serik; 15.06.2020
comment
Кроме того, я должен отметить, что мне пришлось создать виртуальную машину с Windows Server вместо Windows 10. Если кто-то не может это сделать по какой-либо причине, есть хороший бесплатный DNS-сервер с открытым исходным кодом для Windows (DNS-сервер Technitium). Это сработало и для меня. - person Oleksii Serik; 15.06.2020