DNS 查询没有按照预期经过受保护的网络通道,就可能形成 DNS 泄漏。本文解释其影响边界,并提供可执行的检测、判断和防护步骤。
DNS 泄漏是指:设备的 DNS 查询没有按照预期经过受保护的网络通道,而是由本地网络、运营商或其他非预期的解析器处理。它不会自动暴露所有浏览内容,但可能泄露你正在查询的域名以及网络环境信息。
DNS 泄漏究竟泄露了什么?
DNS(Domain Name System,域名系统)负责把 example.com 这样的域名转换为设备能够连接的 IP 地址。
使用 VPN 或其他加密隧道时,理想情况是业务流量和 DNS 查询都按照既定路径传输。如果网页流量进入了隧道,而 DNS 查询仍被本地网络或运营商的 DNS 服务器处理,就形成了 DNS 泄漏。
| 观察方 | 可能看到的信息 | 通常看不到的信息 |
|---|---|---|
| DNS 解析服务 | 查询的域名、查询时间、来源网络信息 | HTTPS 页面中的具体路径和正文内容 |
| 目标网站 | 连接网站时使用的出口 IP | 仅凭 DNS 泄漏直接获得设备全部真实网络信息 |
因此,更准确的说法是:DNS 泄漏会破坏预期的 DNS 隐私边界,但不等于所有流量都已脱离加密通道。
常见原因
1. VPN 没有接管系统 DNS
VPN 客户端未强制使用指定解析器,系统仍沿用路由器、运营商或手动配置的 DNS。
2. 多网卡与分流配置
Wi-Fi、有线网络、虚拟网卡和分流规则同时存在时,部分查询可能走向优先级更高的其他接口。
3. IPv6 路径未被完整处理
当隧道只覆盖 IPv4,而系统仍可通过 IPv6 访问解析器时,DNS 请求可能绕开预期路径。正确做法是让服务完整支持 IPv6,或在明确评估后阻断未受保护的 IPv6 流量。
4. 浏览器或应用使用独立 DNS
部分浏览器和应用会启用加密 DNS(DoH/DoT)。它能加密 DNS 内容,但如果绕过组织或 VPN 的既定解析策略,仍可能被视为路径泄漏。
5. Windows 多接口解析与过渡机制
某些 Windows 网络配置可能同时向多个接口发出解析请求;Teredo 等 IPv6 过渡机制也会增加排查复杂度。是否构成泄漏取决于系统版本、策略和实际路由,不能只凭功能名称判断。
如何检测 DNS 泄漏?
可以使用以下公开工具进行交叉检测:
建议按以下顺序测试:
- 断开 VPN,记录当前网络使用的 DNS 解析器和地区。
- 连接 VPN,重新打开测试页面并执行标准或扩展测试。
- 更换另一个检测网站复核,避免单一数据库识别错误。
- 检查结果是否出现本地运营商、家庭路由器或其他不应出现的解析器。
检测网站显示第三方公共 DNS、云服务商或不同城市,并不必然代表泄漏。解析器可能使用 Anycast、转发或代理架构,应结合 VPN 服务商公布的 DNS 策略判断。
如何修复与降低风险?
优先使用 VPN 客户端自带的防护
启用“DNS 泄漏防护”“仅使用 VPN DNS”或类似选项,并同时启用断线保护(Kill Switch)。重新连接后再次检测。
检查系统和浏览器的 DNS 设置
确认系统网卡没有残留非预期的手动 DNS;如果浏览器启用了安全 DNS,需确认它与当前网络方案兼容。加密 DNS解决的是传输加密问题,不会自动保证查询一定经过 VPN。
正确处理 IPv6
优先选择同时支持 IPv4 和 IPv6 的网络方案。只有在服务明确不支持 IPv6 且确认业务不依赖 IPv6 时,才考虑临时禁用,并记录恢复方法。
Linux 临时禁用示例(重启后通常失效):
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
Windows 如确认不需要 Teredo,可在管理员终端中禁用:
netsh interface teredo set state disabled
这些命令会改变网络行为,执行前应了解影响,并在修改后重新测试业务连接。
使用防火墙限制非预期 DNS
高级用户可以只允许 DNS 请求发往指定隧道接口或解析器,同时阻止其他接口的 53、853 端口流量。还需检查浏览器的 DoH 流量,避免规则只覆盖传统 DNS。
不建议直接把 DNS 设置为
127.0.0.1或0.0.0.0。只有设备上已经运行并正确配置本地 DNS 解析器时,127.0.0.1才有意义;否则会导致域名无法解析。
常见问题
DNS 泄漏会让网站看到我的真实 IP 吗?
不一定。DNS 泄漏和出口 IP 泄漏是两个不同问题。DNS 解析方可能看到查询来源及域名,目标网站看到的则通常是实际建立连接时的出口 IP。
使用公共 DNS 就不会泄漏吗?
不一定。公共 DNS 可以改变解析服务提供方,DoH/DoT 可以加密 DNS 传输,但关键仍是查询是否按照你期望的网络路径发送。
多久检测一次比较合适?
首次配置、更换 VPN、更新系统、修改浏览器安全 DNS、切换网络或调整 IPv6 后,都建议重新检测。网络环境长期不变时,可定期抽查。
检查清单
- VPN 已接管 DNS,且断线保护已经启用。
- IPv4 与 IPv6 均按预期进入受保护路径。
- 浏览器安全 DNS 设置与网络策略一致。
- 多个检测工具没有出现本地运营商或非预期解析器。
- 修改配置后,网页访问、远程桌面和常用应用仍可正常工作。
DNS 泄漏防护不是一次设置后永久有效。把检测安排在网络环境发生变化之后,通常比盲目禁用协议或照搬命令更可靠。
内容版权归 SOSBEI 所有
