Ich glaube nicht, dass es eine Möglichkeit gibt, dies zu verhindern , abgesehen von der statischen Zuweisung der DNS-Server auf der VPN-Verbindung.
Um die Reihenfolge zu ändern, in der DNS-Server abgefragt werden, sollte man in der Lage sein, die Reihenfolge der Schnittstellenbindung gemäß /superuser//a/314379/120267 zu ändern. Dies scheint jedoch keine Auswirkungen auf die VPN-Verbindungen in zu haben meine persönlichen Tests unter Windows 7; Ich habe bestätigt, dass meine VPN-Verbindung HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Linkage\Bind
unabhängig von den Einstellungen für die Schnittstellenbindungsreihenfolge konsistent ganz oben auf der Liste steht.
Sie können die DNS-Änderungen jedoch zurücksetzen, nachdem die VPN-Verbindung hergestellt wurde.
Informationen sammeln
Öffnen Sie eine Eingabeaufforderung ( Start
-> Run...
-> cmd
) und dann laufen netsh interface ipv4 show dnsservers
. Sie sehen eine Ausgabe ähnlich der folgenden:
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
...
Sie benötigen den Schnittstellennamen für das VPN und optional den ersten DNS-Server Ihrer Nicht-VPN-Verbindung . In diesem Beispiel handelt es sich um Mein VPN bzw. 192.168.0.1 .
Alles einrichten
Option 1: Deaktivieren Sie VPN DNS
Angenommen, Sie benötigen die DNS-Server Ihres VPN überhaupt nicht, können Sie einfach Folgendes an der Eingabeaufforderung ausführen:
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
Wenn Sie netsh interface ipv4 show dnsservers
erneut ausführen , werden Sie feststellen, dass die dem VPN zugeordneten DNS-Server entfernt wurden. Die DNS-Server Ihrer Nicht-VPN-Verbindung werden zum Auflösen von Hostnamen verwendet.
Option 2: VPN-DNS ergänzen
Wenn Sie die DNS-Server Ihres VPN zum Auflösen von Intranet-Hostnamen benötigen, können Sie an der Eingabeaufforderung Folgendes ausführen:
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
In diesem Fall netsh interface ipv4 show dnsservers
wird angezeigt, dass der erste DNS-Server Ihrer Nicht-VPN-Verbindung oben in der Liste der DNS-Server Ihres VPN hinzugefügt wurde. Es wird verwendet, um zuerst Hostnamen aufzulösen. Wenn dies nicht erfolgreich ist, können Sie die regulären DNS-Server Ihres VPN verwenden.
Ich hatte ein ähnliches Problem; Wenn Sie eine Verbindung zu einem VPN-Server herstellen, wird das DNS meiner Workstation (Remote-VPN-Client) überschrieben, sodass das lokale LAN-DNS verdeckt wird. Ich habe das Problem auf der Stackoverflow-Seite ausführlicher beschrieben, bevor ich darauf hingewiesen wurde, dass ich es stattdessen hier hätte posten sollen.
Nach dem Lesen dieses Threads ist es offensichtlich, dass das Überschreiben mit der OpenVPN-Clientkonfiguration nicht verhindert werden kann. Meine Lösung bestand darin, eine Batchdatei im OpenVPN-Konfigurationsverzeichnis hinzuzufügen, die ausgeführt wird, wenn die OpenVPN-Verbindung hergestellt wird. Wenn die OVPN-Datei company.ovpn heißt, muss die Datei, die bei connect ausgeführt wird, company_up.bat heißen.
Ich habe die Datei seit der Version, die ich heute Abend in StackOverflow zu meiner Frage gepostet habe, erweitert. Jetzt sieht es so aus:
1: Ein Hack, der einige Sekunden warten muss, bevor Sie fortfahren. Die neueste Version (2.3) des OpenVPN-Clients ignoriert die DNS- und Routenänderungen, wenn sie unverzüglich ausgeführt wird.
2: Stellen Sie den DNS der VPN-Verbindung so ein, dass er auf den lokalen Host verweist. Auf dem lokalen Host läuft ein Resolver (ich verwende SimpleDNS Plus ), der die Abfragen über das VPN an die Unternehmensdomäne an den Unternehmens-DNS-Server und alles andere an den lokalen LAN-DNS-Server weiterleitet. Beachten Sie, dass ich keinen lokalen LAN-Resolver verwenden konnte, um die Abfragen für die Unternehmensdomäne über das VPN an das Unternehmens-DNS weiterzuleiten, da sich der VPN-Endpunkt auf dem lokalen Host befindet. Der Verbindungsname ("Local Area Connection 4") wurde an der Eingabeaufforderung über "ipconfig / all" ermittelt.
3: Der Firmen-VPN-Server ist so konfiguriert, dass der gesamte ausgehende Datenverkehr über das VPN weitergeleitet wird, während gleichzeitig ausgehende SSH-Verbindungen (zum Internet) eingeschränkt werden. Dies widersprach meinem Workflow und ich lösche zuerst die Route "0.0.0.0 netmask 0.0.0.0" ...
4: .. und dann füge ich die Route 0.0.0.0/0 erneut hinzu, um auf das lokale LAN-Gateway zu verweisen, und setze ihre Metrik (Gewichtung) auf 1000 als Sammelbegriff für den gesamten Verkehr, der nicht anderweitig geleitet wird.
5: Ohne "exit 0" gibt OpenVPN eine Fehlerwarnung aus, dass das Skript fehlgeschlagen ist (mit einem Exit-Status 1).
Hoffentlich ist dies für jemanden nützlich. Es funktioniert ziemlich gut für mich (keine Notwendigkeit, Routen- oder DNS-Anpassungen jedes Mal manuell vorzunehmen, wenn ich eine Verbindung öffne).
quelle
Zumindest gibt es dafür keinen einfachen Weg.
Sie können der Hosts-Datei (
C:\Windows\System32\drivers\etc\hosts
) Einträge hinzufügen . Diese Datei enthält Zuordnungen von Hostnamen zu IP-Adressen und wird DNS-Anforderungen vorgezogen.quelle
Können Sie den Status des Kontrollkästchens "Standard-Gateway im Remote-Netzwerk verwenden" aktivieren? Dies finden Sie, indem Sie die Eigenschaften Ihrer VPN-Verbindung öffnen und auf der Registerkarte Netzwerk die Option TCP / IP v4 oder TCP / IP V6 auswählen. Wählen Sie dann Eigenschaften aus und erweitern Sie sie. Dies kann aktiviert sein, was bedeuten kann, dass der gesamte Internetverkehr über die VPN-Verbindung geleitet wird. Es ist nicht immer möglich, dies zu deaktivieren und dennoch das zu tun, was Sie mit dem VPN möchten. Es kann jedoch deaktiviert werden und den Internetzugang beschleunigen.
Wenn dies nicht hilft, gibt es dort eine DNS-Registerkarte, und Sie können versuchen, Ihre DNS-Server dort hinzuzufügen. Ich habe dies versucht, aber ich würde erwarten, dass diese Einstellungen die automatischen Einstellungen überschreiben.
quelle
Leider kann netsh keine von dhcp zugewiesenen DNS-Server löschen. Dies kann jedoch durch Löschen des Parameters DhcpNameServer in erfolgen
Registrierungsschlüssel.
quelle
Ab 2017 ist dies nun möglich, wenn es auf OpenVPN basiert
Fügen Sie Ihrer Client-Konfigurationsdatei von eine Zeile hinzu
und es werden alle Push-Konfigurationszeilen ignoriert, die mit dem zitierten Text beginnen.
Die drei Aktionsschlüsselwörter sind
accept
ignore
reject
. Ich habe keinen Anwendungsfall für die Ablehnung gefunden.quelle
Ich entferne diese Option einfach aus der Client-VPN-Konfiguration
setenv opt block-out-dns
Das Problem wurde behoben
quelle