ip 命令实战排错:网络不通 / 上不了网 / 丢包一站式排查

在服务器运维和 Ubuntu 桌面使用中,网络不通、上不了网、SSH 连不上、网站打不开是最常见问题。很多人只会盲目重启,其实用 ip 命令配合几行简单指令,就能快速定位到底是网卡、IP、网关、路由还是局域网问题

本文基于现代 Linux iproute2 工具集,全程使用 ip 系列命令,从物理层到网关层一步步排查,看完你也能快速定位网络故障。


一、排错总思路(按顺序查,99% 问题都能定位)

  1. 网卡是否存在、是否启用
  2. IP 地址是否正确获取 / 配置
  3. 子网 / ARP 是否通(局域网是否正常)
  4. 路由表是否有默认网关
  5. 能否通网关
  6. 能否出公网

下面每一步都给出可直接复制执行ip 命令。


二、第一步:检查网卡状态(物理 / 链路层)

先确认系统识别到网卡,并且是 UP 状态。

查看所有网卡

ip link

看关键点:

  • eth0 / ens3 / ens18 是你的物理网卡
  • 出现 UP,LOWER_UP → 网卡已启用、链路正常
  • 只有 UPLOWER_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 命令,你就告别了 “重启试试” 的初级运维阶段。

将本页面加入收藏夹

      如果觉得本文对您有用。建议按下 Ctrl+D (Windows) 或 Cmd+D (Mac) 收藏本页,以便在下次需要时快速查阅解决方案。

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress