查询域名的解析记录, 大家现在最常用、也最可靠的办法, 就是在终端里执行那个叫做 dig 或者是 nslookup 的命令。除此之外, 你也可以去借助那些在线的 DNS 查询工具来操作。

接下来的内容, 会从查询方法、记录类型的速查、以及高频问题这三个方面, 来把这个事情完整地说明清楚。这样能够覆盖从日常的验证工作到生产环境的排查工作的所有场景。

三种查询方法

dig 命令(推荐)

这个部分是适用于macOS的, 同时也是适用于Linux的, 另外, 它也是适用于Windows的, 只是这里是需要你安装Git Bash或者是需要安装WSL的。在平常使用的时候, 会经常遇到一些指令:

查 A 记录:dig example.com A +short

去查查 MX 记录, 执行命令: dig example.com MX。

查看一下NS记录的内容, 具体操作就是输入dig example.com NS这个命令。

查全部记录:dig example.com ANY

指定权威服务器:dig @8.8.8.8 example.com A

dig命令产生的输出信息, 里面包含了解析得到的数值、TTL的值、权威服务器的名称、还有响应的时间等这些内容, 这个信息是最完整的, 所以适合用来进行技术排查的问题解决工作, 以及日志的留存和保存。

nslookup

这个功能在 windows 系统里面本身就带有了, 如果你打开命令提示符的话, 就可以直接使用它了, 所以不需要你再费劲去额外安装什么东西:

想迅速查一下IP地址的话, 你可以使用nslookup example.com这个命令。

指定 DNS 服务器:nslookup example.com 8.8.8.8

先输入代码 set type=mx, 然后按一下回车键, 接着再输入代码 nslookup example.com。

输出内容得做到清晰并且直白, 这样才能让那些没有技术背景的用户去进行快速的验证。

在线查询工具

不用去安装什么软件, 只需要在浏览器里面去打开 DNS 查询这个页面, 再把域名输进去, 就能看得到各种各样的记录结果。

在 gname.xin 的域名管理控制台这里头, 用户可以直接去看, 也可以直接去改, 把他所买的那所有域的解析记录全都弄下来(这里面包括了 A、CNAME、MX、TXT、NS、CAA 这些), 用的是那种图形化的表单来操作, 根本不需要有一丁点儿任何命令行方面的基础知识, 等修改完成了, 马上就能够预览, 也就是即时生效预览。

常见解析记录类型速查

A记录是指把域名和 IPv4地址进行指向关联, 这在所有 DNS 记录类型里面, 属于最为基础也最为普遍应用的一种。

AAAA记录, 意思是说, 域名是去指向一个 IPv6 地址的。

域名解析记录怎么查?方法、工具、常见问题一次讲清(图1)

CNAME记录, 这玩意叫做域名别名, 它指向另一个域名, 但是, 这里有个限制条件, 那就是不能指向根域名。

MX记录指的是邮件服务器的地址, 以及对应的优先级数值, 这里需要说明的是, 这个数值越小, 其优先级就越高。

NS记录, 它就是用来表示该域名当前实际在进行托管的那个 DNS 服务器的具体地址。

TXT记录的用途, 是用来存储文本信息的, 比如SPF和DKIM这些邮件认证方式, 或者是域名所有权验证, 都会用到它。

CAA 记录的意思就是说, 要把那些可以被发给这个域名证书的 CA 机构给指出来, 然后以此来防止那些搞错的证书出现。

高频问题解答

1. 查到的 IP 与浏览器实际访问不一致?

大多数情况之下, 这是由本地的域名系统缓存所导致的, 或者是内容分发网络节点上的缓存所导致的。

Windows 执行 ipconfig /flushdns,macOS 执行 sudo dscacheutil -flushcache域名解析记录查询,Linux 执行 sudo systemd-resolve --flush-caches域名解析记录查询,清除后重试。

如果你已经用了CDN的话, 那就还需要你自己去那个叫做CDN控制台的地方, 手动地把缓存也给刷新掉才行。

2. 刚修改了解析记录,多久生效?

这得看那项记录的寿命时间, 也就是大家熟知的TTL值是多少。一般来说, 这个数值是从三百秒到四十八个小时之间变化的。在TTL还没有过期的时候, 世界各地的各个层级的递归式域名服务器, 依然有可能向外提供那个旧的数值。

通常的建议是, 在你执行完修改操作之后, 先把TTL的值设定得短一点, 比方说设定成三百秒。等你完成了所有的变化工作之后, 再把它的值恢复到通常的标准。

3. 如何确认域名 NS 托管是否正确?

先执行dig 域名 NS这个操作, 这时候返回来的结果, 应该要和那个注册商后台里面分配的那个 DNS 服务器的信息, 完全是对着上、完全一致的。

万一发现不一致的话, 我们就得去那个注册商的后台控制面板, 把那个 NS 记录指向给修改一下, 改完以后呢, 想要让全球的网络环境都把最新的设置给生效了, 一般都得等个 24–48 小时才行的。

4. 查询结果返回 NXDOMAIN?

意思就是这个域名是不存在的, 或者这个域名上面没有配置任何用来解析的记录。你需要去那个叫做DNS的管理面板里面,把需要的记录重新添加上。或者你去确认一下这个域名的拼写是正确的, 没有弄错的地方。

排查与运维建议

当在生产环境里进行排查的时候大城新闻网,首先要优先指定权威的DNS服务器(比如8.8.8.8, 1.1.1.1), 然后用这个DNS服务器来查询, 这样做的目的就是排除掉本地递归解析器缓存对结果所产生的干扰。

企业在配置企业域名的时候, 我们建议大家至少去设置2台来自不同服务商的NS记录。这样做呢, 主要是为了能够避免因为出现单点故障的情况, 从而导致域名无法解析这个问题发生。

每个季度都要去复核 MX 记录, 还要对 SPF 记录以及相关的 DKIM TXT记录进行核查这样做是为了防止因为人员发生了变动, 或者是服务商服务到期了, 从而导致邮件被拒绝接收, 或者是因为这些操作让域名的验证失效了。

关键业务域名应当启用DNSSEC签名功能, 以此来防范那种被称为DNS缓存投毒的攻击手段。