DNS 泄漏防护
更新于 2026年9月21日 · 我们如何研究
DNS 泄漏意味着你的流量是加密的,但域名解析不是。隧道在传输数据的同时,你的设备却悄悄去问 ISP 的解析服务器该连到哪个地址 — 等于交出了一份你访问过的所有网站的清单。
DNS 泄漏防护改变了什么
页面请求可能已经加密,但 DNS 查询仍可能暴露目标域名。
没有 DNS 泄漏防护时
设备DNS 查询走到隧道外ISP 的 DNS能看到域名信息暴露
解析服务器可以把查询过的域名与用户的网络连接关联起来。
仅凭 VPN 图标并不能证明 DNS 是私密的。
有 VPN 的 DNS 防护时
设备查询走受保护的路径经 VPN 的 DNS在路径内部预期结果
前提是应用和操作系统配置正确,这次查询不会用到 ISP 的解析服务器。
请用可重复的 IPv4、IPv6 和 WebRTC 测试来确认。
ZoogVPN 在文档中说明其应用具备 DNS 泄漏防护;VPN Sherlock 认为,在给出测试结论之前应先公开可观察的测试条件。
三种成因各不相同的泄漏
这是彼此独立的问题。通过了 DNS 测试,并不能说明另外两项的情况。
| 泄漏 | 成因 | 解决办法 |
|---|---|---|
| DNS 泄漏 | 操作系统把域名解析发给了隧道之外的解析服务器。Windows 特别容易出现这种情况,因为它可能同时向所有网卡发起查询,谁先回答就用谁的。 | 客户端必须指定隧道的解析服务器,并阻止发往其他解析服务器的查询。 |
| IPv6 泄漏 | 隧道只承载 IPv4,但操作系统优先使用 IPv6,于是把那部分流量发到了普通连接上。 | 客户端要么把 IPv6 也送进隧道,要么在连接期间把它关掉。 |
| WebRTC 泄漏 | 浏览器的一个 API 会为点对点连接找出本地和公网地址,并通过 ICE 候选项把它们交给网页。 | 在浏览器层面处理:禁用或限制 WebRTC,或者装一个扩展。只靠 VPN 解决不了这个问题。 |
WebRTC 是浏览器层面的问题
没有哪家 VPN 能靠自己完全堵住 WebRTC 泄漏,因为泄漏发生在流量到达网络栈之前的浏览器内部。任何声称能做到的服务商,都夸大了技术上可行的范围。请在你实际使用的那个浏览器里检查。
如何检查
- 连接之前先记下你的真实 IP 地址和 ISP。
- 连接到另一个国家的 VPN 服务器。
- 做一次 DNS 泄漏测试,确认显示出来的每一个解析服务器都属于 VPN,而不是你的 ISP。
- 做一次 IPv6 检查,确认要么没有显示 IPv6 地址,要么显示的是 VPN 的地址。
- 在每个浏览器里分别做一次 WebRTC 检查 — 不同浏览器的结果并不一样。
- 强制重连之后再测一遍,泄漏最常出现的正是这个时候。
ZoogVPN 是怎么说的
据 ZoogVPN 所述
ZoogVPN 称:「当你使用 ZoogVPN 应用时,我们会保护你免受 DNS 泄漏。我们的应用经过配置,使 ISP 无法收到 DNS 查询」,并称域名由其他 DNS 服务器解析。它的泄漏防护页面没有专门提到 IPv6 或 WebRTC 泄漏,我们也没有独立测试过这些行为中的任何一项。
由于那段说明并没有覆盖 IPv6 和 WebRTC,请按如何测试 VPN 里的步骤自己验证一遍。
常见问题
什么是 DNS 泄漏?
你的流量走的是 VPN 隧道,但域名解析却发给了隧道之外的解析服务器,通常是 ISP 的,从而暴露出你访问了哪些网站。
VPN 能阻止 WebRTC 泄漏吗?
不能完全阻止。WebRTC 是在浏览器内部暴露地址的,所以可靠的办法是改浏览器设置或装扩展。
为什么重连之后会出现泄漏?
重连过程中虚拟网卡会短暂消失,操作系统可能退回到默认的解析服务器。防火墙层面的终止开关正是为了防止这一点。