DNS 异常的表现比网络层丰富得多,不同的返回码指向完全不同的原因。先认状态,再查配置。

部分地区解析到错误 IP

大部分地区正常,少数地区返回了一个跟你的服务器无关的地址。

两种可能:一是本地 DNS 污染,二是缓存还没过期。

区分方法很简单:换一个公共 DNS 再查一次。换了就正常,说明是运营商递归的问题;换了还是错,那可能是权威侧配置错了,或者域名真的被劫持。

如果返回的是保留地址(比如 0.0.0.0、127.0.0.1 或者内网段),那基本可以判定为污染或拦截。

返回 NXDOMAIN

意思是这条记录不存在。

常见于三种情况:记录压根没添加、添加的主机名拼错了、或者刚添加还没同步到权威服务器。

先去配置台核对主机记录,注意 www 和 @ 的区别,注意有没有多余的点或者空格。配置没问题的话,等几分钟再查。

返回 SERVFAIL

服务器处理失败。这个错误跟你的记录内容关系不大,通常是服务端的问题。

常见原因:权威 DNS 服务器异常或宕机、DNSSEC 配置错误导致校验失败、域名状态异常(比如未实名、被 hold)。

如果是 DNSSEC 的问题,把 DNSSEC 关掉再测,能立刻验证。如果关了就好,那就要重新检查密钥和 DS 记录。

只有部分线路失败

全国大部分正常,某个运营商或者某个省一直超时。

这种通常是线路级的解析问题:那一片的递归服务器到权威服务器的链路不通,或者当地运营商做了限制。

也可能是智能解析配置里,那条线路被漏配了,没有对应的记录可返回。

改完之后怎么办

不要立刻反复测,先等 TTL 到期。

TTL 是 600 秒就等十分钟,是 3600 秒就等一小时。等缓存自然过期,再重新查一遍,结果才有意义。

急着验证的话,可以指定一个没有缓存的公共 DNS 去查,或者直接查权威服务器。