DNS解析检测工具是用于验证域名解析是否已经正确生效的专用工具。

当网站无法访问的时候, 也就是遇到访问障碍的情况,或者是解析结果出现异常现象的时候, 再或者是在DNS配置信息变更完毕之后需要确认是否已经成功生效的阶段里, 此时使用DNS解析检测工具这一方法, 可以在仅仅数分钟这一短暂的时间周期内完成问题根因的有效定位动作, 从而有效避免因进行盲目排查操作而导致的时间浪费损失发生。

一、核心检测指标

现在的DNS解析检测工具, 在一般情况下, 它们通常会覆盖下面这些记录类型:

我们需要去看一看, 这个域名是不是正确地指向了一个ipv4地址, 这个过程就是关于a记录的核实工作。

AAAA记录, 这个是不是配置了一个有效的IPv6地址呢。

CNAME记录里面的别名指向到底是不是准的, 还有没有那种把自己绕进去的死循环的问题, 这些都要看清楚。

你要去确认那个用来给邮件服务器进行解析的优先级情况, 还有对应的地址方面, 看看它们是不是正确的。

对于NS记录, 我们要去检查一下那个权威的DNS服务器现在是否已经在正常起作用了, 并且在配置方面是不是全部都弄好了。

关于TXT记录, 需要确认一下SPF、DMARC以及其它形式的文本记录, 这些是不是都已经齐全了。

二、标准检测流程

1. 请找到那个目标域名的地址(像输入gname.xin那样), 然后点选你要去检查的那种记录类型。

2. 工具在同时执行的过程中, 是面向全球范围内的多个DNS节点去发起查询动作的, 然后获取到了这些各地实际返回出来的具体结果。

好用的DNS解析检测工具推荐,域名解析异常快速排查(图1)

3. 把各个节点那边返回来的东西放在一起对比看看, 然后据此判断整个解析的过程是不是保持着全局层面的统一性。

4. 大家可以去检查一下那个ttl的剩余时间是多少, 然后对这个事情的实际情况做出一个评估, 看看各个地方的缓存刷新进度到底是怎么样的。

5. 倘若出现了不一致的状况的时候, 咱们就应该进一步去进行区分的分析工作, 具体看看这个毛病出现在本地的DNS缓存上面, 还是说发生在上游递归所对应的DNS环节里面, 又或者是权威DNS方面存在了问题所在。

三、常见异常及处理

部分区域的解析是正常的, 而另一部分区域则表现为异常。

这种情况多数是因为各地的DNS缓存还没有刷新造成的, 需要等待TTL到期或者手动进行刷新操作, 比如在Windows系统上要执行ipconfig /flushdns命令, 在macOS系统上则要执行sudo dscacheutil -flushcache命令。

所有的节点全部都返回了错误的IP地址, 这是因为权威DNS记录还没有完成更新的任务, 你需要去登录你自己使用的DNS服务商的后台界面, 来仔细核对相应的配置情况。

解析请求的超时情况发生了, 原因是指定的目标DNS服务器无法被访问到, 这时候用户可以暂时把系统的DNS设置切换成常用的公共DNS地址, 比如114.114.114.114, 或者是8.8.8.8。

发现CNAME这种解析结果出现了循环的问题, 具体来说就是这条记录的目标地址不小心指向了自己的那个主域名了, 针对这种情况是需要把这个目标给改掉的, 要么就直接改成服务器的IP地址, 要么就去另外找一条不一样的CNAME记录把它换上。

四、选型与使用建议

咱们在选择DNS解析检测工具的时候, 应该把关注点放在那三个特别重要的方面上面, 第一个方面是看这个检测节点到底覆盖的范围有多广, 要求里面得包含至少好几个国内省份的情况, 同时也得包含海外的那些区域都是什么主要内容, 第二个方面是去看它支不支持的那些记录类型是不是完全具备的这样一个状态, 第三个方面嘛就是去看它能不能提供历史的对比内容以及有没有告警功能的这种设置。

在日常的运维工作里面, 建议大家每周针对那个核心的域名去执行一次完整的记录检测操作, 另外呢, 当遇到那种重大的配置变更发生之后的时候, 一定要马上去进行验证一下, 这样子做的话, 确实是非常有效地避免了因为解析出现漂移这个问题而导致的业务中断的一个现象。

只要弄明白了上面说的那些办法, 基本上花5分钟左右的时间, 就能够顺顺利利地完成一次对DNS解析问题的完整排查工作。