在服务器运维和 Ubuntu 桌面使用中,网络不通、上不了网、SSH 连不上、网站打不开是最常见问题。很多人只会盲目重启,其实用 ip 命令配合几行简单指令,就能快速定位到底是网卡、IP、网关、路由还是局域网问题。
本文基于现代 Linux iproute2 工具集,全程使用 ip 系列命令,从物理层到网关层一步步排查,看完你也能快速定位网络故障。
一、排错总思路(按顺序查,99% 问题都能定位)
- 网卡是否存在、是否启用
- IP 地址是否正确获取 / 配置
- 子网 / ARP 是否通(局域网是否正常)
- 路由表是否有默认网关
- 能否通网关
- 能否出公网
下面每一步都给出可直接复制执行的 ip 命令。
二、第一步:检查网卡状态(物理 / 链路层)
先确认系统识别到网卡,并且是 UP 状态。
查看所有网卡
ip link
看关键点:
eth0/ens3/ens18是你的物理网卡- 出现
UP,LOWER_UP→ 网卡已启用、链路正常 - 只有
UP无LOWER_UP→ 网线 / 网卡 / 交换机问题 - 显示
DOWN→ 网卡被关闭
手动启用网卡
sudo ip link set eth0 up
查看网卡流量 / 丢包
ip -s link show eth0
RX errors / dropped接收错误TX errors / dropped发送错误有错误一般是网线、速率不匹配、网卡驱动问题。
三、第二步:检查 IP 地址(网络层)
网卡正常,不一定有 IP。
查看当前 IP
ip addr
# 简写
ip a
看:
- 是否有
inet 192.168.x.x/24这类合法地址 - 没有 IP → DHCP 失败或未手动配置
临时添加 IP(测试用)
sudo ip addr add 192.168.1.100/24 dev eth0
清空异常 IP(解决 IP 冲突 / 多 IP 问题)
sudo ip addr flush dev eth0
四、第三步:检查局域网是否通(ARP 邻居)
有 IP 不代表局域网能通。用 ip neigh 查看同一网段设备。
查看 ARP 表
ip neigh
正常状态:
192.168.1.1 dev eth0 lladdr aa:bb:cc:dd:ee:ff REACHABLE
异常:
INCOMPLETE→ 不通FAILED→ 无法解析 MAC→ 说明交换机、网线、防火墙、同网段隔离导致不通。
清空 ARP 缓存重测
sudo ip neigh flush all
五、第四步:检查路由与网关(上不了网最常见原因)
能通局域网 ≠ 能上公网。没有默认网关一定不能上网。
查看路由表
ip route
必须有一行:
default via 192.168.1.1 dev eth0
没有这行 → 没有网关,绝对上不了网。
快速添加默认网关
sudo ip route add default via 192.168.1.1 dev eth0
删除错误路由
sudo ip route del default via 错误网关
最强判断:查流量走哪个出口
ip route get 8.8.8.8
这一条命令能直接告诉你:
- 走哪个网卡
- 走哪个网关
- 路由是否合法输出异常就是路由问题。
六、第五步:定位是内网问题还是公网问题
能 ping 通网关,但不能上外网
ping 192.168.1.1
- 通网关 → 本机 / 局域网正常
- 不通网关 → 排查交换机 / 路由器 / ARP 防火墙
能通网关,不能上外网
问题在:
- 路由器未拨号
- 运营商故障
- 防火墙禁止出站
- DNS 异常(可单独排查)
七、第六步:使用 ip monitor 实时监控网络变化
网卡闪断、IP 漂移、路由抖动,用这个命令抓现场:
ip monitor all
实时显示:
- IP 变化
- 网卡 up/down
- 路由添加 / 删除
- ARP 刷新适合排查偶尔断网、自动重连类问题。
八、高频网络问题快速定位表(直接对照)
1. 完全上不了网
ip route | grep default
无输出 → 缺默认网关
2. SSH 连不上服务器
先在服务器执行:
ip addr
# 看 IP 是否正确
ip link
# 看网卡是否 DOWN
3. 能 ping IP 不能 ping 域名
不是网络层问题,是 DNS 故障,与 ip 命令无关。
4. 同网段能通,跨网段不通
ip route
检查是否有网关,或网关不可达。
5. 网卡 UP 但无流量
cat /sys/class/net/eth0/carrier
输出 0 → 物理链路断开(网线 / 交换机)
6. 多网卡环境流量走了错误网卡
ip route get 8.8.8.8
直接定位出口,一目了然。
九、总结:一套万能网络排查命令
遇到网络问题,不用慌,按顺序复制这 6 条:
ip link # 1. 看网卡
ip addr # 2. 看IP
ip neigh # 3. 看局域网
ip route # 4. 看网关
ip route get 8.8.8.8 # 5. 确定出口
ip monitor all # 6. 抓实时变化
90% 的网络问题都能在 1 分钟内定位。
熟练使用 ip 命令,你就告别了 “重启试试” 的初级运维阶段。