如何正确进行 VPN 的 DNS 泄漏测试
泄漏测试要先取基线、再正确读结果才有价值。本文讲前后对比、重复测试的时机,以及输出结果到底意味着什么。
阅读约 10 分钟更新于 2026年10月15日作者:XPASS Editorial Team

DNS 泄漏测试看起来很简单:打开一个网页,点一下按钮,读一串地址。实际上,很多人只测一次,看到一个看着没事或者看着吓人的结果,就放心或慌张,却不知道输出究竟意味着什么。测试页面本身只是一面镜子,你怎么布置实验,决定了镜子里的影像有没有用。
本文讲的是方法,不是定义。如果你需要先了解什么是 DNS 泄漏、为什么重要,请先阅读 什么是 DNS 泄漏。这里假设你已经理解概念,想把测试做对:先记录基线,在泄漏真正会发生的条件下测试,正确解读结果,并知道下一步该做什么。
DNS 泄漏测试到底在测什么
每次你打开一个网站,设备都会先请求 DNS 解析器把名称翻译成地址。没有 VPN 时,这个问题会发给网络分配给你的解析器,通常由宽带运营商运营,也就是说它能看到你查询了哪些名称。有了 VPN,这些查询应当在隧道内传输,交给 VPN 服务选定的解析器。泄漏就是部分查询仍然走老路出去了。
泄漏测试会诱使你的设备查询大量只有测试服务器认识的唯一名称。服务器记录每个查询是由哪个解析器送来的,然后把清单展示给你。所以页面并不是在看你的 VPN,而是在看是谁把问题递过来的。这就是解读很重要的原因:清单回答的是“谁替我的设备提了问”,而你得先知道自己期待的是谁。
有两个事实帮助你读懂它。
- 清单里的地址是解析器,不是你。 它告诉你是哪台服务器在提问。
- 解析器归谁所有才是关键。 属于宽带运营商或家用路由器的地址是警示信号;属于 VPN 服务或你自己选的公共解析器的地址,是预期的结果。
关于解析过程的通俗说明,请看 DNS 是如何工作的,正式细节可参阅 RFC 1035 规范。

