排查 DNS 时只检查 UDP 访问是不完整的。某些情况需要 TCP,因此可能出现部分查询成功、另一些查询失败的现象。
基本原理
传统 DNS 同时使用 UDP 和 TCP。较大的响应以及 UDP 响应被截断后转用 TCP 的情况,都说明 TCP 访问的重要性。加密 DNS 可能采用不同的传输方式。
检查步骤
- 记录问题是否集中在特定记录类型或较大的响应上。
- 分别检查客户端与解析器之间的 UDP 和 TCP 访问策略。
- 对比网络日志中的超时、响应截断和重试行为。
实际示例
如果较小的 A 查询成功,而较大的签名响应失败,仅修改域名记录可能无法解决问题。应调查传输路径是否阻断 TCP,或是否存在数据包大小问题。
正确理解结果
能建立 TCP 53 连接并不等于 DNS 解析成功,还需要检查对应查询的响应。不要把通用端口检查和 DNS 协议测试当作同一种测量。
来源与延伸阅读
协议或命令详情: RFC 7766。步骤和示例场景由 IPScans 编辑团队编写。