DNS 基础与 dig 排查教程：网站打不开先查它

DNS 基础与 dig 排查教程网站打不开，到底是服务器挂了还是域名解析出了问题？学会 DNS 排查，你就有了网络故障定位的第一把钥匙。本教程介绍 DNS 的基本原理，以及 ISC dig 官方文档中的排查命令。一、DNS 是什么 DNS（域名系统）负责把 example.com 这样的域名翻译成 IP 地址。一次解析大致经过：本机缓存 → 本地 DNS（运营商或 223.5.5.5 等）→ 根域名服务器 → 顶级域（.com）→ 权威 DNS，逐级查询后返回结果。常见记录类型：类型作用示例 A 域名 → IPv4 1.2.3.4 AAAA 域名 → IPv6 2606:... CNAME 域名 → 另一个域名别名指向 MX 邮件服务器收信路由 TXT 文本信息常用于域名验证、SPF NS 域名由哪些 DNS 服务器管理换 DNS 时看它二、dig 基本用法 dig example.com # 查 A 记录，显示完整解析过程 dig example.com +short # 只输出结果 IP，最简洁 dig AAAA example.com # 查 IPv6 dig MX example.com # 查邮件记录 dig TXT example.com # 查文本记录（域名验证常用） dig @223.5.5.5 example.com # 指定用阿里 DNS 查询重点看输出里的 ANSWER SECTION：这就是最终答案；SERVER 一行显示实际用了哪个 DNS。三、nslookup 与 ping Windows 自带的是 nslookup（dig 需要额外安装）： nslookup example.com nslookup example.com 223.5.5.5 # 指定 DNS 服务器快速验证域名通不通也可以直接： ping example.com # 能显示解析出的 IP 说明 DNS 正常四、排查套路网站打不开时的三步定位： dig 域名 +short——有没有返回 IP？没有 → DNS 问题（域名过期、解析记录错误、DNS 服务器故障）返回的 IP 对不对？不对 → 解析记录被改错，去域名控制台检查 A 记录 IP 对但还是打不开 → 不是 DNS 的问题，转向排查服务器和端口（curl -v 或 telnet 80/443）改了解析怎么验证生效： dig @8.8.8.8 example.com +short # 问 Google DNS dig @223.5.5.5 example.com +short # 问阿里 DNS 各地 DNS 生效时间不一致（TTL 决定缓存时长），换解析后可先用 dig +trace 域名 看完整解析链路。本机想强制某个域名解析到指定 IP：改 /etc/hosts（Windows 是 C:\Windows\System32\drivers\etc\hosts）。五、常用的公共 DNS 服务商地址阿里 DNS 223.5.5.5 / 223.6.6.6 腾讯 DNSPod 119.29.29.29 Google 8.8.8.8 / 8.8.4.4 Cloudflare 1.1.1.1 六、总结需求命令查解析结果 dig 域名 +short 查指定记录 dig MX/TXT/AAAA 域名指定 DNS 查询 dig @223.5.5.5 域名看完整链路 dig +trace 域名 Windows 下 nslookup 域名记住排查口诀：先问 DNS 有没有答，再问答得对不对，最后才查服务器。