Je ne pense pas qu'il existe un moyen de l' empêcher de se produire, en dehors de l'attribution statique des serveurs DNS sur la connexion VPN.
Pour modifier l'ordre dans lequel les serveurs DNS sont interrogés, on est censé être en mesure de modifier l'ordre de liaison de l'interface selon /superuser//a/314379/120267 , mais cela ne semble pas affecter les connexions VPN dans mes tests personnels sur Windows 7; J'ai confirmé que ma connexion VPN est toujours ajoutée en haut de la HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Linkage\Bind
liste, quels que soient les paramètres de l'ordre de liaison de l'interface.
Cependant, vous pouvez réinitialiser les modifications DNS une fois la connexion VPN établie.
Collecte d'informations
Ouvrez une invite de commande ( Start
-> Run...
-> cmd
) puis exécutez netsh interface ipv4 show dnsservers
. Vous verrez une sortie similaire à la suivante:
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
...
Vous avez besoin du nom d'interface pour le VPN, et éventuellement du premier serveur DNS de votre connexion non VPN . Dans cet exemple, ce sont respectivement Mon VPN et 192.168.0.1 .
Tout configurer
Option 1: désactiver le DNS VPN
En supposant que vous n'avez pas du tout besoin des serveurs DNS de votre VPN, vous pouvez simplement exécuter ce qui suit dans l'invite de commande:
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
Si vous réexécutez netsh interface ipv4 show dnsservers
, vous verrez que les serveurs DNS associés au VPN ont été supprimés; les serveurs DNS de votre connexion non VPN seront utilisés pour résoudre les noms d'hôte.
Option 2: supplément VPN DNS
Si vous avez besoin des serveurs DNS de votre VPN pour résoudre les noms d'hôte intranet, vous pouvez exécuter ce qui suit dans l'invite de commande:
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
Dans ce cas, netsh interface ipv4 show dnsservers
indique que le premier serveur DNS de votre connexion non VPN a été ajouté en haut de la liste des serveurs DNS de votre VPN. Il sera utilisé pour résoudre les noms d'hôte en premier, et en cas d'échec, retomber sur l'utilisation des serveurs DNS habituels de votre VPN.
J'avais un problème similaire; la connexion à un serveur VPN remplacerait le DNS de mon poste de travail (client VPN distant) afin que le DNS du LAN local soit masqué. J'ai décrit le problème plus en détail du côté de Stackoverflow avant de me faire remarquer que j'aurais dû le publier ici à la place.
Après avoir lu ce fil, il est évident que le remplacement ne peut pas être empêché à l'aide de la configuration du client OpenVPN. Ma solution a été d'ajouter un fichier batch dans le répertoire de configuration OpenVPN qui s'exécute lorsque la connexion OpenVPN est établie. Si le fichier OVPN est appelé company.ovpn, le fichier exécuté sur connect doit être nommé company_up.bat.
J'ai augmenté le fichier depuis la version que j'ai publiée dans ma question dans StackOverflow plus tôt ce soir. Maintenant, cela ressemble à ceci:
1: Un hack pour attendre quelques secondes avant de continuer. La dernière version (2.3) du client OpenVPN ignorerait le DNS et routerait les modifications si elle était exécutée sans délai.
2: définissez le DNS de la connexion VPN pour pointer vers l'hôte local. J'ai un résolveur (j'utilise SimpleDNS Plus ) en cours d'exécution sur l'hôte local qui transmet les requêtes au domaine de l'entreprise au serveur DNS de l'entreprise via le VPN, et tout le reste au serveur DNS LAN local. Notez que je ne pouvais pas utiliser un résolveur LAN local pour transmettre les requêtes du domaine de l'entreprise au DNS de l'entreprise via le VPN, car le point de terminaison VPN est sur l'hôte local. Le nom de la connexion ("Connexion au réseau local 4") a été déterminé à l'invite de commande via "ipconfig / all".
3: Le serveur VPN de l'entreprise est configuré pour acheminer tout le trafic sortant via le VPN tout en restreignant les connexions SSH sortantes (vers Internet). Cela entrait en conflit avec mon flux de travail, et je supprime d'abord la route "0.0.0.0 netmask 0.0.0.0" ...
4: .. puis j'ajoute à nouveau la route 0.0.0.0/0 pour pointer vers la passerelle LAN locale, et définit sa métrique (poids) à 1000 comme fourre-tout pour tout le trafic qui n'est pas acheminé autrement.
5: Sans "exit 0" OpenVPN crache un avertissement d'erreur du script a échoué (avec un état de sortie 1).
J'espère que cela est utile pour quelqu'un .. cela fonctionne assez bien pour moi (pas besoin de faire des ajustements de route ou DNS manuellement chaque fois que j'ouvre une connexion).
la source
Au moins, il n'y a pas de moyen facile de le faire.
Vous pouvez ajouter des entrées au fichier hosts (
C:\Windows\System32\drivers\etc\hosts
). Ce fichier contient des mappages des noms d'hôte aux adresses IP et est préféré aux requêtes DNS.la source
Pouvez-vous vérifier l'état de la case à cocher «Utiliser la passerelle par défaut sur le réseau distant». Cela se trouve en ouvrant les propriétés de votre connexion VPN et accédez à l'onglet Réseau et sélectionnez TCP / IP v4 ou TCP / IP V6, puis sélectionnez les propriétés, puis avancé. Cela peut être activé, ce qui pourrait signifier que tout le trafic Internet est acheminé via la connexion VPN.Il n'est pas toujours possible de le désactiver et de toujours faire ce que vous voulez avec le VPN, mais il peut être désactivé, cela pourrait accélérer l'accès à Internet.
Si cela n'aide pas, il y a un onglet DNS et vous pouvez essayer d'y ajouter vos serveurs DNS. J'ai essayé cela, mais je m'attendrais à ce que ces paramètres remplacent les paramètres automatiques.
la source
Malheureusement, netsh ne peut pas supprimer les serveurs DNS attribués par DHCP. Mais cela peut être fait en effaçant le paramètre DhcpNameServer dans
clé d'enregistrement.
la source
À partir de 2017, cela est désormais possible s'il est basé sur OpenVPN
Ajoutez une ligne à votre fichier de configuration client de
et il ignorera toutes les lignes de configuration poussées qui commencent par le texte cité.
Les trois mots-clés d'action sont
accept
ignore
reject
. Je n'ai pas découvert de cas d'utilisation pour le rejet.la source
Je supprime simplement cette option de la configuration VPN client
setenv opt block-outside-dns
Il a résolu le problème
la source