有时候在公司赶设计稿,图层刚铺好一半,突然发现网站加载不出来。顺手打开命令行想ping一下服务器,结果提示‘请求超时’或者‘无法访问目标主机’,这时候别慌,也不用马上找IT。问题可能没你想的那么严重。
网络本身有问题?先试试最基本的
最常见的情况其实是网线松了、Wi-Fi断了,或者路由器重启了但你没注意。比如你在咖啡馆改UI稿,连的是公共Wi-Fi,人家一换网络你就断了。这时候ping任何地址都不通。可以先ping一个公共地址试试:
ping 8.8.8.8
如果这个都通不过,大概率是本地网络没连上。换个热点或者重新连Wi-Fi再试。
防火墙拦了你的请求
有些公司或学校网络会禁用ICMP协议,也就是ping用的那个通信方式。你发出去的请求被防火墙直接丢掉了,自然收不到回应。这种情况在家很少见,但在单位特别常见。你可以试着ping公网上的域名,比如:
ping www.baidu.com
如果返回‘一般故障’或‘找不到主机’,可能是DNS解析也出问题了。但如果能解析出IP却还是不通,那基本就是被策略限制了。
目标服务器干脆不回ping
不是所有服务器都愿意搭理你的ping请求。像阿里云、腾讯云的一些主机,默认是关闭ICMP响应的,为的是安全考虑。你这边发得再多也没用。就像你给人发微信,对方设置了‘仅聊天’,你不加好友他根本收不到消息。
自己电脑的设置也有锅
Windows系统里有时候会禁用ICMP回应,尤其是某些安全软件一键优化之后。还有可能是网卡驱动出问题,或者IP配置错误。可以试试重置一下网络:
netsh int ip reset
然后重启电脑,看看情况有没有改善。Mac用户可以尝试在终端里查看网络接口状态:
ifconfig | grep inet
确认有没有拿到正确的内网IP。
路由中间断了
数据包从你电脑出发,要经过好几道关卡才能到目标服务器。中间任何一个节点挂了,ping就通不了。可以用tracert(Windows)或traceroute(Mac/Linux)来看看卡在哪一跳:
tracert www.example.com
如果前几跳正常,后面全是星号,说明问题出在网络路径中,不是你这边的问题。这时候只能等运营商处理。