如何修复 Windows 上的 VPN DNS 泄漏
为什么 Windows 会把 DNS 查询发到 VPN 之外,如何用系统自带工具确认泄漏,以及对大多数电脑有效的修复顺序。
阅读约 10 分钟更新于 2026年10月15日作者:XPASS Editorial Team

Windows 上的 DNS 泄漏,指的是 VPN 明明显示已连接,你查询网站域名的请求却跑到了隧道之外。访问网站本身的流量受到保护,但“这个网站在哪里?”这个问题却被发给了网络服务商的解析器,或者咖啡馆的路由器。本文专门讲 Windows 上特有的原因,以及对 Windows VPN DNS 泄漏最常奏效的修复顺序。如果你想先了解 DNS 的基本概念以及泄漏为什么重要,可以先读什么是 DNS 泄漏和DNS 是如何工作的;这里我们只讲在 Windows 10 和 11 上怎么动手。
为什么 Windows 特别容易出现 DNS 泄漏
很多系统同一时间只有一块活动的网络接口,而一台典型的 Windows 电脑有好几块。Wi-Fi、扩展坞的以太网口、蓝牙网络、Hyper-V 或 Windows Subsystem for Linux 创建的虚拟交换机,以及 VPN 自己的虚拟网卡,都可能同时存在,而且各有一份 DNS 服务器列表。
Windows 给每块网卡设定一个接口跃点数(interface metric),数值决定优先级。VPN 连接时,通常会降低自己的跃点数,让它的 DNS 服务器被优先查询。问题会以几种可以预见的方式出现。
- 并行查询。 Windows 8 及以后引入了智能多宿主名称解析,它可能把查询同时发给多块网卡的 DNS 服务器,然后采用最快的那个答复。这在笔记本上很方便,对隐私却不利,因为物理网卡的解析器也听到了这个问题。
- 顽固的网卡。 物理 Wi-Fi 网卡保留着路由器分发的 DNS 服务器,而 VPN 网卡并没有覆盖每一次查询。
- IPv6 解析器。 路由器可能通告一个 VPN 没有覆盖的 IPv6 DNS 服务器,于是某些查询在不知不觉中走了那条路。
- 浏览器自作主张。 有些浏览器会通过自己的加密通道解析域名,完全绕过系统设置。
- 虚拟机和容器。 凡是新建网卡的东西,都会给查询增加一条可能的路径。
所以泄漏通常是多块网卡之间配置不一致造成的,而不是隧道本身的缺陷。这是个好消息,因为配置是可以修的。

