在日常运维中,我们经常遇到同事反馈“网络突然断了”“网页打不开”“内网共享访问不了”,或者更夸张的“其实一断就全断,全公司都上不了网”这种现象。这些问题看起来复杂,但其实大部分(我敢说90%以上)都可以通过几条简单的命令行工具快速定位根源。
为什么说“其实一断就全断”?因为企业网络往往是星型或树型拓扑,核心依赖路由器、交换机或网关。一旦关键节点(如默认网关)出问题,或者出现广播风暴、ARP欺骗、配置冲突等,整个网络就会集体“罢工”。
但别担心,今天我重点分享Windows和Linux下最常用的7条诊断命令,结合标准排查流程,帮助大家从物理层到应用层一步步排除故障。
第一步:基础检查
本机配置是否正确?(ipconfig / ifconfig)
网络不通的第一嫌疑人往往是本机配置出错。IP地址冲突、网关设置错、DNS失效,都是高发问题。
Windows下:打开CMD,输入ipconfig /all
检查点:
IP是否在正确网段?
是否有“自动获取”但没拿到IP(显示169.254.x.x的自分配地址)?
默认网关是否正确?
DNS是否设置了公共DNS(如8.8.8.8)?
常见修复:ipconfig /release+ ipconfig /renew重新获取IP,或者手动设置正确配置。
Linux下:ifconfig或 ip addr show
检查类似内容:IP、掩码、网关(通过ip route查看)。
有同事反馈上网慢,ipconfig一看,IP冲突了(两台机器同IP)。解决:修改一台IP,重启网卡。
如果本机配置没问题,进入下一步。
第二步:测试连通性
能ping通吗?(ping)
ping是万能入门命令,用ICMP协议测试主机间是否可达。
用法:
ping 本机回环:ping 127.0.0.1(测试TCP/IP栈是否正常)
ping 默认网关:ping 192.168.1.1
ping 内网其他主机:ping 192.168.1.10
ping 公网IP:ping 8.8.8.8
ping 域名:ping www.baidu.com(顺带测试DNS)
高级选项:
ping -t持续ping(Ctrl+C停止)
ping -n 100发送100个包,查看丢包率
解读:
全通、延迟低:链路正常。
请求超时:不通,可能物理断、防火墙阻挡、目标关闭ICMP。
部分丢包:网络拥塞或不稳定。
为什么“一断就全断”常在这里体现?如果ping不通网关,但本机IP正常,往往是物理层问题(网线松、交换机端口坏)或二层问题(VLAN错、ARP问题)。全公司ping不通网关,就是网关挂了或广播风暴导致交换机瘫痪。
第三步:检查二层映射
ARP有问题吗?(arp)
ARP负责IP到MAC的解析,二层故障常出在这里(如ARP欺骗、缓存错)。
用法:
Windows:arp -a查看缓存表
Linux:arp -n
检查点:
网关MAC是否正确?(可对比交换机MAC表)
有无重复IP对应的不同MAC(冲突)?
修复:
arp -d *清空缓存(Windows)
如果怀疑ARP攻击,用防ARP工具或绑定静态ARP。
内网互访慢,arp -a发现网关MAC被伪造成某台机器的MAC——典型ARP欺骗。隔离中毒机后解决。
第四步:追踪路径
哪里断了?(tracert / traceroute)
ping只能测端到端,tracert能显示每跳路由,精准定位断点。
用法:
Windows:tracert 8.8.8.8或 tracert -d www.baidu.com(-d不解析域名,加快)
Linux:traceroute 8.8.8.8
输出:每跳显示IP和延迟,* * * 表示超时。
解读:
前几跳正常,后续超时:问题在中间路由。
某跳延迟高/丢包:该节点拥塞。
比如,如果能上内网但上不了外网,tracert 8.8.8.8 在公司防火墙跳超时。检查防火墙策略,放行后正常。
第五步:查看连接状态
端口监听了吗?(netstat)
netstat显示活跃连接、监听端口、路由表等。
常用选项:
netstat -an查看所有连接和监听端口
netstat -rn查看路由表(相当于route print)
netstat -s查看统计(丢包等)
Linux下推荐ss -tuln替代,更快。
检查点:
目标服务端口是否LISTENING?
有无大量TIME_WAIT或SYN_SENT(连接异常)?
比如共享文件访问不了,netstat发现服务器445端口没监听——SMB服务停了,重启服务解决。
第六步:路由表对不对?(route)
路由错会导致数据包走错路。
用法:
Windows:route print
Linux:route -n或 ip route
检查默认网关(0.0.0.0)是否指向正确。
修复:route add添加静态路由,或删除错的route delete。
比如多网卡服务器,外网不通。route print发现默认网关指向内网卡,修改优先级解决。
第七步:DNS解析正常吗?(nslookup)
网页打不开但ping IP通,往往是DNS问题。
用法:
nslookup www.baidu.com
nslookup www.baidu.com 8.8.8.8指定DNS服务器
解读:返回正确IP即正常。
修复:改DNS为8.8.8.8或114.114.114.114。
遇到网络不通,按这个顺序走,效率最高:
检查物理层:网线灯亮吗?换根线/端口试试。
ipconfig/ifconfig:本机配置对不对?
ping 127.0.0.1 → ping 网关 → ping 公网IP → ping 域名(分层测试)
arp -a 检查二层
tracert 追踪路径
netstat/route 检查连接和路由
nslookup 测试DNS
如果全公司“一断就全断”,优先检查核心设备(路由器、交换机日志)、广播风暴、病毒。