第 1 步:连接之前先记录基线
大多数失败的测试在第一步就错了,因为人们从来没见过自己的网络“正常”是什么样子。
- 彻底断开 VPN,而不是仅仅暂停。
- 关闭多余的浏览器窗口和其他会发出网络请求的应用。
- 打开泄漏测试页面,运行标准测试,如有扩展测试再运行扩展测试。
- 记下解析器、归属方和显示的国家。
- 记下可见的公网 IP 地址。
你的基线可能显示宽带运营商的解析器、路由器的地址,或你此前自己设置的公共解析器。这就是你的参照清单。凡是出现在其中的东西,不应再出现在下一次测试里,除非你有意保留。
对你使用的每个网络都要保留一份基线。家里的结果和咖啡馆的结果不同,而 VPN 应该把两者都隐藏起来。
第 2 步:连接后在干净状态下测试
现在连接 VPN,并在以下控制条件下测试。
- 等应用明确显示已连接。
- 打开一个新的隐私浏览窗口。旧标签页可能缓存了查询结果。
- 访问测试页面,先运行标准测试,再运行扩展测试。
- 记录新的解析器和归属方清单。
- 与基线比较。
可以用下表解读结果。
| 你看到的 | 可能的含义 | 该怎么做 |
|---|---|---|
| 只有 VPN 服务的解析器 | 隧道承载了 DNS | 此场景下通过 |
| 你在 VPN 应用中选择的公共解析器 | 应用使用了你设置的解析器 | 如符合你的本意则通过 |
| 与你的基线相同的解析器 | DNS 走了隧道之外 | 视为泄漏 |
| 两组混合出现 | 部分查询绕过了隧道 | 视为泄漏并继续排查 |
| 浏览器自己选的解析器 | 浏览器有自己的 DNS | 检查浏览器 DNS 设置 |
| 什么都没有或报错 | 测试被阻止或页面失败 | 换个网络重试 |
单次结果只是一个数据点。接下来的步骤会告诉你它是否站得住。
第 3 步:在泄漏真正出现的场合测试
DNS 泄漏很少一直存在,它们往往发生在状态切换时,也就是软件正在决定把流量送往何处的时候。请在下面这些情形里重复同样的测试。
- 切换服务器之后。 在应用里更换位置,等待新连接建立,然后重测。
- 切换网络之后。 从 Wi-Fi 换到移动数据,或在两个 Wi-Fi 之间切换,再测一次。
- 休眠或睡眠唤醒之后。 合上笔记本盖子再打开,网络一恢复就马上测试,一分钟后再测一次。
- 短暂断线之后。 把 Wi-Fi 关了再开,等 VPN 重新连上后测试。
- 开启与关闭 IPv6 时。 有些网络同时给设备 IPv4 和 IPv6,DNS 查询可能走了 VPN 没覆盖的那一个。参见 IPv6 泄漏说明 了解如何区分。
- 开启与关闭浏览器的安全 DNS 时。 浏览器可以使用自带的加密 DNS 而忽略系统解析器。DNS over HTTPS 与 VPN 一文说明了两者如何相互作用。
- 开启分流时。 被你排除在隧道之外的应用也会使用外部 DNS。这是预期的,但要测试确认它只发生在你选定的应用上。
如果泄漏只在其中一种情形出现,你就已经知道该修什么了。
第 4 步:不要只看网页
测试页面测的是浏览器的查询。其他软件的行为可能不同,所以最好用命令行或第二个应用交叉检查。
- 查询一个名称,看谁回答。
nslookup或dig这类工具会显示是哪台服务器回答的。对一个你控制的域名下编造的子域名或一个已知名称运行,并查看“Server”一行。 - 检查已配置的 DNS。 在系统网络设置里,看 VPN 适配器使用哪些解析器地址。在 Windows 上,
ipconfig /all会列出它们;在 macOS 上,scutil --dns显示解析器顺序;在 Linux 上,检查系统的解析器配置。各平台指南 Windows 上的 DNS 泄漏 和 Mac 上的 DNS 泄漏 有详细说明。 - 如果熟悉,可以抓包。 在网络接口上抓包,过滤 53 端口的 DNS,就能看出明文查询是否在隧道之外离开了这台机器。这是最直接的证据,但需要一定技能。
- 用第二台设备。 如果可以,用同一个账号在手机和笔记本上各测一次。如果只有一台泄漏,原因在那台设备上的应用或操作系统设置。
我们对 如何测试 VPN 的概述把 DNS 测试与 IP、kill switch 和速度检查放在一起,而侧重浏览器的 浏览器泄漏测试 指南则说明了这类页面能看到什么、看不到什么。
区分虚惊与虚假的安心
不是每个意外都是泄漏,也不是每个干净的结果都真的干净。
虚惊
- 测试显示的解析器所在国家与你预期不同。大型解析器运营方使用许多地点,测试可能显示的是恰好回答的那个。
- 测试显示同一运营方的多个地址。这是正常的负载分散。
- 解析器属于你在 VPN 应用里配置的公共服务。那是你的选择,不是泄漏。
- 企业或学校的 VPN 有意使用机构的解析器。请查看你所在网络的政策。
虚假的安心
- 页面只显示 VPN 的解析器,但你只在稳定状态下测了一次,从未重复。
- IP 地址看上去正确,这说明的是流量,而不是 DNS。
- 浏览器的安全 DNS 把泄漏对网页隐藏了,但没有对其他应用隐藏。
- 缓存的查询导致测试根本不需要提出新问题。
请记住,干净的结果只证明测试那一刻的行为,并不保证接下来的一个小时。

