先检查本机网络配置,使用ip addr show和ip route确认接口状态、IP地址及默认路由,通过cat /etc/resolv.conf验证DNS设置;接着用ping依次测试回环地址、本机IP、网关和外部域名,判断连通性问题所在层级;最后通过traceroute追踪路径,观察超时节点和延迟变化,定位中断或拥塞位置。

进行Linux网络诊断,核心是按层排查、由近及远。先确认本机配置没问题,再测试到网关的连通性,最后检查到外部目标的路径和响应。这个过程离不开几个关键命令,它们能帮你定位问题是出在本地设置、内部网络还是更远的互联网上。
检查本机网络配置
诊断的第一步永远是从自己开始。如果本机的IP地址、子网掩码或默认网关配错了,任何对外通信都会失败。
- 查看接口状态和IP地址:使用ip addr show或旧版的ifconfig命令,可以列出所有网络接口。重点看你要用的那个接口(比如ens33或eth0)是否处于UP状态,并且拥有正确的IP地址和子网掩码。
- 查看路由表:执行ip route或route -n,检查输出中是否存在一条指向default的路由,其网关(via后面的地址)是否是你网络里的正确网关。没有默认路由,数据包就不知道该往哪里送。
- 检查DNS解析:网络靠IP地址通信,但我们通常用域名。运行cat /etc/resolv.conf,确保里面至少有一个可用的DNS服务器地址(nameserver行)。如果这个文件为空或地址错误,ping www.baidu.com这类命令就会因为无法解析域名而失败。
测试网络连通性 (ping)
确认了本机配置无误后,就可以动手“喊话”测试了。ping命令是最直接的工具,它发送ICMP请求包并等待回应,通过结果判断网络是否通畅。
- 先Ping回环地址:执行ping 127.0.0.1 -c 4。这能验证本机的TCP/IP协议栈是否正常工作。如果这里都通不过,问题肯定出在系统内部。
- 再Ping本机IP:尝试ping [你的本机IP] -c 4。这一步确认网卡本身收发数据的能力。
- 然后Ping网关:用ping [网关IP] -c 4测试。如果能通,说明你的设备和局域网连接是好的。如果不通,问题可能在交换机、网线或网关设备上。
- 最后Ping外部地址:运行ping www.baidu.com。如果前面都通但这里不通,那问题很可能出在防火墙规则、NAT转换或者更上游的网络。观察输出中的time值能看出延迟,packet loss百分比则直接反映丢包情况,高丢包率意味着网络质量差。
追踪网络路径 (traceroute/tracert)
当你能ping通网关却ping不通外网时,就需要知道数据包到底在哪一跳断了。这时候traceroute(Linux)或tracert(Windows)就派上用场了。它能显示数据包从你电脑到目标主机所经过的每一个路由器节点。
- 命令很简单:traceroute www.baidu.com。你会看到一长串的IP地址,每一行代表一个路由节点。
- 分析输出时,关注几点:前几跳是正常的,但如果某一行开始出现*号(表示超时),并且之后的所有跳都超时,那么问题很可能就出在最后一个能响应的节点之后。这可能是那个节点本身的问题,也可能是它的下游网络有故障。如果延迟(ms数)在某跳突然变得特别大,说明那里可能存在网络拥塞。










