DNS解析检测工具是用来验证域名是否被正确解析到目标IP地址的专用软件。在网站打不开, 或者解析结果不正常的时候, 你可以用它来排查问题。还有就是在需要确认DNS配置变更是否已经生效的时候, 也应该优先选用这样的工具进行检查。

常用DNS解析检测工具及适用场景

工具 适用平台 核心功能
nslookup Windows/Linux/Mac 快速查询指定域名解析结果
dig Linux/Mac 完整DNS查询DNS解析检测工具,支持多种记录类型
host Linux/Mac 轻量级DNS查询命令
DNSPod诊断工具 浏览器端 全国多节点实时解析检测
云DNS在线检测 浏览器端 多运营商、多地域解析验证

核心检测参数

在利用上述各个工具的时候, 用户需要把主要的注意力放在下面这些参数的设定上面去。

A记录:域名对应的IPv4地址

AAAA记录, 就是指域名所对应的那个IPv6地址。

CNAME记录的作用是,给一个别名去指定一个目标。

这个叫做MX记录的东西, 它指的是邮件服务器的地址。

所谓的TTL值, 它指的是缓存的过期时间, 其单位是秒。

排查步骤(以dig为例)

DNS解析检测工具怎么选?附常用工具对比与排查步骤(图1)

1. 执行 dig @8.8.8.8 目标域名 ADNS解析检测工具大城新闻网,查看权威服务器返回结果

2. 执行这个操作, 也就是使用dig工具去查询目标域名的A记录, 并且加上 +trace 这个参数, 以此来追踪那个完整的解析过程链路。

3. 我们可以分别使用像114.114.114.114, 还有像223.5.5.5这样的DNS服务器来发起查询操作。接着, 我们要对查询返回的结果进行对比, 看看它们的返回结果是否一致。

4. 大家要去查一下TTL这个数, 它的一个正常的取值范围一般是得在600秒到86400秒之间。

常见异常及处理

返回的结果是"NXDOMAIN", 这说明域名没有注册权威DNS也没有配置, 必须先确认域名的注册状态。

返回来的IP地址和事先预期的地址不对, 所以需要去查一查权威DNS的那套配置记录到底长什么样, 同时要确认一下那个位置的IP地址有没有被填错。

不同地区的解析结果会出现不一致的情况。这种情况大多是由于智能DNS调度所导致。例如由gname.xin提供的全球CDN节点, 会按照用户所在的地理位置, 返回距离最近的IP地址信息。这属于正常现象。

因为TTL设置得过高, 所以这个变更一直没生效, 需要等到TTL倒计时全部结束才可以, 或者先把TTL调整到一个更短的时间比如60秒然后再去修改这条记录。

注意事项

建议在检测的过程中, 至少要从三个不同运营商的DNS服务器去发起查询动作, 以此来排除掉单点故障所带来的干扰问题。在使用在线检测平台的时候要选择那种覆盖到不少于五个地域节点的方案来确保结果是具备代表性的情况的, 从而避免因局部网络波动而产生出误判的结果。