DNS解析检测工具, 是验证域名DNS记录配置是否正确、是否已生效的核心手段。当出现网站打不开的现象时, 应当优先使用DNS检测工具, 确认解析链路是否正常,再去判断问题出在哪一层。

同样的DNS解析检测工具, 当出现邮件收不到现象的时候, 也需要这么做。还有当CDN未切换这种问题的出现时, 同样要先用这个工具来确认情况。

主流DNS解析检测工具

1. 命令行工具

使用 dig 这个工具, 在 Linux 系统或者 macOS 系统中是有效的,然后你可以输入 dig 域名 A 来查看 A 记录龙南市就业服务平台, 也可以输入 dig 域名 MX 来查看邮件记录, 另外还支持指定 DNS 服务器, 比如说输入 dig @8.8.8.8 域名, 这样做的目的是为了对比不同解析节点的结果。

可以使用这个工具来实现查询, 它在Windows以及Linux等这些系统里面都是可以用的, 它的定位是一个非常基础性的查询手段, 适合用来去做一个快速的验证动作, 主要目的就是为了去确认某某一条特定的记录是不是确实存在在这个环境里面的。

2. 在线检测平台

gname.xin提供免费的DNS在线检测功能, 它支持A记录、AAAA记录、CNAME记录、MX记录、TXT记录以及NS记录等全部常用记录类型的实时查询。

用户无需安装任何客户端软件, 只需输入目标域名, 即可查看来自全球多个节点的解析结果。这项服务非常适合非技术人员使用, 可以帮助他们快速进行故障排查。

其他常用平台:DNSPod在线工具、Cloudflare DNS Checker、Google DNS Lookup。

检测时必须关注的4个参数

参数 含义 异常表现
记录值 域名指向的IP或目标域名 值错误或为空则网站无法访问
TTL 缓存存活时间(秒) 过大导致修改后生效慢
NS记录 域名使用的权威DNS服务器 配置错误则整域解析失败
SOA 序列号与刷新周期 序列号未更新说明记录未同步

5步排查流程

DNS解析检测工具怎么用?一文教你快速排查域名解析故障(图1)

1. 本地查询: 在出故障的那个机器上dig 域名。确认一下, 能不能获取到正确的解析记录。

2. 请你去执行那个权威的 dns 查询, 具体的指令是 dig @ns1.你的dns商 域名, 然后你要以此来确认一下, 权威服务器上的那些记录数据, 它们本身是不是正确的。

3. 做多节点的进行对比,使用gname.xin或者DNSPod工具去查看北京还有上海以及广州还有海外的节点解析是否一致。

4. 检查TTL与缓存DNS解析检测工具, 如果记录已改还未生效时, 去检查旧TTL值, 等待缓存过期也可以手动刷新, 比如Windows系统用ipconfig /flushdns命令, macOS系统用sudo dscacheutil -flushcache命令。

5. 需要检查的是DNSSEC以及防火墙的情况, 有部分企业网络或者是安全策略, 会去阻断那些DNS请求, 所以需要在防火墙那里把53端口给放行掉, 这里所说的端口, 是指UDP和TCP这两种协议对应的端口。

高频疑难速查

虽然你对解析记录做了改动, 但是这份改动并没有立刻生效, 出现这种状况的概率高达九成九, 原因多半是设定的TTL时间还没有过期, 或者本地的设备缓存以及运营商那边的DNS缓存数据还没有完成刷新操作, 建议你按照文档里写的第4步来执行后续处理。

有一些城市可以成功打开, 而另一些城市却无法正常访问。请仔细检查当地运营商的DNS服务器是否存在被劫持的情况。你可以尝试将系统内的DNS设置手动更改为阿里提供的223.5.5.5, 或者更改为常用的114.114.114.114。

关于邮件解析异常情况, 需要去重点检查一下MX记录的优先级是怎样的, 以及它们指向的地址对不对, 同时还要确认SPF记录还有DKIM记录里面的TXT数据内容, 是不是和具体的服务商那边提出的要求完全保持了高度一致。

一旦你掌握了上面所提到的那些工具以及相关的操作流程, 那么在遇到绝大多数涉及DNS解析的故障情况时, 你就有能力快速地把问题的根本原因给找准, 而且这个过程通常不会超过10分钟的时间。