先确认泄漏,再动手修改
修复一个没有确认过的泄漏,是很多人把网络搞坏的原因。花几分钟收集证据。
- 在关闭 VPN 的情况下,记录你正常使用的解析器。 打开 PowerShell,运行
Get-DnsClientServerAddress -AddressFamily IPv4。输出会列出每块网卡及其 DNS 服务器。记下 Wi-Fi 或以太网对应的地址,它们通常是路由器地址或网络服务商的解析器。 - 连接 VPN,再运行同一条命令。 看 VPN 网卡那一项。它列出的 DNS 服务器应当与物理网卡不同。
- 运行
nslookup example.com。 前两行显示是哪台服务器作答(“Server”和“Address”)。如果这个地址与第 1 步记下的相同,说明查询正在发往物理网卡的解析器。 - 在浏览器里使用 DNS 泄漏测试页面。 这类页面会让你的浏览器请求一些随机名称,然后报告是哪些解析器代为查询的。在 VPN 开启时运行标准测试,把列表与第 1 步的地址对比。
- 合理解读结果。 如果只看到与 VPN 相关的解析器,没有泄漏。如果看到网络服务商或路由器的解析器,就有泄漏。如果看到你认得的公共解析器,因为那是你自己配置的,那是你自己的设置,而不是 VPN 的问题。
如果想要一套更完整、同时涵盖 WebRTC 和断网保护的测试流程,请看如何测试 VPN。
把症状对应到可能的原因
| 看到的现象 | 可能的原因 | 该查哪里 |
|---|---|---|
| 每次测试都出现路由器或服务商的解析器 | 物理网卡的 DNS 占了上风 | 网卡 DNS 设置和接口跃点数 |
| 只在部分查询中出现服务商解析器 | 并行查询 | 智能多宿主名称解析 |
| 只在有 IPv6 的网络上泄漏 | 路由器通告了 IPv6 DNS 服务器 | 下文的 IPv6 部分 |
| 关闭浏览器后泄漏消失 | 浏览器有自己的安全 DNS | 浏览器设置 |
| 安装虚拟机后开始泄漏 | 新的虚拟网卡改变了优先级 | 接口跃点数和网卡列表 |
| 测试出现一个你从没选过的公共解析器 | 其他程序改了 DNS | 已安装的应用、路由器、安全软件 |
| 只在开机后几分钟内泄漏 | 查询发生在隧道建立之前 | 延迟启动项,使用断网保护 |
顺着表格往下处理,不要一次把所有办法都试一遍。每一行指向一种修复,后面的部分会分别说明。
修复一:看看每块网卡各自说了什么,先改明显的问题
从最简单的问题开始:Windows 现在在问哪块网卡?
- 在 PowerShell 里运行
Get-NetIPInterface | Sort-Object InterfaceMetric。跃点数最低的接口优先。VPN 已连接时,它的网卡应排在靠前的位置。 - 运行
ipconfig /all,读每块网卡的 DNS 服务器那一行,记下都有哪些。 - 如果 VPN 网卡的跃点数比 Wi-Fi 高,有些应用可能会先问 Wi-Fi 的解析器。你可以用
Set-NetIPInterface -InterfaceAlias "Wi-Fi" -InterfaceMetric 50手动设置跃点数,然后重新连接 VPN。这个值只是优先级数字,选一个比 VPN 网卡更高的,并记下原来的值以便撤销。 - 不要随便把物理网卡的 DNS 服务器设成别的地址。如果 VPN 应用写明了希望你使用的 DNS 地址,就用那个。否则,让 VPN 提供自己的 DNS,并用
Set-DnsClientServerAddress -InterfaceAlias "Wi-Fi" -ResetServerAddresses把物理网卡恢复为自动获取。
目标不是找到什么巧妙的设置,而是消除歧义:只有一块网卡被明确标为首选,并且在它上面能看到 VPN 的解析器。每次修改后,重新连接 VPN 再测一遍。
修复二:证据指向并行查询时,关闭它
如果泄漏时有时无,路由器的解析器在一些测试里出现、在另一些里没出现,那么智能多宿主名称解析就是嫌疑对象。它的行为在不同 Windows 版本之间有变化,所以在相信任何文章(包括本文)里的步骤之前,请先对照微软针对你所用版本的文档。
在 Windows 专业版、企业版和教育版中,这项策略位于组策略编辑器(gpedit.msc)里的“计算机配置 > 管理模板 > 网络 > DNS 客户端”,名称为“关闭智能多宿主名称解析”。设为“已启用”后,Windows 不再把查询同时发往所有网卡。Windows 家庭版没有这个编辑器,同样的效果由一个注册表值控制,而你不应该凭记忆去改它。
实用建议:
- 在修改任何内容之前先创建还原点。
- 一次只改一处,重启,重新测试。
- 如果结果没有变化,就改回来。没有帮助的策略只会增加混乱。
- 在受管理的工作电脑上不要动它。DNS 策略属于 IT 团队,改动可能违反公司规定。
修复三:堵住 IPv6 的缺口
很多家用路由器会同时分发 IPv4 和 IPv6 设置。如果路由器通告了 IPv6 的 DNS 服务器,而 VPN 并不承载 IPv6,Windows 可能在某些查询中选用那个解析器。什么是 IP 泄漏介绍了更大范围的 IPv4 与 IPv6 情况,IPv6 规范 RFC 8200 则是地址结构的参考。
检查方法:在 VPN 连接时运行 Get-DnsClientServerAddress -AddressFamily IPv6。如果物理网卡有 IPv6 的 DNS 服务器,而 VPN 网卡没有,那就是泄漏路径。按优先顺序,可以这样做:
- 先在 VPN 应用里找有没有 IPv6 泄漏保护的选项。
- 只在物理网卡上关闭 IPv6 做测试。在网卡的属性里,取消勾选“Internet 协议版本 6 (TCP/IPv6)”,再测试。微软不建议在系统范围内关闭 IPv6,所以把改动限制在一块网卡上,并知道如何恢复。
- 如果这样修好了泄漏,你就找到了原因。再决定是保留这个设置,还是等待能处理 IPv6 的应用更新。
修复四:理清 Windows 11 和浏览器里的加密 DNS
Windows 11 支持 DNS over HTTPS,这是一种加密发送查询的方式(见 RFC 8484)。设置位置是“设置 > 网络和 Internet > 所用连接的硬件属性 > DNS 服务器分配”。浏览器在隐私设置里也有类似的安全 DNS 选项。
加密 DNS 和 VPN 做的是不同的事。加密 DNS 向你与解析器之间的网络隐藏查询内容,但你选择的解析器仍然能看到每一个域名;VPN 则把你的流量放进隧道,送到另一方的网络。两者混用时,要清楚查询最终到了哪里。如果浏览器的安全 DNS 指向某个公共解析器,它的查询可能完全绕开 VPN 的解析器,泄漏测试就会显示出那个解析器。
有两种做法可行:
- 在 VPN 开启时,把浏览器的安全 DNS 设为“使用系统设置”,让查询跟着隧道走。
- 有意保留加密 DNS,理解你选的解析器会看到域名,并把它视为你自己的决定,而不是泄漏。
DNS over HTTPS 与 VPN 的比较对这些取舍有更详细的说明。

