能连网但打不开网页?DNS 排查
网能连、能 ping 通 IP 但域名打不开、或解析到错误地址时,按 DNS 服务器配置、本地缓存、路由器 DNS、域名解析链路四层排查,给出可复现的验证命令。
简短答案
能 ping 通 IP、连不上域名,说明 TCP/IP 链路是通的、卡在解析这一步。依次查:本机 DNS 服务器配错或没配、本地解析缓存脏了、路由器下发的 DNS 不可达、目标域本身解析异常。
现象对照
| 现象 | 指向 |
|---|---|
| 所有域名都打不开 | 本机 DNS 配置或缓存 |
| 只有个别站点打不开 | 该域名解析链路或站点本身 |
| 换 4G 热点就好 | 当前网络的 DNS 不可达 |
| 网页能开但内容错(别的站) | 解析被污染或 DNS 指错 |
排查步骤
1. 看本机当前 DNS 是谁
ipconfig /all
记下 DNS 服务器地址。空着或指到内网不存在的服务器都是常见问题,参考 Windows 条目里的网络配置路径。
2. 清本地缓存再试
ipconfig /flushdns
nslookup example.com
nslookup 直接问 DNS 能不能解析,能解析就回到浏览器重试。仍失败看 nslookup 报的是「无法查找」还是「服务器失败」,前者多为 DNS 服务器本身的问题。
3. 临时换 DNS 验证
在网卡 IPv4 里手动填一对公共 DNS(以可用条目/厂商说明为准,Linux 侧同理见 Linux 条目),能上 = 原 DNS 链路坏了;还是不行 = 域名或路由问题。
4. 验证域名本身
换手机热点能开、家里网络打不开 = 当前网络出口 DNS 被限;哪个网络都打不开 = 站点/域名侧异常。搜索 查本站条目里对应域名的记录。
操作小结
- 先
nslookup分清「解析失败」与「解析错」 - flushdns 是零成本动作,永远先做
- 换公共 DNS 验证能快速定位是网络侧还是站点侧
- 手动填的 DNS 排完故障记得切回自动