DNS 解析过程与常见故障排查

发布于2026-10-26 17:27 阅读12次 讲清一次域名解析经历的完整链路:浏览器缓存、hosts、本地 resolver 到递归查询根域与权威域,区分递归与迭代查询,并总结能上微信打不开网页、解析不生效、hosts 被篡改、DNS 污染四类典型故障与对应排查命令。
# DNS 解析过程与常见故障排查
浏览器输入域名回车,到网页真正打开,中间最关键的环节就是 DNS。它像是互联网的电话簿,把人类好记的域名翻译成机器要用的 IP。本文讲清解析链路与排障思路。
## 一、一次解析经历了什么
1. 查浏览器缓存
2. 查本机 `hosts`
3. 查本地 DNS resolver(通常是路由器或运营商)
4. 递归查询根域 → 顶级域 → 权威域
5. 拿到 A 记录返回
## 二、关键概念
- **递归查询**:客户端只问一次,由 resolver 代跑全程
- **迭代查询**:服务器之间逐级问,不代跑
- **TTL**:解析结果在本地能缓存多久
## 三、四个典型故障
> **能上微信打不开网页**:八成是 DNS 解析挂了。微信走 IP 直连,网页靠域名,换 `223.5.5.5` 这类公共 DNS 立刻恢复。
> **改了解析不生效**:TTL 没到,旧记录还在缓存。本地用 `ipconfig /flushdns` 先清,再等 TTL 过期。
> **hosts 被篡改**:某些软件会写 `hosts` 把某域名指向错误 IP,导致特定网站异常。检查 `C:\Windows\System32\drivers\etc\hosts`。
> **DNS 污染**:返回错误 IP,表现为"在特定网络下打不开"。可换 DoH/DoT 加密查询规避。
## 四、排障命令
```bash
nslookup example.com
dig +trace example.com
ping example.com
```
先看 `nslookup` 返回的是不是预期 IP,再决定是否清缓存或换 DNS。掌握这套链路,绝大多数"网站打不开"都能在五分钟内定位。