两种截然不同的使用时刻
dig / nslookup
完整协议细节,可脚本化,可离线使用
网页版工具
无需配置,支持批量查询,可分享
如何使用 DNS 查询工具:实用指南
借助 DNS 查询工具,您可以向域名系统询问:某个主机名当前发布了哪些记录。当网站无法访问、邮件服务收不到邮件,或者需要核对最近的 DNS 变更时,它能节省不少时间。有用之处并不在于复制一条应答,而在于弄清楚查询的是哪种记录类型、由哪个解析器作答,以及这个应答能证明什么、不能证明什么。查询报告的是该解析器在那一刻所掌握的 DNS 数据。它不会测试 Web 服务器是否健康,不会测试邮箱是否接收邮件,也不能保证全球每位访问者看到的结果都相同。
从确切的主机名和具体的问题开始
在打开 DNS 检查工具之前,先写下您想检查的确切名称。根域名 example.com 和 www.example.com 这样的子域名可能有不同的记录,而 mail.example.com 这样的邮件主机又可能与二者都不同。请确定您需要的是 IP 地址、邮件路由、权威域名服务器、别名,还是验证文本。这样可以避免一个常见的错误:去查询根域名的 A 记录,而出问题的其实是某个子域名的 CNAME 或 MX 配置。如果您手里是一个完整的 URL,只需取出其中的主机名部分,路径、查询字符串和页面名称都不属于 DNS 名称。
| 记录 | 能帮助回答什么问题 |
|---|---|
| A / AAAA | 发布了哪些 IPv4 / IPv6 地址? |
| CNAME | 这个名称是否是另一个主机名的别名? |
| MX | 哪些主机被指定接收邮件? |
| NS | 该区域委派给了哪些域名服务器? |
| TXT | 发布了哪些基于文本的验证信息或邮件策略? |
针对与问题相关的记录类型执行查询,然后结合状态来解读每个结果。对 CDN、冗余服务或 DNS 轮询来说,出现多个地址是正常的。AAAA 应答为空,并不自动意味着整个域名有问题,也可能只是该名称没有 IPv6 记录,而它的 A 记录工作正常。CNAME 指向的是另一个主机名,所以在得知最终地址之前,可能还需要对这个目标再查询一次。MX 结果带有优先级,数值较小的会先于数值较大的被尝试。TXT 应答可能被 DNS 工具拆分成多个片段,即便这些片段其实只是同一条逻辑字符串。
把结果当作证据,而不是完整的健康检查
一次成功的 DNS 响应只能证明解析器返回了数据,并不能证明目标地址接受连接,也不能证明它提供的是正确的应用。排查网站故障时,请先把它的 DNS 应答与已知正确的值进行比对,再另行测试 HTTPS、证书和应用响应。对于邮件,请检查 MX 和相关的策略记录,但要记住,仅凭 DNS 无法确认接收服务器会接受某一封具体的邮件。超时、SERVFAIL、NXDOMAIN,以及有效响应但没有所请求的记录,这几种情况含义各不相同。请记下确切的错误和时间,以便日后比对,而不要把每一个空白结果都当作同一种故障。
- 检查确切的完整限定主机名,包括预期的子域名。
- 排查地址可达性时,分别查询 A 和 AAAA。
- 检查区域委派或权威配置时,使用 NS 和 SOA 数据。
- 如果怀疑存在缓存或解析器特有的行为,请通过另一个解析器重复检查。
- 不要把某个 IP 地址当作域名的物理来源、所有者或服务器健康状况的证明。
可重复使用的变更流程
对于计划中的 DNS 修改,请在改动之前先保存原有的应答。发布新记录之后,再次查询该名称,并比对值、记录类型和 TTL。如果应答与预期不符,请检查您编辑的是否是正确的 DNS 服务商和区域;注册商处的域名服务器设置,可能把域名指向您刚刚修改的控制台之外的地方。然后把权威域名服务器与递归解析器进行比对,以区分是区域配置问题还是缓存数据。请把检查范围限定在您所管理或获准评估的公网记录上,不要借 DNS 检查之名去探测私有网络。
一款好的 DNS 查询工具,最有价值之处在于清晰地呈现记录类型和结果,把 IPv4 和 IPv6 当作两个独立的问题来处理,并且不把错误隐藏在一个绿色对勾背后。请用它来缩小范围,弄清 DNS 目前是怎么说的,再用针对具体服务的检查去查看下一层。如果只想做专门的域名转 IP 检查,域名查询工具可以显示公网地址应答;另一篇 DNS 记录类型指南则解释了各种常见记录的用途。了解这些边界,您就能更快地排障,也不会高估单次查询所能证明的内容。
保存一份有用的查询记录
当查询是故障处理或计划变更的一部分时,请以简洁、可重复的格式保留证据。记下完整限定名称、查询类型、响应状态、应答集合、TTL、解析器、网络位置和时间戳。再加一句话,说明您当时想回答的问题,例如新的网站主机是否已经可见,或者某个 MX 目标是否仍指向已停用的服务商。这样,没有参与首次检查的同事也能看懂这份结果。如果日后应答发生变化,您就可以进行同类对比,而不必回想当时用的是哪个主机名或解析器。请只存放团队所需的信息,尤其是在检查涉及非公开名称时,公共查询服务并不适合用来处理机密的内部主机名。
需要查看某个域名的公网 DNS 地址?使用 Domain IP Lookup 工具。
本主题的免费工具
相关阅读
几乎每个 DNS 区域都会遇到的记录
DNS 检查工具:如何正确检查 DNS 记录
借助 DNS 检查工具查看 A、AAAA、CNAME、MX、NS 和 TXT 记录,比对各处的应答,并排查常见的 DNS 配置问题。
两种寻址方案,并行运行
IPv4
192.0.2.10
32 位,约 43 亿个地址,已耗尽
IPv6
2606:4700::6810:84e5
128 位,约 3.4×10³⁸ 个地址
如何查找域名的 IP 地址
查找域名的公共 IPv4 和 IPv6 地址,理解 A 和 AAAA 应答,并了解为什么 DNS 可能返回多个有效的 IP 地址。
每个 IPv4 地址段都有对应的 IPv6 地址段
如何检查域名是否支持 IPv6
查询域名的 AAAA 记录,区分 IPv6 的 DNS 发布与 IPv6 连通性,并排查双栈配置中常见的疏漏。