打开浏览器输入网址回车,页面没加载出来,弹出DNS解析失败或者主机地址不可达,这两个提示经常一起出现,但故障位置不一样。DNS解析失败代表域名没能解析出对应的IP地址;主机地址不可达,是已经拿到IP,但无法建立连接。分清故障位置,排查才能找准方向。
第一步先判断故障范围。只有单个网站报错,其余站点访问正常,大概率是目标网站域名或者服务器故障,本地能做的操作不多,可以隔段时间重试。全部网站都打不开,问题就在本地网络或者DNS配置。
拿手机接入同一个WiFi测试。手机同样打不开网页,故障在路由器或者宽带线路;手机切流量就能正常访问,故障锁定在WiFi与路由器这一段,这个方法可以省去大量无效排查。

电脑端按下Win+R,输入cmd打开命令行。先ping公网IP,比如ping 114.114.114.114。能收到返回数据包,代表基础网络连通,问题出在DNS解析或者目标服务器;ping不通,说明网络本身中断,检查网线、WiFi连接状态,查看路由器指示灯。
网络连通但域名解析失败,使用nslookup查询目标域名。输入nslookup加上域名,查看返回结果。提示找不到域名,或者返回错误IP,就是DNS服务器故障。临时把电脑DNS改成8.8.8.8或者114.114.114.114测试,修改后可以正常访问,说明原有DNS服务器异常。长期使用可以直接在路由器后台固定公共DNS,不用每次修改电脑设置。
本地DNS缓存也会造成解析异常。Windows执行ipconfig /flushdns;Mac执行sudo dscacheutil -flushcache;Linux系统执行sudo systemd-resolve --flush-caches。清理缓存之后重试,很多时候域名IP变更后,本地保留旧缓存就会导致访问失败。
hosts文件被篡改同样会引发解析异常。Windows路径C:WindowsSystem32driversetchosts,Mac、Linux路径/etc/hosts。用记事本打开,查看里面是否存在陌生条目,异常条目删除或者注释,保存后再次测试。
代理、VPN是另一类高频故障来源。开启代理软件时,DNS请求会走代理通道,一旦代理服务中断,解析直接失败。把代理、VPN全部关闭,刷新页面。关闭后恢复正常,说明代理配置有问题,检查代理规则是否把DNS请求一并代理。
防火墙和安全软件偶尔拦截DNS请求,可以临时关闭测试。恢复连通就代表是安全软件拦截,进入软件放行DNS相关规则。路由器自带防火墙也要查看,部分路由器开启DNS过滤,会拦截正常域名解析。
nslookup可以返回IP,但ping这个IP提示主机地址不可达,故障就不在DNS层面。用tracert追踪IP路由,查看在哪一跳断开。前几跳就中断,属于本地网络或者运营商线路问题;中间节点中断,大概率跨网路由故障;最后一跳断开,目标服务器可能宕机,或是服务器屏蔽ICMP报文,不代表网站服务无法访问。用telnet 域名 80或者curl -I 域名测试端口连通性,端口通,说明服务器正常,只是禁止ping。
目标服务器封禁你的IP也会出现这种情况。切换网络,比如手机热点,热点环境可以访问,说明原有公网IP被对方拉黑,只能等待解封或者联系站点管理员。
路由器本身故障也会造成DNS解析异常。断电重启路由器,拔掉电源等待三十秒再通电。依旧无效,登录路由器后台,查看WAN口获取的DNS地址是否为空或者错误,手动填写114.114.114.114和8.8.8.8,保存重启。
如果上面所有步骤都排查完问题依旧,保存错误截图,记录已经完成的排查操作,联系宽带客服或者网络管理员,比自己继续试错效率更高。