DNS 解析故障定位:从应用超时到权威记录

沿着本地缓存、递归解析、权威 DNS 和网络路径逐层定位解析失败与间歇性超时。

文章目录 · 4 节

DNS 故障常被误判为应用或数据库超时。定位时必须保留查询名称、记录类型、解析服务器和失败时间,否则很难复现缓存相关问题。

对照不同解析器

cat /etc/resolv.conf
dig example.com A
dig @1.1.1.1 example.com A
dig +trace example.com

默认解析失败而公共解析器正常,优先检查企业递归 DNS;所有解析器都失败,则沿 +trace 结果检查委派和权威记录。

关注返回码与延迟

NXDOMAIN 表示名称不存在,SERVFAIL 常见于 DNSSEC、权威超时或上游故障。间歇性超时要分别测试 UDP 和 TCP:

dig example.com +stats
dig example.com +tcp

UDP 失败而 TCP 正常时,检查 MTU、防火墙和大响应包。多条 A/AAAA 记录中只有部分地址异常,也会造成看似随机的失败。

检查缓存与 TTL

修改记录前先确认 TTL。发布后立即重复查询可能仍命中旧缓存,降低 TTL 必须在变更前至少一个旧 TTL 周期完成。

收尾清单

  • 保存失败查询的完整 dig 输出
  • 核对搜索域和 ndots 配置
  • 验证 IPv4 与 IPv6 记录是否一致可达
  • 监控解析成功率、P95 延迟和各类返回码