Я не верю, что есть способ предотвратить это, кроме статического назначения DNS-серверов в VPN-соединении.
Чтобы изменить порядок, в котором запрашиваются DNS-серверы, предполагается, что можно изменить порядок привязки интерфейса согласно https://superuser.com/a/314379/120267, но, похоже, это не влияет на VPN-соединения в мое личное тестирование на Windows 7; Я подтвердил, что мое VPN-соединение постоянно добавляется в верхнюю часть списка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Linkage\Bind
, независимо от настроек порядка привязки интерфейса.
Тем не менее, вы можете сбросить изменения DNS после установки VPN-подключения.
Сбор информации
Откройте командную строку (Start
-> Run...
-> cmd
) и запустите netsh interface ipv4 show dnsservers
. Вы увидите вывод, похожий на следующий:
Configuration for interface "My VPN"
Statically Configured DNS Servers: 11.22.33.44
55.66.77.88
...
Configuration for interface "Local Network Connection"
DNS servers configured through DHCP: 192.168.0.1
192.168.0.2
...
Вам нужно имя интерфейса для VPN и, возможно, первый DNS-сервер вашего не-VPN-соединения. В этом примере это My VPN и 192.168.0.1 соответственно.
Настройка всего этого
Вариант 1: отключить VPN DNS
Предполагая, что вам не нужны DNS-серверы вашего VPN, вы можете просто запустить следующее в командной строке:
netsh interface ipv4 delete dnsservers name="<Interface Name>" address=all validate=no
Eg: netsh interface ipv4 delete dnsservers name="My VPN" address=all validate=no
Если вы снова запустите netsh interface ipv4 show dnsservers
, вы увидите, что DNS-серверы, связанные с VPN, удалены; DNS-серверы вашего не-VPN-соединения будут использоваться для разрешения имен хостов.
Вариант 2: Дополнение VPN DNS
Если вам нужны DNS-серверы вашего VPN для разрешения имен хостов в интрасети, вы можете запустить в командной строке следующее:
netsh interface ipv4 add dnsservers name="<Interface Name>" address=<Non-VPN DNS server> index=1 validate=no
Eg: netsh interface ipv4 add dnsservers name="My VPN" address=192.168.0.1 index=1 validate=no
В этом случае netsh interface ipv4 show dnsservers
покажет, что первый DNS-сервер вашего не-VPN-подключения был добавлен в верхнюю часть списка DNS-серверов вашей VPN. Сначала он будет использоваться для разрешения имен хостов, а в случае неудачи вернется к использованию обычных DNS-серверов вашей VPN.