W systemie Windows 10, po podłączeniu do VPN z włączonym dzielonym tunelowaniem (brama wyłączona), rozpoznawanie DNS zawsze wykorzystuje serwery DNS LAN, ignorując serwery DNS i sufiks DNS ustawiony na połączeniu VPN.
Oczekiwanym zachowaniem jest używanie serwerów DNS VPN, w przeciwnym razie niemożliwe będzie rozpoznanie wpisów DNS w sieci zdalnej (na przykład na komputerach domeny).
Działa to poprawnie w poprzedniej wersji systemu Windows.
Zostało to szeroko omówione w tym wątku z odpowiedziami Microsoft .
vpn
dns
windows-10
ECC-Dan
źródło
źródło
Odpowiedzi:
Naprawiłem ten problem na stałe, ręcznie ustawiając metrykę mojego połączenia LAN na wyższą (15) niż ta, którą Windows przypisuje mojej sieci VPN (11).
Można to zrobić na dwa sposoby:
netsh int ip set interface interface="LAN CONNECTION NAME" metric=15
Efekt jest natychmiastowy (przynajmniej przy użyciu wiersza polecenia), a wyszukiwania DNS przechodzą teraz przez moją sieć VPN zgodnie z oczekiwaniami.
Działa to z Split Tunneling i jest stałą poprawką podczas ponownych połączeń i restartów.
Pamiętaj, że możesz również zmienić metrykę VPN zamiast połączenia LAN, ale nie byłoby to trwałe, ponieważ system Windows resetuje metrykę po ustanowieniu połączenia.
W zależności od środowiska możesz mieć inną domyślną metrykę dla połączenia LAN i VPN. Po prostu odpowiednio dostosuj, aby twoja sieć VPN miała niższy wskaźnik niż twoje połączenie LAN.
Ponadto, jeśli okaże się, że nie można edytować właściwości TCP / IP sieci VPN, ponieważ zostało to również uszkodzone w systemie Windows 10 , można ustawić większość właściwości za pomocą programu Powershell :
źródło
1
, co na pozór rozwiązuje problem. FWIW, nie znam wartości metryki dla mojego połączenia VPN, ponieważ w wyskakującym oknie właściwości połączenia VPN nie ma przycisku „Advance”.Uruchomiłem nową instalację systemu Windows 10 na maszynie wirtualnej do przetestowania po zobaczeniu tego problemu na każdym fizycznym komputerze Win10, który mam. Przetestowałem wszystkie odpowiedzi w tym wątku i żadna z nich nie zadziałała. Odkryłem, że rozwiązaniem jest połączenie odpowiedzi zamieszczonych tutaj przez „Keenans” i „ECC-Dan”:
http://answers.microsoft.com/en-us/windows/forum/windows_10-networking/win-10-dns-resolution-of-remote-network-via-vpn/513bdeea-0d18-462e-9ec3-a41129eec736? strona = 1
Panel sterowania> Centrum sieci i udostępniania> Zmień ustawienia karty sieciowej> Kliknij prawym przyciskiem myszy kartę Ethernet lub Wi-Fi> Właściwości> kliknij dwukrotnie IPv4> Zaawansowane> Odznacz metrykę automatyczną> Wprowadź 15 dla metryki interfejsu> OK> OK.
Na tej samej stronie Właściwości kliknij dwukrotnie IPv6> Zaawansowane> Odznacz metrykę automatyczną> Wprowadź 15 dla metryki interfejsu> OK> OK.
Dopiero po zmianie obu tych ustawień problem został rozwiązany. Testowałem zmianę jednego z nich i znów się łamie. Po zmianie obu uruchomiłem nslookup z wiersza poleceń i zwrócił serwer DNS w sieci zdalnej, do której podłączona jest sieć VPN, gdzie w przeciwnym razie zwróciłby lokalny serwer DNS. Następnie użyłem przechwytywania Wireshark na interfejsie Ethernet, wykonałem kilka pingów do losowych stron internetowych i zweryfikowałem, że nie przechwycono żadnych pakietów DNS. Dowodzi to, że po dokonaniu zmian zapytania DNS są wysyłane TYLKO przez połączenie VPN, a nie jednocześnie przez wszystkie połączenia (co jest znane jako wyciek DNS Win10). Jest to również część rozwiązania problemu wycieku DNS Win10:
https://medium.com/@ValdikSS/beware-of-windows-10-dns-resolver-and-dns-leaks-5bc5bfb4e3f1#.7ppsn1nda
Pamiętaj, że naprawić wyciek DNS, musisz najpierw wykonać powyższe kroki. Następnie musisz ustawić dwie wartości rejestru. W linkowanych artykułach wymieniono tylko jeden, który sam w sobie nie rozwiązuje problemu w nowszych wersjach Win10. Ustaw te wartości rejestru:
Dopiero po wykonaniu wszystkich tych czynności zachowanie klienta DNS powróci do stanu z Win7. Musisz się zastanawiać, jak to przeszło przez kontrolę jakości w firmie Microsoft.
źródło
Nie działa, nawet zmieniłem metryki zarówno na IPv4, jak i IPv6 i użyłem rejestru DisableSmartNameResolution i DisableParallelAandAAAA z bieżącym Windows 10 Edu (od grudnia 2018 r.), Gdy klient jest podłączony kablem UTP, a protokół IPv6 jest obsługiwany w lokalnej sieci LAN (tj. klient ma publiczny / globalny adres IPv6).
Wystarczy wyłączyć protokół IPv6 na interfejsie UTP / LAN używanym do VPN, aby działał (aby usunąć / nie_używać globalnego adresu IPv6 na kliencie).
Działa bez problemu, gdy klient jest podłączony do Internetu przez Wi-Fi, a protokół IPv6 jest dostępny (klient ma globalny adres IPv6 i nie ma połączenia UTP / LAN).
źródło