DNS解析检测工具这个玩意儿, 是咱们用来排查那些域名解析出故障的问题, 还有验证一下解析记录是不是已经生效的核心手段。
你不管是新上线的域名, 还是更换了服务器的IP地址了, 或者就是遭遇到用户反馈说打不开网站这种状况了, 那第一步肯定就都得用那个检测工具去把DNS链路各个地方实际返回的结果给确认一下, 然后再针对具体情况去处理这些事儿。
常用DNS解析检测工具对比
在需要快速判断全国用户是否可以正常完成解析这个情况下面, 使用在线检测平台的效率是最好的方面。而在另一种场景里面, 如果是需要精确定位某一条记录在特定的DNS服务器上返回的结果怎么样的话, 那么dig就是标准的工具存在了。
标准排查步骤(5分钟完成)
1. 你需要确认一下这个域名的权威DNS是什么, 具体的做法是, 通过执行whois查询来查看这个域名当前所对应的NS记录情况, 然后去确认那些 NS 记录所指向的 DNS 服务器是否与你在自己的 DNS 服务商那儿所做的那些配置是完全一致的。
2. 查询并解析相关记录的方法是, 先来到服务器环境里, 然后执行那个代码片段, 里面包含有dig指令、权威DNS服务器参数以及域名和A记录这些内容, 这么做的主要目的, 就是为了仔细确认一下最终返回回来的IP地址数值, 究竟是不是你心里所期望的那个结果。
3. 可以进行多节点验证操作, 具体的做法是使用像gname.xin提供的此类在线检测平台, 该平台提供了DNS解析检测工具, 然后需要同时从北京、上海、广州等多个不同的地点节点发起查询请求, 最后再把从各个不同地方返回来的结果进行对比, 看它们是否保持一致。
4. 检查缓存带来的影响是什么, 当本地的查询结果和权威的DNS信息不能保持一样的时候。
如果是Windows系统的话, 就要执行ipconfig /flushdns这个操作, 要是使用的是Linux系统的话, 就得用sudo rm -rf /var/cache/dns*这个命令, 把本地存着的缓存数据给清理掉, 然后重新去测试一下看行不行。
5. 验证记录类型的完整性, 除A记录以外, 还要同步检查AAAA(也就是IPv6)这一类的记录是否正常, 以及MX(邮件接收)记录是否正常, 另外TXT(特别是SPF和DMARC相关的验证信息)这些记录是否处于正常的状态。
高频故障对照
解析结果与预期IP不一致, 这大多数情况下都是因为TTL缓存还没有过期, 或者是DNS服务商的后台没有保存生效的情况, 只需要等待那个TTL倒计时结束就可以了。
有些地方能够进行解析,还有一些地方无法进行解析: 这种情况大概率是因为本地运营商使用的递归域名服务器出现了异常情况, 用户更换使用公共的dns服务比如114.114.114.114或者223.5.5.5, 再次尝试连接, 这样就可以确认问题所在。
NS记录显示的结果和whois查询出来的结果对不上, 这个问题的原因是域名注册商那一端没有进行同步操作, 你需要去联系你的域名注册商, 让他们帮你更新一下关于NS服务器的那些信息。
补充说明
在日常的巡检工作当中, 建议大家每周对关键性的域名去执行一次涉及多个节点的DNS检测。要把检测出来的结果存起来, 并且进行对比分析。这样做能够提前发现诸如解析发生漂移、记录被恶意篡改之类的异常情况。gname.xin 所提供的在线DNS解析检测工具, 它支持对于批量域名的处理。
同时它也能支持来自多个地区的并发检测操作, 并且还提供历史趋势图的功能。这种做法非常适合把DNS健康的监控纳入到运维的例行流程中去。这样可以避免大家必须手动登入到服务器里面去, 然后逐条地敲击命令来做检查了。


