rmdir.cn
← 排障手册

DNS 解析异常排障

区分超时、NXDOMAIN、SERVFAIL 与记录差异,对照解析器、记录类型和缓存 TTL。

适用范围与前提

客户端至递归解析器的 DNS 排障;不执行区域传送、不修改系统 DNS,不等同于网站连通性检测。

  • 仅查询获授权的名称与解析器;命令会产生网络请求,域名可能进入终端历史、网络设备和解析器日志。
  • 示例 example.com 与 192.0.2.53 分别是公开名称和文档地址;将服务器替换为已批准且实际可达的 IPv4 解析器。
  • 先记录故障时间、所在网络/VPN、查询类型、预期记录及最近变更;完整输出可能包含内部地址。

命令仅供手动复制到获授权的环境执行。站点不会连接服务器;涉及网络的诊断可能产生请求或登录审计记录。

1. 保留完整 DNS 响应并分类

dig -q 'example.com.' -t 'A' +time=3 +tries=1

预期现象:记录 status、ANSWER、AUTHORITY、TTL 和 SERVER。超时表示未收到有效回答;NXDOMAIN 表示名称不存在;SERVFAIL 表示解析失败;NOERROR 且答案为空可能只是没有该类型记录。

2. 在同一网络对照 UDP 与 TCP

dig '@192.0.2.53' -q 'example.com.' -t 'A' +time=3 +tries=1
dig '@192.0.2.53' -q 'example.com.' -t 'A' +time=3 +tries=1 +tcp

预期现象:先替换文档地址。仅某种传输失败提示路由、53 端口策略、截断回退或解析器监听差异;默认 dig 遇截断可能回退 TCP,不能只凭命令参数确认实际传输。

3. 对照已批准解析器的完整回答

dig '@192.0.2.53' -q 'example.com.' -t 'A' +time=3 +tries=1

预期现象:将同一名称、类型与系统解析器结果对照。SERVFAIL 可由 DNSSEC 验证、委派、权威服务或上游超时引起;不能直接认定本地故障,更不能禁用 DNSSEC 作为修复。

4. 核对记录类型、别名和 TTL

dig -q 'example.com.' -t 'A' +time=3 +tries=1
dig -q 'example.com.' -t 'AAAA' +time=3 +tries=1
dig -q 'example.com.' -t 'CNAME' +time=3 +tries=1

预期现象:对照已批准的权威配置、变更时间和旧 TTL;检查拼写、尾点、CNAME、分区 DNS/VPN 和负缓存。没有 AAAA 或 CNAME 不一定是错误;地域/CDN 答案差异也可能符合策略。

修复建议(需人工确认)

  • 由域名负责人备份并人工确认后修正错误记录、委派或 DNSSEC 配置;降低新 TTL 不会立即清除已有缓存。
  • 按旧 TTL 与负缓存时限安排观察;确需刷新某层缓存时先确认影响,不批量刷新或把公共 DNS 作为通用替代。
  • 网络问题由管理员修正最小必要路由/访问策略,保留回退方案,不关闭防火墙或验证机制。
完成经确认的修复后,验证恢复

验证恢复

  • 在原故障网络和已批准对照网络重复相同类型查询,核对 SERVER、status、答案与 TTL。
  • 使用应用正常的 DNS 路径验证;浏览器 DoH、系统缓存与 dig 路径可能不同。解析正确之后另行检查服务连接。

升级求助前收集

  • 提供时间及时区、网络/VPN、名称与类型、预期记录、脱敏完整回答、解析器及变更/旧 TTL;内部名称不要直接发到公共解析器。