downuuship

域名解析异常排查:从 NXDOMAIN 到委派恢复

2026-10-07

域名打不开,第一反应通常是“刷新本地 DNS 缓存”。但如果返回的是 NXDOMAIN,刷新本机基本没用,问题多半在上游。

先分清三种失败

三者处理路径完全不同。NXDOMAIN 意味着要继续往上游问,超时则先查网络。

逐层往上游查

以 example.com 为例,按顺序查:

# 1. 公共递归
dig example.com A @8.8.8.8

# 2. 顶级域权威,看这一层有没有委派记录
dig example.com NS @a.nic.xyz

# 3. 域名自己的权威服务器
dig example.com A @ns1.example-dns.net

如果第 2 步返回 NXDOMAIN,而第 3 步能正常返回记录,说明注册商那边的记录是对的,注册局还没把域名写进区文件。这种情况只能等注册局发布,改什么都没用。

否定缓存会骗人

NXDOMAIN 也是会被缓存的。缓存时长由所在区的 SOA 里的 minimum 字段决定,常见是 900 到 3600 秒。也就是说,注册局刚发布完,你本地和运营商那边可能还在返回缓存的“不存在”。

要绕开缓存,直接查权威服务器,或者用 DoH 接口:

curl "https://dns.google/resolve?name=example.com&type=A"

委派恢复后

确认根区不再是 NXDOMAIN 后,再刷本地缓存:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

如果本地还是不行,检查路由器是不是也在做 DNS 缓存——很多路由器会把自己的缓存当权威答案返回,刷新电脑没用,得重启路由器或者直接把电脑的 DNS 改成公共解析。