DNS 污染检测异常怎么判断
看到异常结果,先别下结论。DNS 这一层的问题,原因可能有好几种。
第一步:确认记录本身是对的
直接查权威 DNS。
用 dig @ns1.example.com example.com A 这样的命令,绕过所有递归缓存,直接问负责这个域名的服务器。
权威返回的 IP 跟你在控制台配的一致,说明记录没问题,问题在解析链路。
权威返回的就不对,那是配置问题,先改配置,别往污染上想。
第二步:交叉核对公共 DNS
用几个不同的公共 DNS 分别查:阿里 223.5.5.5、腾讯 119.29.29.29、Google 8.8.8.8。
如果运营商 DNS 返回错的、公共 DNS 返回对的,那基本可以确认是本地递归被污染。
如果所有 DNS 都返回错的,那问题可能更靠上,比如权威服务器被改,或者域名被劫持。
第三步:看影响范围
多节点结果里,异常集中在哪些地区、哪些运营商?
范围越小,越可能是局部链路问题;范围越大,越可能是系统性的污染。
这个范围决定了后续能做什么。
确认被污染之后
启用加密解析:DoH、DoT 能避开明文的 DNS 查询,对本地递归污染有效。
更换解析服务商:换一家权威 DNS,有时能绕开针对特定服务商的干扰。
更换域名:如果污染发生在出口层,换 DNS 解决不了,只能换域名。但新域名同样要合规。
接入 CDN:某些情况下能改善访问,但不是治本。
别做的事
不要在没确认原因前就换域名。可能只是缓存没到期,白折腾。
不要指望一个手段解决所有污染。不同层级的问题,解法不一样。
一句话
先证明「记录是对的」,再证明「解析被改了」,最后才谈怎么处理。顺序不能反。