在Windows 10中,当连接到启用了拆分隧道(禁用网关)的VPN时,DNS解析始终使用LAN DNS服务器,而忽略VPN连接上设置的DNS服务器和DNS后缀。
预期的行为是使用VPN的DNS服务器,否则将无法解析远程网络(例如域计算机)上的DNS条目。
在以前的Windows版本中,此功能正常运行。
在此Microsoft Answers线程上对此进行了广泛讨论。
在Windows 10中,当连接到启用了拆分隧道(禁用网关)的VPN时,DNS解析始终使用LAN DNS服务器,而忽略VPN连接上设置的DNS服务器和DNS后缀。
预期的行为是使用VPN的DNS服务器,否则将无法解析远程网络(例如域计算机)上的DNS条目。
在以前的Windows版本中,此功能正常运行。
在此Microsoft Answers线程上对此进行了广泛讨论。
Answers:
我已通过手动将我的LAN连接的度量设置为高于(15)窗口分配给我的VPN(11)的方式来永久解决此问题。
这可以通过两种方式完成:
netsh int ip set interface interface="LAN CONNECTION NAME" metric=15
效果是立竿见影的(至少在使用命令行时),DNS查找现在按预期通过了我的VPN。
这适用于拆分隧道,是跨重新连接和重新启动的永久性修复。
请注意,您也可以更改VPN的度量标准而不是LAN连接,但这并不是永久的,因为Windows在建立连接时会重置该度量标准。
根据您的环境,您的LAN和VPN连接可能具有不同的默认指标。只需进行相应的调整,以使您的VPN指标低于局域网连接。
此外,如果您发现无法编辑VPN的TCP / IP属性(因为在Windows 10中也被破坏了),则可以通过Powershell设置大多数属性:
1. Get-VpnConnection
2. Set-VpnConnection -Name "myVPN" -SplitTunneling $True
3. Set-VpnConnection -Name "myVPN" -DnsSuffix yourdomain.local
1
,目前看来已经解决了该问题。FWIW,但是我不知道我的VPN连接的度量标准值,因为在VPN连接属性弹出窗口中没有“高级”按钮。
在我拥有的每台物理Win10机器上看到此问题后,我在VM中启动了Windows 10的全新安装以进行测试。我测试了该线程中的所有答案,但没有一个起作用。我发现解决方案是结合“ Keenans”和“ ECC-Dan”在此处发布的答案:
控制面板>网络和共享中心>更改适配器设置>右键单击您的以太网或Wifi适配器>属性>双击IPv4>高级>取消选中自动度量标准>输入15作为接口度量标准>确定>确定。
在同一“属性”页面上,双击“ IPv6”>“高级”>“取消选中自动度量标准”>输入15作为接口度量标准>“确定”>“确定”。
只有同时更改了这两个设置后,问题才能解决。我测试过将任何一个改回,然后又折断了。更改后,我从命令行运行了nslookup,它返回了VPN连接到的远程网络上的DNS服务器,否则它将返回本地DNS服务器。然后,我在以太网接口上使用Wireshark捕获,对随机网站进行了ping操作,并验证没有捕获到DNS数据包。这证明,进行更改后,仅通过VPN连接发送DNS查询,而不同时通过所有连接发送DNS查询(这称为Win10 DNS泄漏)。因此,这也是Win10 DNS泄漏解决方案的一部分:
https://medium.com/@ValdikSS/beware-of-windows-10-dns-resolver-and-dns-leaks-5bc5bfb4e3f1#.7ppsn1nda
请注意,要修复DNS泄漏,您首先需要执行上述步骤。然后,您需要设置两个注册表值。链接的文章仅列出了一个,仅靠它本身并不能解决Win10的较新版本中的问题。设置以下注册表值:
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
只有在完成所有这些操作之后,您的DNS客户端行为才能恢复到Win7中的状态。您必须想知道这是如何通过Microsoft的质量检查获得的。
当客户端通过UTP电缆连接且本地LAN支持IPv6协议时,即使我更改了IPv4和IPv6的指标并使用注册表Windows DisableSmartNameResolution和DisableParallelAandAAAA与当前的Windows 10 Edu(截至2018年12月),它也不起作用。客户端具有公共/全局IPv6地址)。
在用于VPN的UTP / LAN接口上禁用IPv6协议即可使其正常工作(在客户端上删除/不使用全局IPv6地址)就足够了。
当客户端通过Wi-Fi连接到Internet并且IPv6可用时(客户端具有全局IPv6地址并且没有UTP / LAN连接),它可以正常工作。