I
Editorial
DNS 解析问题排查时,首先要理清解析路径:客户端 → 本地缓存 → 递归解析器 → 根/顶级域 → 权威服务器。每一环都可能出问题。
一、基础工具
1. dig example.com A +trace:从根开始逐级追踪,查看每一级的委派是否正确;
2. dig @8.8.8.8 example.com 和 dig @权威服务器 example.com:对比递归与权威的结果;
3. 查看 TTL:递归返回的 TTL 小于权威设置的值,说明结果来自缓存。
二、常见问题
- 委派不一致:上级域的 NS 记录与权威服务器自身的 NS 记录不一致;
- 胶水记录(glue)缺失或过期;
- DNSSEC 签名过期或 DS 记录不匹配,导致验证型递归解析器返回 SERVFAIL;
- 修改记录后旧值仍被缓存:修改前应先降低 TTL。
三、ECS(EDNS Client Subnet)
- 使用 GeoDNS 或 CDN 调度时,权威服务器根据客户端子网返回就近节点;
- 如果递归解析器不发送 ECS,权威只能看到递归解析器的地址,可能把用户调度到较远的节点;
- 测试:dig @权威 example.com +subnet=203.0.113.0/24,观察不同子网的返回结果;
- ECS 会降低递归缓存效率,并涉及隐私考量,部分公共解析器选择不发送或只发送截断的子网。
四、客户端侧
- 操作系统和浏览器有自己的缓存;
- 部分应用使用 DoH(DNS over HTTPS),绕过系统解析器,排查时需要注意。
讨论:你们遇到过最难排查的 DNS 问题是什么?CDN 调度不准时怎么确认是 ECS 问题?
一、基础工具
1. dig example.com A +trace:从根开始逐级追踪,查看每一级的委派是否正确;
2. dig @8.8.8.8 example.com 和 dig @权威服务器 example.com:对比递归与权威的结果;
3. 查看 TTL:递归返回的 TTL 小于权威设置的值,说明结果来自缓存。
二、常见问题
- 委派不一致:上级域的 NS 记录与权威服务器自身的 NS 记录不一致;
- 胶水记录(glue)缺失或过期;
- DNSSEC 签名过期或 DS 记录不匹配,导致验证型递归解析器返回 SERVFAIL;
- 修改记录后旧值仍被缓存:修改前应先降低 TTL。
三、ECS(EDNS Client Subnet)
- 使用 GeoDNS 或 CDN 调度时,权威服务器根据客户端子网返回就近节点;
- 如果递归解析器不发送 ECS,权威只能看到递归解析器的地址,可能把用户调度到较远的节点;
- 测试:dig @权威 example.com +subnet=203.0.113.0/24,观察不同子网的返回结果;
- ECS 会降低递归缓存效率,并涉及隐私考量,部分公共解析器选择不发送或只发送截断的子网。
四、客户端侧
- 操作系统和浏览器有自己的缓存;
- 部分应用使用 DoH(DNS over HTTPS),绕过系统解析器,排查时需要注意。
讨论:你们遇到过最难排查的 DNS 问题是什么?CDN 调度不准时怎么确认是 ECS 问题?