ECC*_*Dan 64 dns vpn windows-10
在 Windows 10 中,当连接到启用了拆分隧道(禁用网关)的 VPN 时,DNS 解析始终使用 LAN DNS 服务器,而忽略 VPN 连接上设置的 DNS 服务器和 DNS 后缀。
预期行为是使用 VPN 的 DNS 服务器,否则将无法解析远程网络(例如域计算机)上的 DNS 条目。
这在以前版本的 Windows 中工作正常。
这在微软的回答线程上得到了广泛的讨论。
ECC*_*Dan 70
我通过手动将 LAN 连接的指标设置为高于 (15) 比分配给我的 VPN 的一个窗口 (11) 来永久解决此问题。
这可以通过两种方式完成:
netsh int ip set interface interface="LAN CONNECTION NAME" metric=15效果是立竿见影的(至少在使用命令行时)并且 DNS 查找现在按预期通过我的 VPN。
这适用于拆分隧道,并且是跨重新连接和重新启动的永久修复。
请注意,您还可以更改 VPN 的指标而不是 LAN 连接,但这不会是永久性的,因为 Windows 在建立连接时会重置指标。
根据您的环境,您的 LAN 和 VPN 连接可能有不同的默认指标。只需进行相应调整,使您的 VPN 的指标低于 LAN 连接的指标。
此外,如果您发现无法编辑 VPN 的 TCP/IP 属性,因为这在 Windows 10 中也已损坏,您可以通过 Powershell 设置大多数属性:
1. Get-VpnConnection
2. Set-VpnConnection -Name "myVPN" -SplitTunneling $True
3. Set-VpnConnection -Name "myVPN" -DnsSuffix yourdomain.local
Run Code Online (Sandbox Code Playgroud)
Lik*_*k47 16
在我拥有的每台物理 Win10 机器上看到此问题后,我在 VM 中重新安装了 Windows 10 以进行测试。我测试了这个线程中的所有答案,但没有一个有效。我发现解决方案是结合“Keenans”和“ECC-Dan”在此处发布的答案:
控制面板 > 网络和共享中心 > 更改适配器设置 > 右键单击您的以太网或 Wifi 适配器 > 属性 > 双击 IPv4 > 高级 > 取消选中自动度量 > 为接口度量输入 15 > 确定 > 确定。
在同一个“属性”页面上,双击 IPv6 > 高级 > 取消选中自动度量 > 为接口度量输入 15 > 确定 > 确定。
只有在更改这两个设置后才能解决问题。我测试了换回任何一个,它又坏了。更改两者后,我从命令行运行 nslookup 并返回 VPN 连接到的远程网络上的 DNS 服务器,否则它将返回本地 DNS 服务器。然后我在以太网接口上使用 Wireshark 捕获,对随机网站进行了一些 ping,并验证没有捕获到 DNS 数据包。这证明进行更改后,DNS 查询仅通过 VPN 连接发送,而不是同时通过所有连接发送(这称为 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
Run Code Online (Sandbox Code Playgroud)
只有在完成所有这些之后,您的 DNS 客户端行为才会恢复到它在 Win7 中的方式。您一定想知道这是如何通过 Microsoft 的 QA 的。
小智 5
其它的办法:
Get-NetIPInterface | select ifindex,*int*
ifIndex InterfaceAlias InterfaceIndex InterfaceMetric
------- -------------- -------------- ---------------
26 vEthernet (Default Switch) 26 5000
11 VPN - VPN Client 11 1
7 Ethernet 7 25
1 Loopback Pseudo-Interface 1 1 75
Run Code Online (Sandbox Code Playgroud)
将 VPN“interfaceMetric”从 1 更改为 30
Get-NetIPInterface -InterfaceIndex 11 | Set-NetIPInterface -InterfaceMetric 30
Run Code Online (Sandbox Code Playgroud)
Get-NetIPInterface | select ifindex,*int*
ifIndex InterfaceAlias InterfaceIndex InterfaceMetric
------- -------------- -------------- ---------------
26 vEthernet (Default Switch) 26 5000
11 VPN - VPN Client 11 30
7 Ethernet 7 25
1 Loopback Pseudo-Interface 1 1 75
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
158464 次 |
| 最近记录: |