Die DNS-Auflösung von Windows 10 über eine VPN-Verbindung funktioniert nicht

49

In Windows 10 werden bei einer VPN-Verbindung mit aktiviertem Split-Tunneling (Gateway deaktiviert) für die DNS-Auflösung immer die LAN-DNS-Server verwendet, wobei die DNS-Server und das für die VPN-Verbindung festgelegte DNS-Suffix ignoriert werden.

Es wird erwartet, dass die DNS-Server des VPN verwendet werden. Andernfalls können DNS-Einträge im Remotenetzwerk (z. B. Domänencomputer) nicht aufgelöst werden.

Dies funktionierte in früheren Versionen von Windows einwandfrei.

Dies wurde in diesem Microsoft-Antwort-Thread ausführlich diskutiert .

ECC-Dan
quelle
Aus Ihrer Frage geht nicht hervor, wo Ihr Problem liegt (soll der vom VPN angegebene DNS-Server verwendet werden?). Bitte bearbeiten Sie ihn.
Máté Juhász,
Bearbeitet wie vorgeschlagen.
ECC-Dan,
tbh: Dann stimmt etwas nicht mit deinen Servern. Die erste DNS-Anfrage sollte IMMER die lokalen Server treffen. Nur wenn der Host nicht auflösbar ist, sollte das System versuchen, das Remote-DNS abzufragen. Möglicherweise liegt das Problem darin, dass lokale und Remotenetzwerke in denselben Subnetzen ausgeführt werden. Daher behauptet das lokale Netzwerk, "die Abfrage lösen zu können", liefert jedoch "Host nicht gefunden"? (Wenn ein Server zu Server konfiguriert das Subnetz abcd kann keinen Host lösen, sind keine weiteren dns-Server für dieses Subnetz wird abgefragt, es sei denn , primäre offline ist, da sie synchron sein sollte - daher nimmt es den Host ist unbekannt)
Dognose

Antworten:

55

Ich habe dieses Problem dauerhaft behoben, indem ich die Metrik meiner LAN-Verbindung manuell auf einen höheren Wert (15) eingestellt habe, als der, den Windows meinem VPN zuweist (11).

Dies kann auf zwei Arten erfolgen:

  • Über die GUI: Netzwerkverbindungen, Eigenschaften, TCP / IP v4-Eigenschaften, Erweitert, Metrik auf 15 setzen;
  • Befehlszeile: netsh int ip set interface interface="LAN CONNECTION NAME" metric=15

Der Effekt ist sofort (zumindest bei Verwendung der Befehlszeile) und DNS-Lookups durchlaufen jetzt wie erwartet mein VPN.

Dies funktioniert mit Split Tunneling und ist ein dauerhafter Fix für alle Neuverbindungen und Neustarts.

Beachten Sie, dass Sie anstelle der LAN-Verbindung auch die Metrik des VPN ändern können, dies jedoch nicht dauerhaft ist, da Windows die Metrik zurücksetzt, wenn die Verbindung hergestellt wird.

Abhängig von Ihrer Umgebung haben Sie möglicherweise eine andere Standardmetrik für Ihre LAN- und VPN-Verbindung. Passen Sie einfach entsprechend an, dass Ihr VPN eine niedrigere Metrik als Ihre LAN-Verbindung hat.

Wenn Sie außerdem feststellen, dass Sie die TCP / IP-Eigenschaften Ihres VPN nicht bearbeiten können, weil dies auch in Windows 10 nicht funktioniert hat , können Sie die meisten Eigenschaften über Powershell festlegen :

1. Get-VpnConnection
2. Set-VpnConnection -Name "myVPN" -SplitTunneling $True
3. Set-VpnConnection -Name "myVPN" -DnsSuffix yourdomain.local
ECC-Dan
quelle
2
Bei mir funktioniert das nicht ... Ich habe zwei Rechner mit Windows 10, einer funktioniert ganz gut, der andere ist problematisch mit VPN. Ich kann das Standard-Gateway, das das SplitTunneling aktiviert, auflösen, aber das DNS von VPN erkennt es immer noch nicht, wenn ich die Metrik
ändere
3
Dies hat das Problem für uns behoben (und wir haben es schon seit einiger Zeit bekämpft), mit einem wichtigen zusätzlichen Schritt - das Deaktivieren von IPv6. Unser VPN unterstützt kein IPv6, aber meines Erachtens hat jeder IPv6-Resolver Vorrang vor IPv4. Sobald wir IPv6 auf den Adaptern deaktiviert haben, wurde die Funktion des Split-Tunnel-DNS für Metriken wieder aufgenommen. Wenn Ihr VPN IPv6 unterstützt, ist dies wahrscheinlich nicht erforderlich, und wenn die Metrikanpassung selbst DNS für Sie repariert, lassen Sie IPv6 auf Ihrem Adapter aktiviert.
Adam Strohl
Unterhaltsame Tatsache: Für mich war das Problem "umgekehrt" - Als eine VPN-Verbindung hergestellt wurde, konnte Windows die lokalen FQDNs nicht auflösen ... Es wurde die Standardmetrik für die "VPN-Verbindung" auf 1 festgelegt - daher habe ich die lokale Metrik angegeben Verbindung eine niedrigere Nummer, die mein Problem gelöst. (Mein lokaler Server korrekt konfiguriert ist , so dass jeder unresolvable Name wird auf die Verbindung von „second preference“ abgefragt werden - die beide jetzt macht. Lokaler und Remote - dns zu Arbeit wie erwartet , während VPN eingerichtet ist)
Dognose
Irgendeine Idee, warum dieses Update nur für mich benötigt wird, wenn ich über einen ISP aber nicht den anderen verbinde (beide Koaxialkabel verbunden)?
Gaia
Irgendwie habe ich zuerst das umgekehrte Problem: Mein lokaler Win10-Laptop verwendet automatisch nur das DNS in VPN (die meiste Zeit), und da dieses DNS in diesem internen VPN (noch) nicht für die Bereitstellung eines DNS-Dienstes konfiguriert ist, kann ich das Während meines VPN-Aktivierungszeitraums kann ich keine Internet-Website durchsuchen. Daher benutze ich diese Lösung in umgekehrter Reihenfolge, indem ich meine lokale LAN-Verbindung auf eine so kleine Zahl einstelle 1, dass das Problem im Moment anscheinend behoben ist. FWIW, ich kenne den Metrikwert für meine VPN-Verbindung jedoch nicht, da im Popup-Fenster mit den VPN-Verbindungseigenschaften keine Schaltfläche "Erweitert" angezeigt wird.
RayLuo
11

