据我所知,几年前 Windows 10 就存在 DNS 泄漏问题。开发了一个插件:ValdikSS/openvpn-fix-dns-leak-plugin,但它应该从 v. 2.3.9 开始被纳入 OpenVPN。我目前使用的是 OpenVPN 2.4.8。我还将其添加到客户端 OpenVPN 配置文件中:
dhcp-option DNS 209.222.18.222
register-dns
block-outside-dns
我已经审查过: PIA 论坛
在向 PIA 发送了大约 10 轮电子邮件支持后,我毫无进展。有人对如何使用 PIA(私人互联网接入)防止 DNS 泄漏有其他想法或见解吗?我不确定这是否特定于 PIA 还是仅适用于 Windows 10。
答案1
我遇到了同样的问题,这解决了我在 Windows 10 中的问题:
简而言之,编辑本地组策略并关闭智能多宿主名称解析。
请注意,组策略编辑器仅在 Windows 10 专业版中可用。Windows 10 家庭版用户可能需要查看 Policy Plus 或其他将策略编辑引入 Windows 10 家庭版的方法。
- Do the following to open the Group Policy Editor in Windows: Tap on the Windows-key on the keyboard, type gpedit.msc, and hit the Enter-key on the keyboard.
- Go to Computer Configuration > Administrative Templates > Network > DNS Client > Turn off smart multi-homed name resolution.
- Set the policy to enabled, to disable the smart multi-homed name resolution feature of the system.
原始解决方案在这里找到:
https://www.ghacks.net/2017/08/14/turn-off-smart-multi-homed-name-resolution-in-windows/
更新此解决方案仅在短时间内有效,因此我发现有必要在组策略编辑器中调整一些其他设置。使您的看起来像我的,您的 DNS 问题就结束了: 组策略截图
答案2
更新:过了一会儿,这个答案停止工作,DNS请求再次开始泄漏。我尝试启用其他答案,但即使启用全部 4 个,仍存在 DNS 泄漏。
总结
*组策略编辑器仅在 Windows 10 Pro 中可用。其他用户,请参阅有关如何访问此功能的其他答案。
- 按 Win+R 并写入管理控制台
- 扩张管理模板
- 扩张网络
- 点击DNS 客户端
- 双击“关闭智能多宿主名称解析”
- 选择选项“已启用“
- 点击“确定”
- 双击“主 DNS 后缀”
- 选择选项“已启用“
- 点击“确定”
详细解释
截图由用户1125497在他们的答案中显示了四个已启用的策略,但你只需要这两个(他们的其他两个截屏说明中说,如果启用了“关闭智能多宿主名称解析”,它们不会执行任何操作)
互联网上很多地方都说,如果您遇到 DNS 泄漏问题,请启用“关闭智能多宿主名称解析”,但这并不能完全解决问题(此设置的作用是阻止 Windows 始终向所有可用网络发送 DNS 请求)。即使启用了此功能,如果从主适配器获取 DNS 响应有延迟,Windows 似乎仍会向其他网络适配器发送 DNS 请求(请参阅这里)。
我不确定启用“主 DNS 后缀”有什么作用,但我可以确认,它与“关闭智能多宿主名称解析”结合使用,做似乎可以防止 DNS 泄漏。