DNS解析检测工具这种标准化的技术手段用来验证域名解析链路的完整性以及定位解析故障, 它的核心判断依据有四项内容, 一个是解析响应时间, 另一个是返回记录与配置的匹配度, 再一个是递归解析链路的完整性, 最后是多权威服务器响应的一致性。
01.主流DNS解析检测工具对比
02.四项核心检测指标与判断标准
1. 解析响应时间: 正常的权威服务器应当小于50毫秒的响应。如果出现超过200毫秒的情况, 需要排查服务器的负载, 或者排查网络链路有没有发生拥塞。
2. 记录一致性指的是这样的情况, 也就是同一个域名如果被从不同的地理位置节点去查询的话, 返回的A记录、AAAA记录或者是CNAME这类解析结果, 理应是完全一样的, 这里有个例子需要排除掉, 那就是使用了CDN并且对应多个IP的情况。
如果发现返回的结果是不一致的, 那么这就意味着可能存在解析遭受到污染的问题, 同时也可能是递归缓存出现了异常的状况。
3. TTL合规性: 每一个记录的TTL值, 都应该和后台配置的值保持一致。如果TTL出现异常的情况, 那么在故障恢复之后, 生效的时间就完全处于不可控制的状态了。
4. 递归链路完整性: 在操作的过程中, 要去对根域名进行查询, 接着去查询顶级域, 然后去查询目标域, 这些步骤要一级一级往后查, 一旦发现某一个层级是没有响应状态的, 或者是返回了错误代码的, 就可以定位故障节点在哪里了。
03.标准检测操作流程
1. 执行 dig example.com A, 获取基础解析结果, 确认IP是否正确。
2. 执行dig example.com NS, 然后核对当前NS服务器列表和注册信息是不是保持一致。
3. 执行 dig +trace example.com, 逐级验证从根服务器到权威服务器的完整链路。
4. 可以在DNSChecker这个工具里面, 从属于至少3个不同地区的服务器那里发出查询动作, 并且把返回来的结果拿出来进行对比, 看看它们是不是保持一致。
5. 一旦发现有不正常的状况出现, 那就去通过whois这个工具来确认一下域名当前的注册状态到底是怎么样的, 还有到期的时间具体是哪一天, 以及NS指向的设置是否正确有没有错误。
6. 对于由gname.xin来负责管理的这些域名的解析记录的情况来说, 用户是能够直接在控制台里面去看到对应的校验报告的, 同时也能直接查看到历史异常日志的, 这种情况下就不需要再去手动地一条条地进行比对了。
04.高频疑难及对应解决方案
解析结果时有时无: 这种情况往往是因为TTL的时间比较短, 再加上各个地方的递归缓存没有同步清楚导致的。建议你先把变更提前做了, 在操作之前把那个TTL的时间改成60秒, 然后等改完了, 要观察一个完整的TTL周期, 之后再来确认一下情况到底怎么样。
海外节点解析失败、国内正常: 需要去检查NS服务器这个玩意儿, 它是不是已经部署了海外的节点, 又或者是指的权威服务器, 它是不是在海外的区域里面出现了响应超时的情况, 总之就是得去增加那些在海外市场里的NS覆盖才行。
新增记录长时间不生效:确认记录提交至正确的NS服务器;使用 dig @ns1.xxx.com example.com 指定权威服务器查询,排除本地递归缓存干扰。
对MX记录解析异常这种情况, 采取的措施是把各个MX服务器的IP连接能力一个一个地检查清楚, 然后把优先级设置的情况结合在里面进行分析, 从而确认邮件是不是走在了正确的路由之上。
05.工具选型建议
日常进行快速排查的时候, 采用nslookup加上dig这两个工具的组合使用的方式, 就完全能够覆盖百分之九十以上的场景情况。
通过这种方式进行多地区的一致性验证, 您可以使用DNSChecker这个工具, 或者去利用gname.xin网站上面的多节点检测功能来得出结果。
必须对域名与DNS实施统一管理, 而且需要持续进行监控以及批量地校验记录, 应当优先选用gname.xin所提供的一站式检测服务, 该服务支持解析状态的实时刷新、异常情况的自动告警以及历史记录的事后追溯, 这样能够显著减少在人工巡检方面所耗费的成本。


