Вопрос

Я создаю VPN-приложение, в котором мне нужно программно настроить DNS-сервер.я меняю NameServer параметр в реестре (в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces), чтобы добавить сервер имен в список существующих записей.Если я сделаю это, если попытаюсь найти имя хоста, используя nslookup, все работает нормально, но ping не может разрешить имя - за 15 минут.И через 15 минут ping также может разрешить имя.Я попробовал свое собственное маленькое TCP/IP-приложение, и у него та же проблема.Я посмотрел трафик в Wireshark и увидел, что nslookup отправляет запросы на поиск DNS, а ping — нет.

Могу ли я как-нибудь пнуть Windows, чтобы раньше заметить сервер имен?Или есть лучший способ настроить серверы имен в Windows?

Заранее спасибо за вашу помощь!

Это было полезно?

Решение

Не меняйте этот ключ реестра напрямую.Как вы обнаружили, он не уведомляет DNS-клиентов об изменении сервера имен.

Самое простое решение, вероятно, %SystemRoot%\system32\netsh.exe.

netsh interface ip set dns name="Local Area Connection" source=static addr=...
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top