DNS 污染更换 DNS 能解决吗?
能缓解,但不一定能根治。关键看污染发生在哪一层。
有用的情况:本地递归污染
如果你的运营商递归服务器被污染了,换成公共 DNS 通常有效。
因为请求不再经过那台被污染的服务器,而是直接问 223.5.5.5、8.8.8.8 这些公共解析。
启用 DoH/DoT 效果更好,因为查询过程加密了,中间设备看不到你在查什么,也就没法针对性返回假结果。
没用的情况:出口层污染
如果污染发生在国际出口或者更上层,换 DNS 也躲不掉。
因为不管你用哪个 DNS,查询请求最终都要经过那条出口。包在出去的路上就被改了,换谁问都一样。
这种情况下,换 DNS 只是换了个心理安慰。
怎么判断是哪一层
做对比测试:
运营商 DNS 错、公共 DNS 对 → 本地递归层,换 DNS 有效。
运营商 DNS 错、公共 DNS 也错 → 更上层,换 DNS 基本无效。
国内 DNS 错、境外 DNS 对 → 大概率是出口层。
还有什么办法
换解析服务商,有时能绕开针对某家的干扰。
接入 CDN,让用户连最近的节点,减少跨境查询。
换域名,这是最后的手段,成本最高,而且新域名同样要合规。
别踩的坑
不要以为装个 DoH 就万事大吉。它解决的是查询加密,不解决出口被封。
也不要频繁换 DNS 反复试,浪费时间,还可能触发限流。
一句话
换 DNS 是「换一条路去问」,如果整条路都被堵了,换问法没用。