Linux 排查 DNS 必备:dig 命令实战查询范例

平时做运维、排查域名解析问题,真的离不开 dig 命令。

相比老旧的 nslookup,dig 输出更清晰、参数更灵活,排查 DNS 污染、解析延迟、记录配置错误都超好用。整理一份我日常高频使用的 dig DNS 查询实战范例,没有花里胡哨的内容,全是工作中能直接复制用的,新手也能看懂。

先简单说下基础语法,所有操作都基于这个格式:

dig 域名 [记录类型]

如果不写记录类型,默认就是查询 A 记录(IPv4 地址)。


1、最基础:查域名 IPv4(A 记录)

最常用的解析查询,看域名对应的服务器 IP:

dig google.com

也可以手动指定 A 记录,效果一样,更规范:

dig google.com A


2、查询 IPv6 解析(AAAA 记录)

现在很多服务器都配置了 IPv6,需要单独查 AAAA 记录:

dig google.com AAAA


3、查邮件解析记录(MX 记录)

搭建企业邮箱、排查邮件收不到/发不出问题,必查 MX 记录,能看到邮件服务器地址:

dig google.com MX


4、查看域名 DNS 服务器(NS 记录)

想知道当前域名绑定了哪家的 DNS 解析服务器,用这个命令:

dig google.com NS


5、查询域名别名(CNAME 记录)

很多站点会做域名别名跳转,比如 www 域名跳转到主域名,查 CNAME 就能看清跳转关系:

dig www.google.com CNAME


6、查询 TXT 记录(SPF/DKIM/域名验证专用)

域名备案验证、邮箱防垃圾配置、DKIM 密钥配置,全部靠 TXT 记录查询:

dig google.com TXT


7、IP 反向解析(PTR 记录)

常规是域名查 IP,反向解析就是用 IP 查对应的绑定域名,排查服务器反向解析配置必备:

dig -x 8.8.8.8


8、指定公共 DNS 查询(排查本地 DNS 污染神器)

很多时候解析异常是本地 DNS 缓存/运营商污染导致的,手动指定靠谱的公共 DNS 查询,就能快速定位问题。

用谷歌 DNS 查询:

dig @8.8.8.8 google.com

用 Cloudflare DNS 查询:

dig @1.1.1.1 github.com


9、极简输出(只看结果,适合脚本/快速排查)

默认 dig 输出内容太多,一堆头部注释、状态信息,只想快速看解析结果,加 +short 超级干净:

dig +short google.com


10、只显示解析答案段(精简常规排查输出)

比 short 详细一点,保留解析记录详情,隐藏无关参数,日常排查最常用:

dig google.com +noall +answer


11、追踪完整 DNS 递归解析过程

想搞清楚域名从根服务器、顶级服务器到权威服务器的完整解析链路,用 trace 参数,排查解析卡顿、链路异常超有用:

dig google.com +trace


12、查询域名所有 DNS 记录

不清楚域名配了哪些记录,直接查全部,一次性看完 A、MX、TXT、NS 等所有配置:

dig google.com ANY


13、批量查询多个域名

需要批量检测多个域名解析的话,把域名全部写进 domains.txt,一行一个,直接批量执行:

dig -f domains.txt


14、查看详细 TTL、DNS 标志信息

排查 DNS 缓存生效时间、记录刷新问题,需要看完整的 TTL、状态标识:

dig google.com +multiline


最后分享两个我日常最常用的组合命令

1、指定公共 DNS,干净查看解析结果(排查解析故障首选):

dig @1.1.1.1 taobao.com A +noall +answer

2、快速获取域名 IP(脚本调用/快速核对):

dig +short taobao.com

基本上日常 99% 的 DNS 解析排查、域名配置校验,这些命令都够用了,收藏起来不用每次都去查文档~

本文首发于 58Linux技术博客,专注Ubuntu桌面使用、Linux服务器运维与网站搭建实战。

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress