一、现象

DNS 解析异常:系统排查思路
图片素材来自免费商用图库(pixabay),非本站项目实拍。

全站不能访问

二、网络层排查

`# 从外部网络测试连接curl-v 
## * Could not resolve host: www.example.com# 换一个DNS服务器试试nslookup www.example.com 8.8.8.8
## Server:  8.8.8.8# Address: 8.8.8.8#53## ** server can't find www.example.com: SERVFAIL# 再试试其他DNSnslookup www.example.com 1.1.1.1
## Server:  1.1.1.1# Address: 1.1.1.1#53## ** server can't find www.example.com: SERVFAIL`

三、DNS深入诊断

`# 使用dig进行详细诊断dig www.example.com +trace

## 输出(简化):# .                       518400  IN      NS      a.root-servers.net.# com.                    172800  IN      NS      a.gtld-servers.net.# example.com.            172800  IN      NS      ns1.dnsprovider.com.# ;;                      > DiG 9.11.4 > www.example.com +trace# ;; Query time: 45 msec# ;; connection timed out; no servers could be reached# 权威DNS服务器无法响应# 检查域名的NS记录dig example.com NS

## 尝试直接查询权威DNSdig @ns1.dnsprovider.com www.example.com
## ;; connection timed out; no servers could be reached`

四、域名状态查看

`# 使用whois查询域名状态
whois example.com

## Domain Name: EXAMPLE.COM# Registry Domain ID: 123456789# Registrar: Example Registrar Inc.# Domain Status: serverHold  Updated Date: 2022-08-15T03:00:00Z# Creation Date: 2017-08-15T00:00:00Z# Registry Expiry Date: 2022-08-15T00:00:00Z`

五、总结

`# DNS故障排查清单## 1. 确认DNS是否正常dig www.example.com +short
nslookup www.example.com 8.8.8.8

### 2. 检查域名状态
whois example.com |grep-E"Status|Expiry"## 3. 追踪DNS解析路径dig www.example.com +trace

### 4. 检查权威DNSdig example.com NS
dig @ns1.provider.com www.example.com

### 5. 检查DNS记录dig www.example.com A
dig www.example.com CNAME
dig example.com MX
dig example.com TXT

### 6. 检查DNS提供商状态# 访问DNS提供商状态页面## 7. 检查网络连通性ping ns1.provider.com
traceroute ns1.provider.com

### 8. 常见状态码解释# NOERROR: 正常# NXDOMAIN: 域名不存在# SERVFAIL: 服务器错误# REFUSED: 拒绝服务## 9. 域名状态解释# ok/active: 正常# serverHold: 被注册局暂停(通常是欠费或违规)# clientHold: 被注册商暂停# pendingDelete: 等待删除# redemptionPeriod: 赎回期`

三、排查思路

  • 分层 → 单点/全局→本地→链路→外部。
  • 工具 → nslookup/dig 看真实返回。
  • 勿掩 → 改 hosts 是临时,非根治。

DNS 异常排查讲”分层”:先确认是单机还是全网,再看本地配置与递归链路,最后验外部 DNS。用 dig 看返回码比盲目重启更接近真相。