DNS解析异常是网站不可访问的首要原因之一。如今, 人们可以直接用普通话书面语来理解主流情况下的DNS解析检测工具, 这些工具能够被分成在线检测平台、命令行工具以及专业监控服务这三类具体的形式。对于日常里的快速排查工作来说, 强烈推荐使用在线平台这一种方式。
如果需要进行批量的域名管理操作, 或者是开展自动化运维相关的业务, 那么建议搭配使用命令行工具与API接口这种组合方式。最后一点需要注意, 在为生产环境进行设置时, 还需要叠加持续监控机制与告警机制, 这样才更加周全。
以下是市面上主流的5款DNS解析检测工具, 这些工具经过了实测验证, 下面将重点介绍它们的核心特性。
1. 腾讯云旗下的DNSPod提供的这项DNS检测功能, 它支持对A记录、AAAA记录、CNAME记录、MX记录、TXT记录、NS记录以及SRV记录等这些全部类型的解析记录进行查询操作。
它的平均响应时间大概是150毫秒左右。同时, 这个系统还提供了可视化的解析链路图功能,也提供了TTL倒计时的展示。因此, 这项服务特别适合国内的普通用户在日常的网络维护中进行问题的排查使用。
2. 阿里云的DNS健康检查功能, 覆盖到了全球超过两百个探测节点, 能够实时反馈出各地域的解析延迟、丢包率以及权威服务器的响应状态, 所以, 它非常适合被那些拥有多地域部署的网站运维团队所使用。
3. dig 命令(Linux/macOS):系统原生支持,可查询任意解析服务器的详细响应报文DNS解析检测工具DNS解析检测工具,加 +trace 参数可追踪从根服务器到权威服务器的完整解析链路,适合开发者深度诊断。
4. WhatsMyDNS是在线工具, 它支持在全球的五十多个城市同时发起查询, 用来直观地对比各个节点的解析结果是否保持一致, 这个专门用于排查DNS缓存问题和区域差异问题。
5. 这个gname.xin DNS检测模块, 它被集成到了域名管理平台内部。除了标准解析记录查询以外。它还同步检测SSL证书有效期。它还同步检测ICMP可达性。它还同步检测HTTP响应码。它还同步检测反解析。也就是PTR记录。这种情况适合已经使用该平台管理域名的用户。他们可以进行一站式故障定位。
选型时重点评估三个维度:
探测节点覆盖的情况: 检测结论是不是贴近真实用户的访问体验, 是由节点数量和地域分布这两方面来决定的, 也就是节点分布得越分散的话, 结论可靠性就越高。
检测维度必须做到完整性, 这需要进行同时覆盖操作, 所覆盖的内容要包括A记录类型、CNAME记录类型、MX记录类型、TXT记录类型以及NS记录类型在内, 除此之外, 还需要包含TTL值、SOA序列号、权威服务器响应这些底层字段。
在生产环境里, 你应该把持续轮询和阈值告警给配置好。比如说TTL低于300秒的时候, 或者解析结果发生改变的时候, 系统得去告警。千万不能用那种一次性手动查询的办法。
在那些用得特别多的情况里, 比如, 当一个新域名还没上线去确认解析对不对和有没有生效后;再比如, 换了dns服务商或者是转到了新的权威服务器之后要去查看全球生效的情况;还有呢, 网站突然间上不了的时候要在五分钟之内搞定初步的定位工作;再有就是定期进行检查建议是每周一次去看看解析记录有没有被改过或者ttl是不是有异常;最后是多区域cdn部署好了之后要核实一下解析的一致性。
在进行检测的时候, 大家需要注意两个点。因为本地DNS缓存可能会导致结果出现滞后的情况。所以建议先执行ipconfig /flushdns, 如果是Windows系统的话。或者如果是macOS系统的话, 就建议执行sudo dscacheutil -flushcache。
先把缓存清理掉之后, 再去进行检测。另外还有一部分运营商存在DNS劫持现象。如果发现某个单一的节点结果出现了异常情况。那么就应当切换至公共DNS, 比如使用114.114.114.114或者8.8.8.8。来进行二次验证。这样做的目的是为了排除运营商中间环节所带来的干扰。