三个实际例子
休眠后泄漏的笔记本。 小米在书桌前测试,只看到 VPN 的解析器。后来她合上盖子,在咖啡馆重新打开,立刻再测。结果里有大约三十秒出现了咖啡馆的解析器,随后自行纠正。她明白了笔记本在 VPN 重新连上之前就已经在回应 DNS。她启用了应用的自动保护设置,并在状态显示已连接前避免打开新标签页。
带有自己 DNS 的浏览器。 约纳斯运行测试,看到一个不认识的公共解析器。VPN 应用已开启,系统 DNS 也正确。检查后他发现浏览器的安全 DNS 选项指向了一个公共解析器。他决定让查询跟随 VPN,于是把浏览器设为使用系统解析器。下一次测试只显示 VPN 的解析器。
IPv6 绕路。 爱子家的网络除了 IPv4 还提供 IPv6。她的基线在两者上都显示宽带运营商的解析器。开着 VPN 时,IPv4 的清单是干净的,但扩展测试在 IPv6 上仍显示她的运营商。她在网络适配器上关闭 IPv6,重新测试,清单变干净了。她也记下这一点,留给下一个网络,因为每个网络的表现各不相同。
发现泄漏后怎么办
- 重新连接并重复测试。 完全断开,重新连接,等到已连接状态再测。状态切换后的一次坏结果未必会重现。
- 更新应用和操作系统。 关于泄漏的修复在更新中很常见。
- 查找应用里的 DNS 或防泄漏设置,如果是关闭的就打开。
- 关闭相互竞争的路径。 如果测试指向它们,就在适配器上关闭 IPv6,或关闭浏览器自带的 DNS。
- 检查分流设置。 确认被测试的应用没有被排除在外。
- 清除设备上的 DNS 缓存,避免旧的查询干扰结果。
- 换一个网络试试。 如果泄漏只出现在某一个 Wi-Fi 上,可能是路由器劫持了 DNS。与移动数据对比。
- 联系客服,附上你的基线、泄漏的清单、出现的情形和应用版本。
如果你在用 XPASS 套餐搭配免费的 VPNclient 应用,My Pass 页面和帮助文档会说明设置与排障。检查 VPN 是否在工作的指南 以更通用的方式带你走一遍基本检查。
任何泄漏测试的局限
- 测试页面只能看到到达它自己服务器的东西。
- 它无法证明将来绝不会泄漏。
- 它不测试使用自己 DNS 方式的应用。
- 它无法告诉你 VPN 服务商对收到的查询做了什么。那是服务商条款和可信度的问题。
- 在屏蔽测试网站的网络上运行,测试什么也不会显示。
把测试当作例行流程中的一次测量:取基线、连接、测试、对切换状态施压,并在更新后重复。
总结
好的 DNS 泄漏测试从未开 VPN 时记录的基线开始,再与干净的已连接状态对比。要根据解析器归谁所有来解读,而不是看有多少个或表面上在哪里。在切换服务器和网络之后、休眠之后、开关 IPv6 时,以及开关浏览器自带 DNS 时都要重复测试,因为泄漏多发生在状态切换时。能用命令行工具交叉验证就尽量验证,一旦发现泄漏,就按顺序逐项排查修复。
如果你想要一个预付套餐来在自己的设备上做这些检查,可以在 价格页面 看看有哪些选择。
常见问题
怎么判断测试结果是不是真的泄漏?
与未开 VPN 时记录的基线对比。如果开着 VPN,结果里仍然列出你的宽带运营商或家用路由器的解析器,说明 DNS 查询在隧道之外发出。如果列出的是 VPN 服务的解析器或你自己选的公共解析器,则不算泄漏。
为什么测试结果里有好几个解析器?
解析器常分布在多个地址,测试也可能查询多个名称。同一运营方的多个地址是正常的。要看它们归谁所有,而不是看有多少个。
测一次够吗?
不够。切换网络后、电脑从休眠唤醒后、更换服务器后,以及连接断开又恢复后,都应重复测试。泄漏往往出现在状态切换的瞬间,而不是稳定状态。
即使 VPN 工作正常,浏览器设置也会导致泄漏吗?
会。有些浏览器使用自带的加密 DNS,可能把查询发到你在浏览器里选择的解析器,而不是 VPN 提供的那个。这算不算泄漏取决于你的本意,但测试结果会把它显示出来。
测出泄漏后该怎么办?
先断开、重新连接,再测一次。然后检查应用里是否有 DNS 或防泄漏选项,如果原因是 IPv6 就关闭该路由,检查浏览器层面的 DNS 设置,并更新应用。仍然存在的话,带着测试结果联系客服。
参考资料
关于作者

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

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



