当网站出现访问不正常的情况时, DNS解析出现的故障原因是在多种根因里面发生频率最高的一个原因。DNS解析检测工具通过模拟客户端向DNS发起查询请求, 来验证域名记录的返回结果是否正确, 以及检查响应延迟是否处于正常的范围内, 这是运维人员和站长在排查“网站打不开”这一问题时所使用的第一道检测手段。
DNS解析检测的核心检测项
一次完整的对DNS解析所进行的检测工作, 应该是要能够去覆盖到下面所说出来的这些个方面的维度的。
请确认域名是否正确解析到目标IP地址, 这里的A记录和AAAA记录需要被检查清楚。
CNAME记录: 大家需要确认一下别名指向是否真的有效, 还需要确认链路是否完整。
MX记录的意思是, 我们要去查看一下邮件服务器的解析功能是不是处于正常的状态。
NS记录的权威DNS服务器配置情况, 要看它是否保持一致, 还要看有没有缺漏。
强调整TLL值, 这是缓存时间, 判断它是否合理, 看看它会不会对故障恢复的时效性造成影响。
响应延迟就是指解析过程的所用时间, 这个时间有没有超出正常范围所规定的阈值, 通常情况下是要小于50毫秒的。
记录一致性: 这是指检查当多个权威性DNS服务器同时返回数据时, 它们各自给出的具体结果内容, 在每一个字符和数值维度上, 是否能够达到完全一致的严丝合缝的状态。
标准检测步骤
1. 本地检测: 在服务器上面运行命令, 或者在台式电脑上面运行命令, 具体的操作包括执行 dig 域名.com, 也包括执行 nslookup 域名.com, 还包括执行 ping 域名.com, 通过这些操作来确认本地是否能够正确获取到IP。
2. 多地多线检测是选择一个动作, 这个动作指的是选择不同地区、还有不同运营商里面的DNS节点来发起查询, 这么做是为了排除区域性解析故障。
3. 在线工具辅助, 通过像 gname.xin 提供的DNS解析检测服务这样的在线DNS检测平台来输入域名, 可以一键获取全球多节点的解析结果, 还会记录快照以及显示延迟数据, 这种操作适合在无服务器环境里进行快速排查。
4. 三方对比验证, 就是把本地检测结果、在线多节点出来的结果、还有向权威NS直接查询得到的结果, 放在一起进行交叉比对, 好把差异点精准地定位出来。
常见故障判断标准
检测频率与监控建议
日常巡检这个工作, 需要每天至少做一次那种把全过程都记录下来的完整检测。
故障响应: 一旦接到用户访问异常情况的反馈说明, 就在5分钟之内, 立刻着手启动针对DNS问题的具体检测操作步骤。
进行变更验证, 在DNS记录修改之后, 等到TTL过期之前各检测1次, 确认全球节点同步完成。
我们来进行持续性的监控工作, 具体来说, 就是把DNS解析检测这一项内容加入到现在正在进行的自动化监控体系里面去, 同时要设定一下延迟的阈值是多少, 并且记录下那些变更的情况以便发出告警信号, 这样一来, 就可以在故障出现后的几分钟时间里把问题发现了。
DNS解析检测工具, 是保障域名服务可用性的基础运维能力。我们建议将检测流程固化为标准操作。这样做的话, 就可以配合多节点监控与告警机制。最终确保任何解析异常能够在影响变大之前得到定位和修复。


