当出现域名打不开的情况, 或者是在页面加载过程中出现了超时的现象, 第一步需要进行的检查工作就是关于DNS解析方面的检测。
使用DNS解析的检测工具所发挥出来的核心价值主要体现在这样一个方面, 那就是能够让人在非常短的时间之内, 也就是几分钟的这个时间范围里面, 把到底是属于DNS方面的问题还是不属于DNS方面的问题给判定得非常清楚, 从而避免了大家在不了解具体情况时就盲目地去清除缓存, 也避免了大家在没有头绪的时候盲目地选择等待。
接下来会介绍三款在实用性方面表现最为突出而且最被人们认为是好用的检测工具, 同时也会提供一套标准的排查流程给大家参考。
一、这是命令行检测工具, 是开发者或者运维人员的首选。
1. dig(Linux / macOS)
核心的, 那一个命令。
执行查询A记录的命令, 使用的是dig指令, 针对的是example.com这个域名进行的A记录的查找工作。
执行查找MX记录的这项操作, 具体的指令是使用dig工具, 针对example.com这个域名进行查询。
我们要做的是指定DNS服务器, 具体的做法是使用命令“dig @8.8.8.8 example.com”。
仅取IP结果:dig example.com A +short
具体的操作示范是这样的, 在电脑上执行dig这个命令, 后面跟着@114.114.114.114DNS解析检测工具,再然后是gname.xin这个文本, 如果一切正常的话, 系统应该会返回跟这个域名对应的IP地址信息, 要是结果显示为NXDOMAIN, 或者是过了很长时间都没有任何反应的迹象, 那就说明整个解析的链路是存在异常的这种情况DNS解析检测工具,需要再进行更进一步的排查工作。
2. 在Windows环境中, 人们使用的是nslookup这个工具。
基本查询的这个过程是, 执行一下nslookup example.com这个动作。
切换服务器:先输入 set server=8.8.8.8邓州平安中西结合医院,再执行 nslookup example.com
这句话是用来在 Windows 操作系统的那个命令行工具, 也就是终端里面, 去快速地检查一下本地域名解析的功能, 是不是处于正常可用的状态。
二、大家现在用的, 面向那种不太懂技术的朋友的, 在线查一下dns情况的检测平台。
在浏览器里面把那个域名输进去之后, 平台就会自动去调用全球很多个DNS的节点, 然后把解析出来的结果返回给你, 结果里包括记录类型还有TTL值, 这个方式是很适合那些没有命令行环境的人用的, 只要几秒钟就能得到结果, 所以根本不需要安装任何软件。
三、标准排查流程, 具体分为三步来做到位定位。
第一步, 使用dig工具或者nslookup工具来查询目标域名, 对比返回的IP地址是否与你DNS服务商后台配置的记录保持一致。
进行步骤二的操作, 如果发现结果是不一致的, 那么就要去检查后台的记录, 看看拼写对不对, 看看记录的类型是否准确, 还要检查一下TTL是不是太高了, 因为TTL过高会导致全球的传播没有办法顺利完成, 如果结果是相一致的, 那么就进入步骤三。
进行第三步操作。具体步骤就是先把状况解析清楚, 虽然解析的结果是正常的情况发生的, 但是网站的访问还是无法完成的。这个情况说明问题不是出在DNS这一层面上的。所以我们需要把注意力转移到去检查其他方面上。这些方面包括服务器端口的状态、防火墙规则的设置情况, 还有SSL证书的有效时间是不是还有效。
四、高频疑难与解法
这个“不时出现又消失”的情况, 大多数情况下是因为TTL值设置得太大了, 或者是有多个节点在一起同步数据的时候出现了延迟。建议把TTL调到300秒以内的数值, 然后观察两个TTL周期结束以后, 再重新测量一下看看结果。
在部分地区可以解析, 而在另一些地区不能解析的情况之下, 要分别执行针对114.114.114.114这个地址的dig命令, 以及针对8.8.8.8这个地址的dig命令进行对比操作, 从而锁定那些尚未实现同步工作的递归DNS解析节点。
刚把记录添加进去, 可是就是查不到: 请用dig命令加上权威DNS服务器的地址, 直接向权威源发起查询, 先确认一下这条记录是否已经成功写入了权威源里面, 等本地TTL的时间到期之后再进行后续的操作。
按照上述的流程, 再配合相应的工具来进行操作的话, 绝大多数的DNS解析故障都能在五分钟这个很短的时间内被找准具体的原因, 这样就根本不需要再去反复做着清理缓存、然后重启系统、最后干等这种折腾人的事情了。