Ich habe eine Neuinstallation von Windows 10 auf einer VM gestartet, um sie zu testen, nachdem dieses Problem auf jedem physischen Win10-Computer aufgetreten ist. Ich habe alle Antworten in diesem Thread getestet und keine davon hat funktioniert. Ich habe festgestellt, dass die Lösung darin besteht, die Antworten von "Keenans" und "ECC-Dan" zu kombinieren:

http://answers.microsoft.com/de-de/windows/forum/windows_10-networking/win-10-dns-resolution-of-remote-network-via-vpn/513bdeea-0d18-462e-9ec3-a41129eec736? Seite = 1

Systemsteuerung> Netzwerk- und Freigabecenter> Adaptereinstellungen ändern> Klicken Sie mit der rechten Maustaste auf Ihren Ethernet- oder Wifi-Adapter> Eigenschaften> Doppelklicken Sie auf IPv4> Erweitert> Deaktivieren Sie die Option Automatische Metrik> Geben Sie 15 für die Schnittstellenmetrik ein> OK> OK.

Doppelklicken Sie auf derselben Eigenschaftsseite auf IPv6> Erweitert> Automatische Metrik deaktivieren> Geben Sie 15 für die Schnittstellenmetrik ein> OK> OK.

Erst nach dem Ändern dieser beiden Einstellungen ist das Problem behoben. Ich habe getestet, ob ich eines von beiden zurückgetauscht habe und es bricht wieder. Nachdem ich beide geändert hatte, ließ ich nslookup über die Befehlszeile laufen und es gab den DNS-Server im entfernten Netzwerk zurück, mit dem das VPN verbunden ist, wohingegen es andernfalls den lokalen DNS-Server zurückgeben würde. Ich habe dann Wireshark Capturing auf der Ethernet-Schnittstelle verwendet, einige Pings zu zufälligen Websites durchgeführt und überprüft, dass keine DNS-Pakete erfasst wurden. Dies zeigt, dass nach dem Vornehmen der Änderungen DNS-Abfragen NUR über die VPN-Verbindung und nicht gleichzeitig über alle Verbindungen (die als Win10-DNS-Leck bezeichnet werden) gesendet werden. Das ist also auch Teil der Lösung für das Win10-DNS-Leck:

https://medium.com/@ValdikSS/beware-of-windows-10-dns-resolver-and-dns-leaks-5bc5bfb4e3f1#.7ppsn1nda

Beachten Sie, dass Sie zur Behebung des DNS-Lecks zuerst die obigen Schritte ausführen müssen. Dann müssen Sie zwei Registrierungswerte festlegen. In den verlinkten Artikeln wird nur einer aufgeführt, der das Problem in neueren Versionen von Win10 nicht behebt. Legen Sie diese Registrierungswerte fest:

Key: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClient
Value:  DisableSmartNameResolution
Data:  1

Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
Value: DisableParallelAandAAAA
Data:  1

Erst wenn Sie dies alles erledigt haben, wird Ihr DNS-Client-Verhalten wieder so sein, wie es in Win7 war. Man muss sich fragen, wie das durch die Qualitätssicherung bei Microsoft gekommen ist.

LikeARock47
quelle
1

Es funktioniert nicht, auch wenn ich die Metriken für IPv4 und IPv6 geändert und die Registrierung DisableSmartNameResolution und DisableParallelAandAAAA mit dem aktuellen Windows 10-Edu (Stand Dezember 2018) verwendet habe, wenn der Client über ein UTP-Kabel verbunden ist und das IPv6-Protokoll im lokalen LAN unterstützt wird (dh. Client hat öffentliche / globale IPv6-Adresse).

Es ist ausreichend, das IPv6-Protokoll auf der für VPN verwendeten UTP / LAN-Schnittstelle zu deaktivieren, damit es funktioniert (um die globale IPv6-Adresse auf dem Client zu entfernen / not_use).

Dies funktioniert problemlos, wenn der Client über Wi-Fi mit dem Internet verbunden ist und IPv6 verfügbar ist (Client hat eine globale IPv6-Adresse und keine UTP / LAN-Verbindung).

Milan Kerslager
quelle