外观
3.3 生效检查与排错
约 772 字
DNS域名
本页对应「三、操作步骤」的 3.3,完成生效检查与排错。返回上级:域名解析配置步骤。
前置条件
- 3.1 与 3.2 的记录均已保存,控制台中无报错,记录列表已重新加载。
- 已知权威 NS 名称,本机可执行 dig 与 curl,且能直接访问 53 端口。
- 已记录修改时间与修改前的记录值,便于对比差异。
- 已确认本次修改涉及哪些主机名,避免只验证主域而漏掉 www。
操作步骤
- 按权威、公共递归、本地三层依次查询,确认结果是否一致。三层一致才算真正生效,权威能查到只说明记录已写入。
dig @ns1.example.com A example.com +short
dig @8.8.8.8 A example.com +short
dig A example.com +short- 查看完整应答,关注 status、ANSWER SECTION 与 TTL 三个字段。status 为 NOERROR 但有缓存时 TTL 会递减。
dig A example.com
dig docs.example.com- 追踪委派链路,定位在哪一层中断。中间出现 SERVFAIL 通常指向委派或权威可达性问题。
dig +trace example.com A
dig NS example.com +short
dig SOA example.com +short- 清空本机缓存后复测,排除本地解析器干扰。服务器与办公机都要清,二者缓存可能不同。
sudo resolvectl flush-caches
dig A example.com +short- 逐台测试权威 NS,确认没有单点故障。某台返回超时说明该 NS 已不可用,应联系服务商下线。
for ns in ns1.example.com ns2.example.com; do
echo "== $ns"
dig @"$ns" A example.com +short
done结果确认
- 三层查询结果一致,
status: NOERROR且 ANSWER SECTION 非空,说明配置与缓存都已正确。 dig +trace末段由权威 NS 给出答案,中间无 timeout 或 SERVFAIL。- ANSWER 中的 TTL 随时间递减而非固定值,说明命中的是缓存;固定不变说明查询的是权威服务器。
- 两台权威 NS 均能返回记录,无单点不可用。
- 对照修改前的值,确认当前结果是新值而不是尚未过期的旧缓存。
注意事项
dig +trace只验证权威数据,不反映运营商缓存;对外答复时以公共递归结果为准,并说明缓存因素。- 修改后 10 分钟内未生效属正常,超过 2 倍 TTL 仍未生效再按链路排查,不要过早重复修改记录。
- 排查时记录每次查询的时间与所用 DNS 地址,便于区分缓存问题与配置问题,也便于事后复盘。
- 若 status 为 NXDOMAIN,先检查主机记录是否填错或记录被误删,而不是怀疑缓存,NXDOMAIN 基本只由记录缺失引起。
- 部分企业网络会劫持 53 端口的明文查询,此时本地结果不可信,改用
dig @8.8.8.8或 DoH 端点对比。 - 若同一域名在不同运营商返回不同地址,优先核对是否有多个权威 NS 且数据不同步,这类问题只能从权威端修复。