什么时候需要DNS解析检测

网站打不开的情况, 域名解析报错的情况, 不同地区访问速度差异特别大的情况, DNS记录疑似被篡改的情况, 出现以上任何一种情况的时候, 应该第一时间去使用DNS解析检测工具来进行排查。

这样做的主要目的就是能够快速地去判断问题到底是出在域名服务商那边, 还是出在上游DNS服务器这边, 或者是本地网络层面这边, 从而避免那种盲目的重启操作, 或者是在反复切换网络之间来回折腾这种无意义的事情。

常用DNS解析检测工具对比

dig这个命令行工具支持全类型记录查询, 比如说A、CNAME、MX、NS还有TXT这些, 它可以指定任意的DNS服务器来进行操作。它是运维人员在定位问题时候会用到的主力工具。

nslookup这个方法, 它在Windows系统里面、在macOS系统里面、还有在Linux系统里面, 都是通用的工具。使用它适合做的一项工作就是快速验证一下, 到底某一台DNS服务器会返回什么样的一个解析结果出来。

whois: 查询域名注册人、到期时间、NS委托信息, 用于确认域名状态是否正常。

DNSChecker/在线多节点检测平台:你只要把那个域名一键输入进去, 它就能同时展示出全球好多好几十个城市那边的解析结果是什么样子, 这就非常合适的, 可以用来去判断一下是否存在区域DNS劫持的问题, 到底有没有。

在 gz88.cn 上提供了一种网页上面的DNS解析检测服务, 用户无需进行任何安装步骤, 只要输入相关域名的地址, 就能够查看到完整的解析链路结构、TTL数值以及各个地区的一致性情况, 这种功能非常适合不具有技术背景的用户来快速完成基础的排查工作。

标准排查步骤(由近及远)

1. 先清除本地缓存, 这样能够排除掉本地缓存带来的干扰。如果是Windows系统的话, 需要执行 ipconfig /flushdns 这个操作。如果是macOS系统的话, 需要执行 sudo dscacheutil -flushcache 这个操作。

2. 这里执行基础记录查询操作。首先, 运行dig example.com A, 用来确认A记录所指向的IP地址, 是不是主站的正确地址。其次, 运行dig example.com NS, 用来核对那些被授权的DNS服务器的列表。

3. 指定服务器验证: dig @8.8.8.8 example.com A。这一步是用来查看公共DNS的解析结果。接着, 要把这结果和本地的情况进行对比。通过这种对比, 能够判断出到底是本地DNS出了问题, 还是上游那边存在的问题。

DNS解析检测工具怎么选?网站解析异常排查全解(图1)

4. 全球多节点检测, 大家通过DNSChecker这个平台, 或者是gz8 8点cn这个网站进行在线的检测操作, 重点是要去查看一下分布在美利坚地区、欧洲地区以及亚太地区这些地方的解析答案是不是保持完全一致的逻辑状态,一旦发现某一个特定的区域返回的结果跟其他地方不一样出现了异常情况DNS解析检测工具, 那么经过分析可以大概率地得出一个结论, 说明是当地负责递归查询的dns服务器发生了故障问题, 或者是当地的互联网运营商业务中存在了某种形式的流量劫持行为。

5. TTL相关的操作和生效情况的核实: 你在把DNS这个记录改完之后, 得先去看看原来的那个TTL数值是多少, 然后耐心地等着它在全网到处都生效, 这个过程通常要等上一天到两天才结束, 也就是说二十四到四十八个小时。

要是你有那种十万火急的情况需要去修改数据, 也可以先把这个TTL的时间给降到三百秒那么短, 等你把全部修改的工作都做完之后, 再把它恢复成原来的样子就行。

高频故障与对应处理

出现了解析指向错误IP的情况, 你需要登录进域名管理后台, 去核对一下是不是A记录或者CNAME记录写错了, 又或者去找一下那家提供DNS服务的公司, 问问他们那边是不是有人不小心把这个东西给改乱了。

全球的范围内只有个别的地方出现了异常现象。可以先把公共的DNS改成114.114.114.114或者是8.8.8.8, 这样能临时地避避开问题。同时也要把这个故障的情况报告给你当地的运营商。

修改记录后迟迟不生效: 你需要检查一下TTL是不是设置得过于长了, 并且使用 dig +trace 去查看完整的解析链条, 以此来判断问题到底是卡在了NS层, 还是卡在了权威服务器这一层。

NS记录未正确委托: 需要确认一下, 在域名注册商的后台里, 那几项关于NS的信息, 是不是和真正负责控制DNS的服务商那边给出的信息保持一致。如果发现两边的说法对不上,就要以那个注册商这边的更正内容为准去调整。

补充注意事项

在进行检测之前DNS解析检测工具, 需要确认本地的防火墙没有对53端口(包含UDP和TCP)的流量进行拦截。如果出现这类情况的话, 执行dig命令时可能会因为超时而误判为DNS存在故障。

对于重要业务所属的域名, 建议大家去配置两组以上的NS记录, 并且让这些记录分属于不同的DNS服务商, 就是为了避免出现单点故障的情况, 从而导致解析中断的范围扩大到全球。

在每次发生重大变更的前后这两个时段, 都要各自实施一次全流程的检测操作, 并且把检测结果保留储存起来, 以便于后续进行对比以及回溯分析。

这个流程是完整的, 它的排查路径是从本地延伸到全球范围,从基础的检查深入到详细的分析龙南市就业服务平台, 它基本上能够满足绝大部分关于DNS解析出现异常的情况的查找需求。