指南
什么是 DNS 泄漏?
使用 VPN 时,每一次域名查询都应该走 VPN 的 DNS,而不是网络运营商的。DNS 泄漏就是这件事失败了:隧道之外的人仍能看到你在查询哪些网站。
为什么要关心
VPN 只有在你在意的流量真的经过它时才有用。如果 DNS 请求离开了安全路径,网络上的观察者——常常是你的网络运营商——仍能看到你查询的域名,即使页面内容已用 HTTPS 加密。
这会给人一种虚假的安全感:VPN 可能隐藏了公网 IP,浏览习惯却从 DNS 漏了出去。
DNS 做什么
DNS(域名系统)把 skypath.cloud 这样的名字转换成路由器可以投递数据包的 IP 地址。几乎每次访问网站都从一次 DNS 查询开始。
大多数网络运营商会给用户分配他们自己控制的 DNS 服务器。那台服务器可以记录你查询过哪些域名——对网络运营方有用,对隐私有风险。
已保护
查询留在 VPN 内部
- 你的设备
- VPN 隧道
- VPN 的 DNS
- 网站
泄漏
查询改走了你的网络运营商
- 你的设备
- 运营商 DNS
- 网站
DNS 泄漏如何发生
即使 VPN 已连接,操作系统仍可能继续使用默认 DNS 服务器,而不是 VPN 提供的那些。分流、客户端设置不当或 IPv6,都可能让 DNS 走到隧道外,而其他流量留在隧道内。
在你看来 VPN 是“开着的”。在网络看来,域名查询仍然到达了网络运营商。
浏览器安全 DNS
现代浏览器通常支持加密 DNS,例如 DNS-over-HTTPS,有时默认开启。加密可以阻止本地 Wi-Fi 上的人在传输途中读到查询——这是好事。
这并不等于“没有人看到这个名字”。你选择的安全 DNS 提供商(或浏览器默认的那一家)仍会收到查询。如果这家不是 VPN 的 DNS,VPN 用户可以把它看成另一种泄漏。
透明 DNS 代理
有些网络运营商会拦截 53 端口上的每一条明文 DNS 请求,并由自己来应答——这就是透明 DNS 代理。你可能以为配置了 Google 或 Cloudflare 的 DNS,实际处理查询的仍是运营商。
通常的解决办法是让 VPN 正确地把 DNS 送进隧道(或阻断隧道外的 DNS)。只在电脑上改“DNS 服务器”这一项,挡不住开放网络上的拦截。
如何检查
在 VPN 已连接时运行 DNS 泄漏测试。你希望看到属于 VPN 的解析器(或你有意选择的解析器),而不是家庭运营商的名字。
想看清楚前后对比:VPN 关闭时先测一次,记下运营商名称,连接 VPN 后再测一次。如果运营商仍然出现,说明 DNS 没有完全进入隧道。
请记住
- HTTPS 隐藏的是页面内容,不会隐藏 DNS 查询里的域名。
- 浏览器安全 DNS 和系统 DNS 可能不一致——结果出乎意料时,两边都查一下。
- IPv6 和分流是常见原因:VPN 看起来已连接,DNS 却仍在泄漏。
- 更改 VPN、浏览器或网络设置后,请重新测试。
