VPN DNS 泄漏怎么检查?一套可复现的排查与修复流程
简答:先关闭 VPN 记录公网 IP、IPv6 和 DNS,再开启 VPN运行 DNSLeakTest 或 BrowserLeaks 对比。出现原 ISP 的 DNS、IPv6 或公网 IP 时,检查分流、浏览器加密 DNS、系统手动 DNS 和客户端的 DNS 防泄漏设置,修改后清缓存并换网络复测。
定义:VPN DNS 泄漏是指设备的域名解析请求绕过 VPN 隧道,直接交给 ISP、路由器或其他未预期的 DNS 解析器处理。
三步速查:先判断是不是真泄漏
本文是 jetstream.best 的第三方使用指南,重点是通用网络排查,不代表任何 VPN 服务商或客户端的官方说明。
- 建立基线:关闭 VPN,打开 DNSLeakTest 或 BrowserLeaks DNS Test,记录公网 IPv4、IPv6 和 DNS 解析器名称。
- 开启 VPN 对比:连接 VPN 后重新运行同一个测试,优先选择 Extended 或更完整的测试模式;不要只看页面显示的国家或单个 IP。
- 分流排查:如果仍出现原 ISP 的 DNS、原公网 IPv6 或原公网 IP,依次检查客户端是否开启全隧道、是否存在分流规则、浏览器是否启用了独立的 Secure DNS,以及系统或路由器是否手动指定 DNS。
快速结论:VPN 开启后出现新的公共 DNS,不一定代表泄漏;关键是它是否属于当前 VPN 的解析路径、是否仍同时出现原 ISP 的解析器,以及不同网络和服务器复测时结果是否一致。
| 测试结果 | 通常意味着什么 | 下一步 |
|---|---|---|
| 只显示 VPN 或其明确使用的第三方解析器 | 暂未发现明显 DNS 泄漏 | 换服务器、浏览器和网络复测 |
| 同时显示原 ISP 与 VPN 解析器 | 可能存在部分或间歇性 DNS 泄漏 | 检查分流、备用 DNS、IPv6 和浏览器 DoH |
| 只显示 Google、Cloudflare 等公共解析器 | 不等于自动泄漏 | 核对客户端文档和 VPN 连接状态,确认是否为预期解析器 |
| 没有 IPv6 结果 | 当前网络可能未提供 IPv6,也可能被客户端屏蔽 | 先在关闭 VPN时确认是否有原生 IPv6 |
| 公网 IP 仍是本地网络出口 | 这是 IP 泄漏或 VPN 未接管流量,不是单纯 DNS 泄漏 | 检查 VPN连接、全隧道、代理和 kill switch |
DNS 泄漏、IPv6 泄漏和 WebRTC 泄漏不是一回事
DNS 泄漏:浏览器或应用访问域名时,需要先把域名解析成 IP。如果解析请求没有进入预期的 VPN 通道,ISP、路由器或其他解析器可能看到这些域名查询。Mozilla 对 DNS over HTTPS 的说明也指出,传统 DNS 请求可能以未加密方式传输,而 DoH 会通过 HTTPS 发送到支持 DoH 的解析器。
IPv6 泄漏:VPN 可能只接管 IPv4,而设备仍通过本地网络直接访问 IPv6。此时测试页看到的原 IPv6 地址,不应被误判为 DNS 结果。
WebRTC 泄漏:这是浏览器通过 WebRTC 与 STUN 服务通信时暴露地址的问题。它和 DNS 查询路径不同,应单独在 BrowserLeaks 的 WebRTC 检查中验证。
因此,完整检查至少要分成三项:DNS 解析器、网站看到的公网 IPv4/IPv6、浏览器 WebRTC 地址。某一项正常,不能替代另外两项。
标准检查流程:关闭 VPN 建立基线,再开启对比
- 暂停其他网络隐私功能:临时关闭其他 VPN、代理、系统级过滤器,以及可能改变 DNS 路径的浏览器设置。若设备使用企业配置或家长控制,先记录设置,不要直接删除配置文件。
- 关闭 VPN:在同一设备、同一浏览器、同一 Wi-Fi 或移动网络下,打开 DNS、IP 和 WebRTC 测试页,记录解析器名称、组织、地区、IPv4 与 IPv6。
- 开启 VPN:连接目标服务器,等待连接状态稳定后重新加载测试页。DNSLeakTest 的说明显示,Extended 测试会进行更多轮查询,有助于发现多个或间歇出现的解析器;但结果仍只代表本次设备、浏览器和网络状态。
- 比对组织而不是只比对 IP:公共 DNS 通常会出现多个地址或不同城市的节点。不要仅凭一个 IP 判断泄漏,应看解析器所属组织是否与预期一致,以及是否同时保留原 ISP 的解析器。
- 复测变化场景:至少换一个 VPN 服务器、重连一次、切换 Wi-Fi 与移动网络各一次;如果只在某一网络或某一服务器出现异常,问题可能与该连接配置、IPv6 或分流策略有关。
如果测试页面打不开,先确认普通网页能否访问,再换一个测试工具或浏览器。测试站被网络拦截、浏览器扩展阻止脚本、CORS 限制或缓存未刷新,都可能造成测试不完整,不应直接当成泄漏结论。
Windows:查看 DNS、清缓存并检查 VPN 路由
先以普通用户打开命令提示符,执行:
ipconfig /all
重点记录当前活动网卡、DNS Servers、默认网关和是否存在 IPv6 地址。Microsoft 文档建议通过 ipconfig /all核对 DNS 服务器,再用 nslookup测试名称解析;nslookup 官方说明也支持指定解析器进行对比。
可执行以下查询:
nslookup example.com
如果希望指定某个解析器进行对照,可使用:
nslookup example.com 1.1.1.1
注意:nslookup主要反映系统默认解析路径,不能完整代表浏览器自建的 DoH,也不能替代网页端 DNS 泄漏测试。Windows VPN 还可能使用分流或名称解析策略;Microsoft 的 VPN 配置文档区分了 split-tunnel 与 forced-tunnel,因此要在客户端设置中确认是否只代理部分流量。
修改 DNS、关闭浏览器 Secure DNS 或调整 VPN 路由后,使用管理员命令提示符执行:
ipconfig /flushdns
Microsoft 支持文档将该命令列为清理 DNS 客户端缓存的步骤。随后断开并重新连接 VPN,再执行网页测试和 nslookup。若仍异常,不要立即执行网络重置;网络重置可能移除网络适配器设置,并要求重新配置 VPN 或虚拟交换机。
macOS:检查网络服务 DNS 与浏览器独立解析
打开“系统设置”→“网络”,选择当前 Wi-Fi 或有线网络,进入“详细信息”→“DNS”。Apple 文档说明,这里可以查看、添加或删除 DNS 服务器。Apple 的 macOS DNS 设置说明可作为菜单路径参考。
- 先记录现有 DNS 服务器,不要直接删除未知条目。
- 确认 VPN 连接后,系统网络服务是否仍保留原路由器或 ISP 的手动 DNS。
- 检查浏览器的 Secure DNS 或 DoH 设置;浏览器可能绕过系统 DNS,因此网页测试与终端查询结果不一致并不罕见。
- 断开 VPN,重新连接,再测试 DNS、IPv6 和 WebRTC。
如果是办公网络或受管理设备,DNS 配置可能由配置描述文件、VPN 配置或组织策略控制。Apple 明确说明,VPN 配置文件可以管理设备的 VPN 行为;不要在未确认归属前删除企业配置。
Android 与 iPhone:优先核对系统 Private DNS、VPN 与配置文件
Android:打开“设置”→“网络和互联网”→“Private DNS”,根据设备版本选择“关闭”“自动”或“Private DNS 提供商主机名”。Google 的 Android 帮助页指出,Private DNS只保护 DNS 问答,不能替代完整 VPN;菜单名称可能因厂商而异。可参考 Android 高级网络设置说明。同时检查“网络和互联网”→“VPN”,确认是否启用了始终开启 VPN、分应用 VPN 或其他 VPN 配置。
如果 Chrome 使用自己的 Secure DNS,而 Android 又设置了 Private DNS,测试结果可能与其他应用不同。Google 的说明建议在需要让系统统一处理 DNS 时,检查 Chrome 的“隐私和安全”→“使用安全 DNS”设置,以及 Android 的 Private DNS 设置。
iPhone:在“设置”中搜索“VPN”“描述文件”或“设备管理”,确认是否存在 VPN、DNS 或过滤配置。Apple 文档指出,配置描述文件可能包含 VPN 和网络设置,已安装的配置文件可在“设置”→“通用”→“VPN 与设备管理”查看。非个人设备不要擅自删除组织配置;个人设备若删除配置,需确认相关 VPN 或网络应用是否仍需要它。
移动端测试要分别在 Wi-Fi 和蜂窝数据下进行,因为两种网络的 IPv6、DNS 和路由条件可能不同。
修复顺序:先改路径,再改 DNS;最后才考虑重置网络
- 检查 VPN 客户端:开启 DNS leak protection、全隧道或类似选项;如果使用分流,确认 DNS 请求没有被排除在隧道外。
- 检查手动 DNS:删除不再需要的系统、路由器或网络服务手动 DNS,避免它覆盖 VPN下发的 DNS。不要因为看到公共 DNS 就盲目更换,先确认它是否为 VPN预期使用的解析器。
- 检查 IPv6:如果 VPN客户端没有处理 IPv6,先确认客户端是否提供 IPv6 防泄漏选项;不要直接把“没有 IPv6 结果”当成故障,因为你的网络可能本来就没有 IPv6。
- 检查浏览器 DoH:Firefox 的设置路径是“设置”→“隐私与安全”→“DNS over HTTPS”;Mozilla 文档说明,不同保护级别可能使用自定义解析器、回退到系统 DNS,或因 VPN、企业策略和网络条件而停用。可参考 Firefox DoH 配置说明。
- 清理缓存并复测:Windows执行
ipconfig /flushdns;其他系统可断开网络、退出浏览器并重新连接。随后换服务器、换浏览器、换 Wi-Fi 或蜂窝数据复测。 - 保留回滚方法:记录修改前的 DNS、代理、VPN 分流和浏览器设置。若修改后无法上网,恢复原 DNS,关闭刚启用的自定义 DoH,再重新连接网络。
不要把“更换公共 DNS”当成通用修复方案。它可能改变接收查询的一方,却没有解决 VPN、系统、路由器或浏览器绕过隧道的问题。
结果判读与常见误区
| 现象 | 是否能直接判定泄漏 | 正确处理 |
|---|---|---|
| DNS 服务器来自公共云解析器 | 不能直接判定 | 核对 VPN 文档、组织名称和是否同时出现 ISP 解析器 |
| 检测到多个同一组织的 DNS IP | 通常不能直接判定 | 大型解析服务可能使用多个地址,关注组织归属与复测一致性 |
| VPN 开启后公网 IPv4 改变,但 DNS 未改变 | 可能存在 DNS 泄漏 | 检查 DNS 路由、分流和浏览器 DoH |
| 只在浏览器出现异常,命令行正常 | 不一定是系统泄漏 | 检查浏览器 Secure DNS、扩展和代理设置 |
| WebRTC 显示私有地址 | 不等于公网 IP 泄漏 | 重点看是否出现原公网 IPv4 或 IPv6 |
| 重连后结果改变 | 可能是间歇性路径或备用解析器 | 在不同网络、服务器和时间重复测试 |
常见问题
VPN 开启后看到 Cloudflare 或 Google DNS,是不是泄漏?
不一定。公共 DNS 名称本身不能证明泄漏;要确认它是否为当前 VPN 预期使用的解析器,并检查是否同时出现原 ISP 的 DNS。
DNS 测试显示的地区和 VPN 服务器不同,正常吗?
可能正常。解析器可能使用 Anycast、第三方基础设施或不同城市的节点。应先看组织归属,再结合 VPN 文档和多次复测判断。
只检查 DNS,不检查 IPv6 和 WebRTC 可以吗?
不建议。DNS、IPv6 和 WebRTC 走的是不同路径;DNS 测试正常,不能证明公网 IP 或浏览器地址没有泄漏。
为什么关闭 VPN 后还看到 VPN 的 DNS?
可能是系统缓存、浏览器 DoH、路由器 DNS 或其他网络软件仍在工作。退出浏览器、清理缓存、关闭其他网络工具后重新建立基线。
Windows 的 nslookup 和网页测试结果不一致怎么办?
先看浏览器是否启用了 Secure DNS。nslookup主要检查系统默认解析器,而浏览器可能使用独立的加密 DNS 通道。
修复后怎样确认已经生效?
至少在不同 VPN 服务器、另一个浏览器和另一种网络下重复 DNS、IPv6、IP 与 WebRTC 测试,并记录每次结果,而不是只测一次。
常见问题
VPN 开启后看到公共 DNS,是不是 DNS 泄漏?
不一定。先确认解析器是否属于 VPN 预期路径,并检查原 ISP 的 DNS 是否同时出现。
只测 DNS 能证明 VPN 没有泄漏吗?
不能。还要单独检查公网 IPv4、IPv6 和 WebRTC,因为它们可能走不同路径。
Windows 的 nslookup 与网页结果不一致怎么办?
检查浏览器 Secure DNS 或 DoH。nslookup主要反映系统默认解析路径,浏览器可能使用独立解析器。
DNS 测试失败但网页能打开,怎么办?
换测试工具和浏览器,关闭可能拦截脚本的扩展,确认网络没有阻止测试站,再重复测试。
修复 DNS 后要不要重启设备?
先清理 DNS 缓存并断开重连;若仍异常,再重启网络应用或设备,并保留原设置以便回滚。
相关阅读
参考资料
- DNS Leak Test:在线 DNS 泄漏检测工具(dnsleaktest.com)
- DNS Leak Test:Standard 与 Extended 测试说明(dnsleaktest.com)
- BrowserLeaks:DNS Leak Test(browserleaks.com)
- BrowserLeaks:WebRTC 与浏览器网络泄漏检测(browserleaks.com)
- Mozilla Support:Firefox DNS over HTTPS 原理与行为
- Microsoft Learn:nslookup 命令
- Microsoft Learn:Windows VPN 配置与分流选项
- Microsoft Support:Windows 网络命令与 DNS 缓存排查
- Apple Support:macOS 更改 DNS 设置
- Apple Platform Security:VPN 安全与设备支持
- Android Help:高级网络设置与 Private DNS
- Android Help:连接和管理 VPN