Linux网络排障需分层递进:一查物理与链路层(ip link/ip addr/ping网关),二验网络层与路由(ip route get/traceroute),三测传输层与端口(ss/telnet),四抓包与conntrack分析。

Linux网络状态检测,核心是分层排查:先看物理连通性,再查协议栈配置,最后定位应用层问题。 不需要死记命令,关键是理解每一步在验证什么、失败意味着什么。下面按实际排障顺序展开,从最基础的 ping 到进阶的连接跟踪与流量分析。
一、确认物理与链路层是否正常(能不能“通”)
这是所有网络问题的第一关。跳过这步直接查防火墙或DNS,90%会绕远路。
-
用
ip link看网卡是否 UP、是否有 carrier(物理信号):ip link show eth0→ 若显示state DOWN或NO-CARRIER,说明网线没插、交换机断电、网卡故障或驱动未加载。 -
用
ip addr看IP是否正确分配: 检查是否有有效IPv4地址(非 169.254.x.x 或 0.0.0.0),子网掩码是否匹配网段,是否误配了多个主IP导致路由混乱。 -
用
ping -c 3 127.0.0.1验证本地协议栈: 失败说明内核网络模块异常(极少见,多见于容器或严重内核错误)。 -
用
ping -c 3测试二层可达性: 成功 = 物理+数据链路+ARP 正常;失败则重点查网线、交换机端口、VLAN、MAC地址表、ARP缓存(ip neigh)。
二、验证网络层与路由是否正确(走不走得通)
能 ping 通网关,不代表能出外网——中间可能卡在路由、NAT 或策略路由上。
-
用
ip route get查真实选路路径: 比如ip route get 8.8.8.8会返回它将通过哪个网关、哪张网卡发出,还能看到源IP选择。若提示Network is unreachable,说明无可用路由。 -
用
traceroute -n(或mtr)看路径中断点: 第一跳不通 → 本机路由或网关问题;中间某跳超时 → 中间设备丢包或禁ICMP;最后一跳通但应用不通 → 目标端口/服务问题。 -
检查策略路由、多宿主配置(
ip rule,ip route show table all): 多网卡服务器常见问题:明明配了双IP,但回包走错网卡被丢弃(不对称路由)。需确认rp_filter设置(sysctl net.ipv4.conf.all.rp_filter)是否过严。
三、检查传输层与服务可达性(端口开不开、连不连得上)
ping 通 ≠ 端口通。HTTP服务可能挂了,但ICMP照常响应。
标签: linux 防火墙 ipv6 端口 mac 栈 ai 路由 dns stream 常见问题 网络问题 子网
还木有评论哦,快来抢沙发吧~