DNS 泄漏是什么,怎么检测和规避
使用 VPN 或机场服务时,很多人会关注 IP 有没有变化,却忽略 DNS。DNS 泄漏指的是:网页流量看起来已经走了代理,但域名解析请求仍然跑到本地运营商、公司网络或其它不该出现的 DNS 服务器。
简单说,DNS 就像互联网通讯录。你访问 example.com 前,设备通常要先问 DNS:“这个域名对应哪个 IP?”如果这个查询没有走预期的安全通道,就可能暴露你正在访问哪些域名。
DNS 泄漏会暴露什么?
DNS 泄漏不一定等于账号密码泄露,但它会带来隐私和稳定性问题:
- 本地网络或运营商可能看到你查询过哪些域名。
- 部分网站可能因为 DNS 地区不一致,出现访问异常。
- 公司、校园或公共 Wi-Fi 的 DNS 策略可能干扰解析结果。
- 你以为已经切换节点,但 DNS 仍然暴露在原网络环境里。
Cloudflare 的 DNS over HTTPS 文档也提到,DoH 会把 DNS 查询包进 HTTPS 请求中,以降低 DNS 流量被伪造或篡改的风险。Mozilla 也把 DNS 泄漏描述为 DNS 请求没有走到你预期的可信解析路径。
布丁猫做了哪些防护?
布丁猫在订阅配置和推荐客户端使用方式里,已经尽量做了 DNS 防泄漏相关防护:
- 引导用户使用 Clash、Shadowrocket、Karing、FlClash 等支持代理规则的客户端。
- 订阅配置会尽量让需要代理的域名解析跟随代理链路,减少系统 DNS 直连造成的暴露。
- 对常见 AI、海外服务和代理规则做了分流适配,降低解析走错策略组的概率。
- 教程里强调更新订阅、开启系统代理或 VPN 配置,避免只导入节点但没有接管流量。
不过,DNS 是否泄漏也和系统、浏览器、客户端版本、浏览器安全 DNS、公司网络策略有关。因此我们建议:即使已经有防护,也可以按下面的方法自己检测一次。
怎么检测 DNS 是否泄漏?
建议用“连接前后对比”的方式检测,不要只看一次结果。
第一步:连接前记录本地 DNS
先不要连接布丁猫节点,打开检测网站,记录当前 DNS 地区和运营商信息。
可用检测工具:
如果此时看到的是本地运营商、公司网络或家庭宽带 DNS,这是正常的,因为还没有连接代理。
第二步:连接布丁猫节点后再测
连接布丁猫节点,确认网页可以正常访问后,再打开同一个检测网站测试。
重点看三件事:
- DNS 服务器是否还显示本地运营商。
- DNS 地区是否和当前节点明显不一致。
- 是否同时出现多个不相关地区的 DNS 服务器。
如果连接后仍然出现本地运营商 DNS,就需要进一步排查。正常情况下,DNS 查询应该尽量跟随代理或安全解析链路,不应该继续暴露在原网络环境里。
第三步:换一个网站复测
不同检测网站的展示方式不同,建议至少测两个。只要多个网站都显示本地运营商 DNS,基本可以判断需要调整设置。
常见泄漏原因
| 现象 | 可能原因 | 处理方式 |
|---|---|---|
| 连接后仍显示本地运营商 DNS | 客户端没有接管 DNS 或系统代理未开启 | 更新订阅,开启系统代理或 VPN 配置 |
| 浏览器 DNS 和客户端不一致 | 浏览器开启了独立安全 DNS | 临时关闭浏览器安全 DNS 或改为跟随系统 |
| 公司或校园网络强制 DNS | 网络环境拦截或改写解析 | 换网络、使用手机热点或切换客户端模式 |
| 只部分网站异常 | 分流规则没有命中 | 更新订阅,检查规则模式和策略组 |
| 多个代理软件同时运行 | DNS 和流量被不同软件接管 | 关闭其它 VPN、代理、加速器 |
怎么规避 DNS 泄漏?
可以按这个顺序处理:
- 使用最新订阅配置,不要长期使用旧配置。
- 按设备教程开启系统代理或 VPN 配置,不要只导入节点列表。
- 不要手动把系统 DNS 固定为本地运营商 DNS。
- 浏览器开启安全 DNS 时,确认它不会绕过当前代理策略。
- 避免同时运行多个 VPN 或代理工具。
- 在公共 Wi-Fi、公司网络、酒店网络下,连接后先做 DNS 检测。
- 如果检测结果异常,先换节点,再换网络环境,最后重新导入订阅。
Windows 用户可以从 Clash 订阅导入教程 开始检查,iPhone 用户可以参考 Shadowrocket 小火箭教程。
浏览器安全 DNS 要不要开?
浏览器的安全 DNS、DoH 或加密 DNS 本身不是坏事。Cloudflare 和 Mozilla 都提到,加密 DNS 可以降低 DNS 流量被旁路观察、伪造或篡改的风险。
但在代理环境里,如果浏览器单独指定了一个 DNS 服务,而客户端规则没有正确接管,就可能出现“网页走代理,DNS 走另一条路径”的情况。排查时可以先临时关闭浏览器安全 DNS,改为跟随系统设置;确认无泄漏后,再按自己的需求开启。
检测结果怎么看才算正常?
一个实用判断是:
- 不应继续显示你的本地运营商 DNS。
- DNS 结果不应和当前节点地区明显冲突。
- 不应同时出现大量无关网络的 DNS 服务器。
- 切换节点后,DNS 检测结果应随之变化或保持在可信解析链路内。
DNS 检测不是一次性动作。更换系统、浏览器、客户端、网络环境后,都建议重新测一次。
