DNS 泄漏防护

更新于 2026年9月21日 · 我们如何研究

DNS 泄漏意味着你的流量是加密的,但域名解析不是。隧道在传输数据的同时,你的设备却悄悄去问 ISP 的解析服务器该连到哪个地址 — 等于交出了一份你访问过的所有网站的清单。

DNS 泄漏防护改变了什么

页面请求可能已经加密,但 DNS 查询仍可能暴露目标域名。

ZoogVPN 在文档中说明其应用具备 DNS 泄漏防护;VPN Sherlock 认为,在给出测试结论之前应先公开可观察的测试条件。

左:查询跑到了 ISP 的解析服务器。右:查询在隧道内部传输。

三种成因各不相同的泄漏

这是彼此独立的问题。通过了 DNS 测试,并不能说明另外两项的情况。

泄漏成因解决办法
DNS 泄漏操作系统把域名解析发给了隧道之外的解析服务器。Windows 特别容易出现这种情况,因为它可能同时向所有网卡发起查询,谁先回答就用谁的。客户端必须指定隧道的解析服务器,并阻止发往其他解析服务器的查询。
IPv6 泄漏隧道只承载 IPv4,但操作系统优先使用 IPv6,于是把那部分流量发到了普通连接上。客户端要么把 IPv6 也送进隧道,要么在连接期间把它关掉。
WebRTC 泄漏浏览器的一个 API 会为点对点连接找出本地和公网地址,并通过 ICE 候选项把它们交给网页。在浏览器层面处理:禁用或限制 WebRTC,或者装一个扩展。只靠 VPN 解决不了这个问题。

WebRTC 是浏览器层面的问题

没有哪家 VPN 能靠自己完全堵住 WebRTC 泄漏,因为泄漏发生在流量到达网络栈之前的浏览器内部。任何声称能做到的服务商,都夸大了技术上可行的范围。请在你实际使用的那个浏览器里检查。

如何检查

  1. 连接之前先记下你的真实 IP 地址和 ISP。
  2. 连接到另一个国家的 VPN 服务器。
  3. 做一次 DNS 泄漏测试,确认显示出来的每一个解析服务器都属于 VPN,而不是你的 ISP。
  4. 做一次 IPv6 检查,确认要么没有显示 IPv6 地址,要么显示的是 VPN 的地址。
  5. 在每个浏览器里分别做一次 WebRTC 检查 — 不同浏览器的结果并不一样。
  6. 强制重连之后再测一遍,泄漏最常出现的正是这个时候。

ZoogVPN 是怎么说的

据 ZoogVPN 所述

ZoogVPN 称:「当你使用 ZoogVPN 应用时,我们会保护你免受 DNS 泄漏。我们的应用经过配置,使 ISP 无法收到 DNS 查询」,并称域名由其他 DNS 服务器解析。它的泄漏防护页面没有专门提到 IPv6 或 WebRTC 泄漏,我们也没有独立测试过这些行为中的任何一项。

由于那段说明并没有覆盖 IPv6 和 WebRTC,请按如何测试 VPN 里的步骤自己验证一遍。

常见问题

什么是 DNS 泄漏?
你的流量走的是 VPN 隧道,但域名解析却发给了隧道之外的解析服务器,通常是 ISP 的,从而暴露出你访问了哪些网站。
VPN 能阻止 WebRTC 泄漏吗?
不能完全阻止。WebRTC 是在浏览器内部暴露地址的,所以可靠的办法是改浏览器设置或装扩展。
为什么重连之后会出现泄漏?
重连过程中虚拟网卡会短暂消失,操作系统可能退回到默认的解析服务器。防火墙层面的终止开关正是为了防止这一点。