清缓存、重连、再测试
DNS 的答复是有缓存的,所以修改之后看起来没有效果,可能只是旧答复还存着。
- 断开 VPN。
- 在管理员权限的命令提示符里运行
ipconfig /flushdns。 - 关闭并重新打开浏览器。
- 再次连接 VPN,等到显示已连接。
- 运行
nslookup example.com和泄漏测试页面。 - 用一份简短的笔记记录结果:日期、网络、改了什么、测试显示了什么。
在每一个对你重要的网络上重复。在家里 Wi-Fi 上有效的修复,在酒店网络上不一定有效,因为后者分发的是另一套 DNS 设置。
两个实际例子
装了虚拟机的笔记本。 小梅用笔记本办公,并通过 Windows Subsystem for Linux 运行 Linux 环境。安装之后,她的泄漏测试开始显示路由器的解析器。网卡列表里出现了一块新的虚拟网卡,跃点数比 VPN 网卡更低。她调高了虚拟网卡的跃点数,重新连接,清了缓存,测试通过。她把这次改动记在笔记里,以防 Windows 更新把它重置。
住在共享网络里的学生。 阿俊宿舍的网络同时分发 IPv4 和 IPv6 设置。他的测试只在部分查询中看到宿舍的解析器。结果发现原因出在 IPv6 查询:宿舍路由器通告了一个 VPN 没有覆盖的 IPv6 DNS 地址。只在物理网卡上关闭 IPv6 就解决了。他保留了这个设置并做了记录,因为他知道这个改动很容易撤销。
局限与注意事项
一次干净的测试并不能证明任何永久性的结论。网络变化、Windows 更新运行、安装软件的时候,DNS 设置都会改变。这些事情之后请重新测试。
同样要弄清楚你在保护什么。修复 DNS 泄漏,能让本地网络看不到你查询了哪些域名;但它不会对 VPN 提供方或网站本身隐藏你访问了哪些网站,不能阻止钓鱼,也不会让你变成匿名。VPN 无法保护你的哪些方面是一份有用的现实检验。如果按这里的步骤做完,泄漏仍反复出现,请带上你的笔记向 VPN 的支持团队求助,而不是继续叠加注册表修改。如果需要干净地重装,下载页提供官方应用的安装包链接。
总结
修复 Windows 上的 VPN DNS 泄漏,先用命令行检查和测试页面证明泄漏确实存在,然后顺着原因逐个排查:网卡顺序与接口跃点数、并行查询、IPv6 解析器和浏览器的安全 DNS。一次只改一处,清缓存,重连再测试,并记录所做的事以便撤销。把 Windows 更新和新装的网络软件,都当作需要重新测试的理由。
如果你想要一份通行证来试着照做,可以随时看看价格页上的选项。
常见问题
为什么 Windows 比其他系统更容易出现 DNS 泄漏?
Windows 电脑通常同时有多块网卡,比如 Wi-Fi、以太网、虚拟交换机和 VPN 网卡。Windows 可能把一次查询发给不止一块网卡的 DNS 服务器,所以即使隧道已经建立,查询也可能到达网络服务商的解析器。
测试结果显示的是 VPN 提供方的解析器,算泄漏吗?
不算。看到由 VPN 运营或指定的解析器,是预期的结果。只有当 VPN 已连接,而测试显示的是网络服务商或路由器的解析器时,才算泄漏。
应该关闭智能多宿主名称解析吗?
只有在测试表明并行查询是原因时才关。这是一项会改变 Windows 向各网卡查询方式的策略设置,需要管理员权限,具体行为也取决于你的 Windows 版本。改之前先备份,并做好撤销的准备。
Windows 11 的加密 DNS 能代替修复泄漏吗?
不能。加密 DNS 能向网络隐藏查询内容,但你选择的解析器仍能看到所有域名,而且它并不能告诉 Windows 该用哪块网卡。应先修好路由,再决定是否同时使用加密 DNS。
多久需要重新检查一次 DNS 泄漏?
大版本 Windows 更新之后、安装或卸载虚拟机等网络软件之后,以及换到新网络时,都应重新检查。一次快速测试大约一分钟。
参考资料
关于作者

Bob Kanokphon Thongdee
- XPASS VPN 创始人
- eSIMonline.asia 联合创始人
- 7 年以上网络营销经验
- Cojourney Visa 与 Cojourney Travel 创始人
继续阅读

VPN 安全
什么是 IP 泄漏?IPv4 与 IPv6 泄漏详解
VPN 已连接,网站却可能仍然看到你的真实 IP 地址。本文说明 IPv4 与 IPv6 泄漏是怎么发生的、如何测试,以及该怎么处理。
阅读约 9 分钟

VPN 安全
DNS over HTTPS 与 VPN 有何不同?需要两者一起用吗
DoH 与 DoT 让本地网络看不到你的 DNS 查询,VPN 则包住你的全部流量。了解各自覆盖什么、Android 私人 DNS 如何配合,以及何时需要两者并用。
阅读约 9 分钟


