什么是 DNS 污染,一句话:你的设备问「这个域名对应哪个 IP」,答案还没从真正的 DNS 服务器回来,路上就有人抢先塞给你一个错误的 IP,于是网址明明没打错,页面却打不开、超时,或者跳到一个莫名其妙的地方。它不是你的网络坏了,也不是网站挂了,而是「查地址」这一步被人插了话。和它经常被混在一起的 DNS 泄露是另一回事:泄露是你的查询被别人看见,污染是别人给你假答案。
这篇讲它怎么发生、怎么判断自己遇到的是不是它、加密 DNS 能防到哪一步,以及为什么把解析放进隧道才是根本解法。
它怎么发生
传统 DNS 查询是明文的 UDP 包,没有签名,谁先回答设备就信谁。国际出口和某些网络设备会监听经过的 DNS 查询,一旦看到特定域名,就立刻回一个伪造的答案,比真正的服务器快得多。设备拿到假 IP 去连,自然连不上。这个机制对所有经过它的明文查询有效,不管你把 DNS 服务器设成谁,因为拦截的是问题本身,不是你问谁。所以「换个 DNS 服务器」对污染基本无效,这是它和普通 DNS 故障最大的区别。
怎么判断是不是污染
- 同一个域名,不同网络结果不同。 手机移动数据和家里 Wi‑Fi 解析出的 IP 不一样,或者一个能开一个不能。
- 解析出来的 IP 很奇怪。 明显不属于那家公司的地址段,或者是保留地址。
- 换加密 DNS 后能开了。 用 DNS over HTTPS 查到的 IP 和明文查到的不同,而且能连上。
- 用隧道内解析能开了。 这是最直接的证据。
如果你换了任何 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 证书没有帮助,还容易忘掉当初为什么改。
两分钟自查
- 在客户端关闭状态下,用系统的 nslookup 或 dig 查一个境外域名,记下 IP。
- 开启客户端并开启隧道内解析,再查一次,对比。
- 打开我的 IP 是什么确认隧道生效,跑一次IPv6 泄露检测,IPv6 绕过隧道时 DNS 也常常跟着绕过。
什么是不能承诺的
加密 DNS 和隧道内解析能堵住污染和泄露这两个环节,堵不住到目标 IP 的连接被过滤,也堵不住 DNS 服务商本身被过滤。它们是必要条件,不是充分条件。法律层面:在中国大陆,国际联网须使用国家公用电信网提供的国际出入口信道,个人使用未经批准的渠道属于违反相关规定;使用代理与否由你自己判断并承担责任,本文是技术说明,不构成法律意见。
404 VPN 的客户端把 DNS 查询默认放在 VLESS 或 WireGuard 隧道内解析,污染和泄露两个环节一起堵住,带 Kill Switch 防止断线时退回明文 DNS,隐私政策写明不保存 DNS 查询。我们不承诺从中国大陆任何网络都能连上。开始使用请到首页。