web-dev-qa-db-fra.com

La résolution DNS de Windows 10 via une connexion VPN ne fonctionne pas

Dans Windows 10, lorsqu'il est connecté à un réseau privé virtuel avec de Split Tunneling activé (passerelle désactivé), la résolution DNS utilise toujours les serveurs DNS du réseau local, en ignorant les serveurs DNS et le suffixe DNS situé sur la connexion VPN.

Le comportement attendu est d'utiliser les serveurs DNS du VPN, sinon il devient impossible de résoudre les entrées DNS sur le réseau distant (comme les ordinateurs de domaine).

Ce fonctionnait correctement dans la version précédente de Windows.

Cela a été largement discuté sur ce fil de réponses Microsoft .

46
ECC-Dan

J'ai résolu ce problème de façon permanente en définissant manuellement la métrique de ma connexion LAN sur une valeur supérieure (15) à celle attribuée par Windows à mon VPN (11).

Cela peut être fait de deux manières:

  • Via l'interface graphique: Connexions réseau, Propriétés, Propriétés TCP/IP v4, Avancé, Paramétrer la métrique sur 15;
  • Ligne de commande: netsh int ip set interface interface="LAN CONNECTION NAME" metric=15

L'effet est immédiat (au moins lors de l'utilisation de la ligne de commande)} et les recherches DNS passent désormais par mon VPN comme prévu.

Ceci fonctionne avec Split Tunneling et constitue un correctif permanent lors des reconnexions et des redémarrages.

Notez que vous pouvez également modifier la métrique du VPN au lieu de la connexion LAN, mais cela ne sera pas permanent car Windows réinitialisera la métrique une fois la connexion établie.

Selon votre environnement, vous pouvez avoir une métrique par défaut différente pour votre connexion LAN et VPN. Ajustez simplement en conséquence afin que votre VPN ait une métrique inférieure à votre connexion LAN.

De plus, si vous constatez que vous ne pouvez pas modifier les propriétés TCP/IP de votre VPN car qui était également endommagé dans Windows 10 , vous pouvez définir la plupart des propriétés via Powershell :

1. Get-VpnConnection
2. Set-VpnConnection -Name "myVPN" -SplitTunneling $True
3. Set-VpnConnection -Name "myVPN" -DnsSuffix yourdomain.local
49
ECC-Dan

J'ai lancé une nouvelle installation de Windows 10 dans une VM à tester après avoir constaté ce problème sur toutes les machines physiques Win10 que j'ai. J'ai testé toutes les réponses dans ce fil et aucune d'entre elles n'a fonctionné. J'ai découvert que la solution consiste à combiner les réponses postées ici par "Keenans" et "ECC-Dan":

http://answers.Microsoft.com/en-us/windows/forum/windows_10-networking/win-10-resolution-of-remote-network-via-vpn/513bdeea-0d18-462e-9ec3- a41129eec736? page = 1

Panneau de configuration> Centre réseau et partage> Modifier les paramètres de l'adaptateur> Cliquez avec le bouton droit de la souris sur votre adaptateur Ethernet ou Wifi> Propriétés> double-cliquez sur IPv4> Avancé> Désactivez l'option Indicateur automatique> Entrez 15 pour l'indicateur d'interface> OK> OK.

Sur cette même page de propriétés, double-cliquez sur IPv6> Avancé> Désélectionnez l'option Métrique automatique> Entrez 15 pour la métrique d'interface> OK> OK.

Le problème n'est résolu que lorsque les deux paramètres ont été modifiés. J'ai essayé de changer l'un ou l'autre en arrière et ça casse à nouveau. Après avoir modifié les deux, j'ai exécuté nslookup à partir de la ligne de commande et renvoyé le serveur DNS sur le réseau distant auquel le VPN est connecté. Sinon, le serveur DNS local serait renvoyé. J'ai ensuite utilisé la capture Wireshark sur l'interface Ethernet, effectué quelques pings sur des sites Web aléatoires et vérifié qu'aucun paquet DNS n'avait été capturé. Cela prouve qu'après avoir effectué les modifications, les requêtes DNS sont envoyées UNIQUEMENT par la connexion VPN et non simultanément par toutes les connexions (appelée fuite DNS Win10). Cela fait donc également partie de la solution à la fuite DNS Win10:

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

Notez que pour réparer la fuite DNS, vous devez d’abord suivre les étapes ci-dessus. Ensuite, vous devez définir deux valeurs de registre. Les articles liés n'en répertorient qu'un, ce qui en soi ne résout pas le problème dans les versions plus récentes de Win10. Définissez ces valeurs de registre:

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

Ce n’est qu’après avoir fait tout cela que votre comportement de client DNS sera redevenu comme dans Win7. Vous devez vous demander comment cela s'est passé grâce au contrôle qualité de Microsoft.

11
LikeARock47

Cela ne fonctionne pas même si j'ai modifié les métriques sur IPv4 et IPv6 et que j'ai utilisé le registre DisableSmartNameResolution et DisableParallelAandAAAA avec Windows 10 Edu actuel (à compter de décembre 2018) lorsque le client est connecté par un câble UTP et que le protocole IPv6 est pris en charge sur le réseau local (c.-à-d.). le client a une adresse IPv6 publique/globale).

Il suffit de désactiver le protocole IPv6 sur l'interface UTP/LAN utilisée pour le VPN pour que cela fonctionne (pour supprimer/not_use l'adresse IPv6 globale sur le client).

Cela fonctionne sans problème lorsque le client est connecté à Internet par Wi-Fi et que IPv6 est disponible (le client a une adresse IPv6 globale et n'a pas de connexion UTP/LAN).

1
Milan Kerslager