dig +trace 是什么
溯源模式让 dig 扮演一次递归解析器:先问根服务器该顶级域由谁负责,再问顶级域该域名由谁负责,最后向权威服务器要最终答案,整个委派链条原样打印出来。它的价值在于把『哪一层出了问题』变成可见的:中间某一层开始超时或返回异常,问题层就浮出水面。它自带的查询链路会跳过本机配置的转发与缓存,因此结论是权威视角的。
基本信息
| 适用平台 | 与 dig 相同,需要能直接访问各层服务器的域名服务端口 |
|---|---|
| 工作原理 | 逐层询问根、顶级域与权威服务器,不做递归也不读本地缓存 |
| 输出结构 | 按层级分段展示每一层的应答,含该层的授权记录 |
| 常用变体 | 可叠加显示安全扩展签名链,观察逐层校验情况 |
| 使用前提 | 本机能向各层服务器的服务端口发起查询,否则会全程超时 |
典型使用场景
- 确认权威侧配置:绕开缓存判断源站记录到底有没有生效
- 定位断在哪一层:看输出从哪一段开始变慢或超时
- 核对委派链:确认域名的权威服务器是否已经切换完成
- 变更核查:域名迁移后逐层确认新权威被正确引用
- 安全扩展排查:观察签名链是否完整与校验是否通过
逐层溯源
逐层溯源
dig +trace example.com
# 典型输出顺序:
# 1) 根服务器返回顶级域的权威服务器清单
# 2) 顶级域服务器返回该域名的权威服务器清单
# 3) 该域的权威服务器返回最终记录
dig +trace +dnssec example.com # 附带安全扩展签名,观察校验链
dig +trace example.com A | grep -E '^[a-z0-9]+\.' | head # 只看每层的应答行输出逐层读法
| 输出位置 | 含义 | 异常指向 |
|---|---|---|
| 第一段 | 根服务器的应答,指出顶级域由谁负责 | 这一段就异常说明出口域名服务端口被拦 |
| 第二段 | 顶级域服务器的应答,列出该域的权威服务器 | 缺少权威记录说明域名未正确注册或未做委派 |
| 第三段 | 权威服务器的最终应答 | 这一段异常说明权威侧配置或服务存在问题 |
| 耗时分布 | 各层的响应时间 | 某层明显变慢说明该层链路或服务器响应慢 |
| 超时行 | 未收到应答的查询 | 从超时开始的那一层就是问题层 |
排查时先与一个正常域名做对照:正常域名走到哪一层、异常域名卡在哪一层,两者一比,问题层立刻清晰。
企业内网常只允许通过指定服务器出网查询,此时溯源模式全程超时并不代表权威故障,需结合本机出口策略判断。
常见断点对照
| 断点位置 | 含义 | 处理方向 |
|---|---|---|
| 第一段就没有应答 | 无法访问根服务器,出口被限制 | 确认出口策略是否只允许指定解析服务器 |
| 第二段缺少委派记录 | 域名未正确注册或未配置权威 | 联系域名注册与管理方核对委派 |
| 第三段权威无应答 | 权威服务器不可达或配置拒绝 | 逐台直查权威并检查其服务状态 |
| 某一段耗时明显偏长 | 该层链路或服务器响应慢 | 记录耗时并向上游反馈具体层位 |
| 全部正常但应用仍异常 | 应用使用了缓存或别的解析路径 | 转向应用侧解析配置与缓存检查 |
溯源模式会向多台公网服务器发起大量直连查询,在大规模巡检中容易触发安全设备告警,应控制频率与范围。