「微信能发消息,网页就是打不开」是很有指向性的一类现象:即时通信类应用常使用长连接与直连IP,不依赖域名解析;而网页第一步就是解析域名。所以这个现象基本可以判定方向在DNS。
下面按从终端到出口的顺序排查。
一、第一步:确认是不是DNS问题
对比测试:
nslookup www.baidu.com
nslookup www.baidu.com 223.5.5.5
nslookup www.baidu.com 114.114.114.114
判读:
| 结果 | 判读 |
|---|---|
| 默认DNS失败,指定公共DNS成功 | 本地DNS服务或出口DNS配置有问题 |
| 全部失败但能ping通公网IP | 存在DNS拦截或UDP 53被限制 |
| 解析成功但打不开网页 | 方向转向TCP连接、代理或目标站点 |
| 解析到明显异常的地址 | 存在劫持或污染 |
同时做一个对照:ping 223.5.5.5(直接测IP)。IP能通、域名不通,就是DNS问题。
二、第二步:终端侧排查
- 查看当前DNS:
核对DNS服务器地址是否为规划中的地址;ipconfig /all - 清缓存(Windows):
缓存里存了错误记录时,清缓存即可恢复;ipconfig /displaydns ipconfig /flushdns - HOSTS文件:曾被软件修改过的HOSTS会导致特定域名解析到错误地址,路径
C:\Windows\System32\drivers\etc\hosts; - 浏览器安全DNS(DoH):浏览器自带加密DNS时,会用浏览器配置的解析通道,与系统DNS结果不同,排查时要区分是浏览器打不开还是所有应用都打不开;
- 代理设置:系统或浏览器残留代理配置会表现为「能上聊天工具、打不开网页」。
Linux侧可用:
resolvectl status
dig www.baidu.com
dig +trace www.baidu.com
三、第三步:出口与内网DNS配置
- 出口设备是否配置了DNS代理:路由器做DNS代理时,终端使用路由器地址作为DNS,由路由器向上递归;
- 上行DNS是否可达:在出口设备上测试到运营商DNS或公共DNS的连通性(见 专线丢包与时延抖动定位 的ping与MTR方法);
- DNS QPS与性能:终端规模较大时,DNS请求量会成为瓶颈,表现为首屏慢而不是打不开;
- UDP 53是否被拦截:安全设备策略误拦截DNS是常见原因,需核对策略白名单;
- DNS劫持与防护:开启DNS防护或过滤策略后,部分域名被拦截会表现为解析失败或解析到提示页面。
判据:内网终端用公共DNS正常、用内网DNS失败 → 问题在内网DNS链路;两者都失败 → 问题在出口或上层。
四、第四步:IPv6与解析优先级
双栈环境下,终端可能优先尝试IPv6解析:
- 终端拿到IPv6地址但网络实际不支持IPv6时,会先尝试AAAA记录再回退,表现为打开网页慢半拍;
- 部分系统的前缀策略会优先选择IPv6,需按实际网络能力决定是否启用。
排查:nslookup -type=AAAA 域名 看是否返回了IPv6地址,再结合网络实际能力判断。
五、第五步:CDN调度与跨网解析
「别人打开正常、我这里打不开」还有一类原因:CDN按解析来源调度,若出口DNS的出口地址归属与预期不同(例如走了代理或隧道),会被调度到较远的节点,表现为慢或部分资源加载失败。
排查思路:对比不同DNS解析同一域名得到的地址,看是否存在明显差异;必要时调整出口DNS或采用按域分流的解析策略。
六、处理与验证
| 原因 | 处理 | 验证 |
|---|---|---|
| 终端DNS配置错误 | 修正为规划中的DNS地址 | ipconfig /all 与解析测试通过 |
| DNS缓存污染 | 清缓存,必要时排查污染来源 | 解析结果正确 |
| HOSTS被修改 | 清理异常条目 | 特定域名恢复正常 |
| UDP 53被拦截 | 核对安全策略白名单 | 解析请求可正常发出 |
| DNS服务性能不足 | 调整DNS服务规格或增加缓存 | 首屏解析时延下降 |
| IPv6优先导致慢 | 按网络能力调整协议优先级 | 网页打开速度恢复 |
| CDN调度异常 | 调整出口DNS或分流策略 | 解析到合理节点 |
回退:DNS配置变更前记录原地址;策略调整前导出配置,分批实施并观察业务反馈。
七、避坑小结
- 聊天正常、网页不通,先看DNS和代理;
- 清缓存是较快的验证手段,但反复出现说明有根因;
- 浏览器DoH与系统DNS是两条通道,排查时要分开测;
- UDP 53要放通,安全策略误拦截很常见;
- 解析慢不等于不通,QPS与往返时延都要看。
速查表:域名解析类问题
| 现象 | 优先排查 |
|---|---|
| 聊天通、网页不通 | DNS配置、代理设置 |
| 部分网站打不开 | 单域名解析、策略拦截 |
| 打开慢但能开 | DNS时延、IPv6优先、CDN调度 |
| 解析到异常地址 | 劫持、HOSTS、缓存污染 |
| 指定公共DNS正常 | 内网DNS链路 |
| 全部DNS都失败 | UDP 53拦截、出口连通性 |
山西东创伟业科技有限公司(2013年成立)与山西联通、山西电信、山西移动、山西广电渠道直连。地址:太原市小店区长治路139号大唐智能花园12幢1单元7层1号 | 服务热线:400-666-8372 | 官网:https://www.58120.net