什么是 DNS 污染,一句话:你的设备问「这个域名对应哪个 IP」,答案还没从真正的 DNS 服务器回来,路上就有人抢先塞给你一个错误的 IP,于是网址明明没打错,页面却打不开、超时,或者跳到一个莫名其妙的地方。它不是你的网络坏了,也不是网站挂了,而是「查地址」这一步被人插了话。和它经常被混在一起的 DNS 泄露是另一回事:泄露是你的查询被别人看见,污染是别人给你假答案。

这篇讲它怎么发生、怎么判断自己遇到的是不是它、加密 DNS 能防到哪一步,以及为什么把解析放进隧道才是根本解法。

它怎么发生

传统 DNS 查询是明文的 UDP 包,没有签名,谁先回答设备就信谁。国际出口和某些网络设备会监听经过的 DNS 查询,一旦看到特定域名,就立刻回一个伪造的答案,比真正的服务器快得多。设备拿到假 IP 去连,自然连不上。这个机制对所有经过它的明文查询有效,不管你把 DNS 服务器设成谁,因为拦截的是问题本身,不是你问谁。所以「换个 DNS 服务器」对污染基本无效,这是它和普通 DNS 故障最大的区别。

怎么判断是不是污染

  1. 同一个域名,不同网络结果不同。 手机移动数据和家里 Wi‑Fi 解析出的 IP 不一样,或者一个能开一个不能。
  2. 解析出来的 IP 很奇怪。 明显不属于那家公司的地址段,或者是保留地址。
  3. 换加密 DNS 后能开了。 用 DNS over HTTPS 查到的 IP 和明文查到的不同,而且能连上。
  4. 用隧道内解析能开了。 这是最直接的证据。

如果你换了任何 DNS 服务器都拿到同一个错误答案,几乎可以确定是污染而不是配置问题。DNS 本身的工作原理在DNS 泄露是什么意思里有一节说明。

加密 DNS 能防什么、防不了什么

DNS over HTTPS 或 DNS over TLS 把查询封在加密连接里,路上的人看不到你在问什么,也就无法针对特定域名抢答,污染这一步被堵住了。能防的:明文查询被抢答。防不了的:拿到正确 IP 之后,到那个 IP 的连接本身仍可能被过滤;加密 DNS 服务商的地址本身也可能被过滤,导致查询发不出去;而且你的真实 IP 仍然暴露给 DNS 服务商。怎么选加密 DNS 见DNS over HTTPS 怎么选

隧道内解析:根本解法

在代理或 VPN 客户端里开启远程 DNS 或 fake-ip 模式,「查地址」这一步就在隧道另一端完成:查询在隧道里加密传到境外服务器,由它去问真正的 DNS,答案再传回来。路上没人看得到查询,也没人能抢答。同时它顺手解决了泄露:运营商拿不到域名列表。这就是为什么各家教程都强调「DNS 要进隧道」,它一次解决两个问题。

配置要点:Clash 系客户端把 DNS 模块的 enhanced-mode 设为 fake-ip,nameserver 填经代理发出的加密 DNS;Xray 系客户端在 DNS 设置里指定远程解析器,并把 DNS 出站指向代理;iOS 客户端在设置里填 DNS 覆写。操作细节在Clash Verge 使用教程与排错

常见误区

「我用了公共 DNS 就没事了。」 明文查询不管发给谁都会被抢答,除非查询本身加密。

「污染就是被封了。」 不完全是。污染只影响查地址,有些域名解析被污染、直连 IP 却能通;也有域名解析正常、连接被过滤。两者经常同时出现,但机制不同。

「改 hosts 文件一劳永逸。」 短期可用,但目标站换 IP 你就得跟着改,而且 hosts 对 HTTPS 证书没有帮助,还容易忘掉当初为什么改。

两分钟自查

  1. 在客户端关闭状态下,用系统的 nslookup 或 dig 查一个境外域名,记下 IP。
  2. 开启客户端并开启隧道内解析,再查一次,对比。
  3. 打开我的 IP 是什么确认隧道生效,跑一次IPv6 泄露检测,IPv6 绕过隧道时 DNS 也常常跟着绕过。

什么是不能承诺的

加密 DNS 和隧道内解析能堵住污染和泄露这两个环节,堵不住到目标 IP 的连接被过滤,也堵不住 DNS 服务商本身被过滤。它们是必要条件,不是充分条件。法律层面:在中国大陆,国际联网须使用国家公用电信网提供的国际出入口信道,个人使用未经批准的渠道属于违反相关规定;使用代理与否由你自己判断并承担责任,本文是技术说明,不构成法律意见。

404 VPN 的客户端把 DNS 查询默认放在 VLESS 或 WireGuard 隧道内解析,污染和泄露两个环节一起堵住,带 Kill Switch 防止断线时退回明文 DNS,隐私政策写明不保存 DNS 查询。我们不承诺从中国大陆任何网络都能连上。开始使用请到首页