Nie wierzę, że istnieje sposób, aby temu zapobiec , oprócz statycznego przypisywania serwerów DNS do połączenia VPN.
Aby zmienić kolejność zapytań do serwerów DNS, należy zmienić kolejność wiązania interfejsu zgodnie z https://superuser.com/a/314379/120267 , ale nie ma to wpływu na połączenia VPN w moje osobiste testy w systemie Windows 7; Potwierdziłem, że moje połączenie VPN jest konsekwentnie dodawane na początku HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Linkage\Bind
listy, niezależnie od ustawień kolejności powiązań interfejsu.
Można jednak zresetować zmiany DNS po ustanowieniu połączenia VPN.
Zbieranie informacji
Otwórz wiersz polecenia ( Start
-> Run...
-> cmd
), a następnie uruchom netsh interface ipv4 show dnsservers
. Zobaczysz dane wyjściowe podobne do następujących:
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
...
Potrzebujesz nazwy interfejsu dla VPN i opcjonalnie pierwszego serwera DNS połączenia innego niż VPN . W tym przykładzie są to odpowiednio My VPN i 192.168.0.1 .
Wszystko gotowe
Opcja 1: Wyłącz VPN DNS
Zakładając, że w ogóle nie potrzebujesz serwerów DNS VPN, możesz po prostu uruchomić następujące polecenie w wierszu polecenia:
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
Jeśli uruchomisz netsh interface ipv4 show dnsservers
ponownie, zobaczysz, że serwery DNS powiązane z VPN zostały usunięte; serwery DNS innego połączenia niż VPN będą używane do rozpoznawania nazw hostów.
Opcja 2: Uzupełnij VPN DNS
Jeśli potrzebujesz serwerów DNS swojej sieci VPN do rozpoznawania nazw hostów w intranecie, możesz uruchomić następujące polecenie w wierszu polecenia:
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
W takim przypadku netsh interface ipv4 show dnsservers
pokaże, że pierwszy serwer DNS połączenia innego niż VPN został dodany na początku listy serwerów DNS twojego VPN. Zostanie on użyty do najpierw rozpoznania nazw hostów, a jeśli się nie powiedzie, wróć do korzystania ze zwykłych serwerów DNS VPN.