ip addr最常用:每个接口的名字、状态、绑定的 IP 一览。
约 1276 字大约 4 分钟
2026-05-14
网络接口(网卡)是机器接入网络的“物理插口”——不管是真的网线,还是虚拟机、容器、VPN 造出来的虚拟接口。排查网络问题,最靠近本机的一层就是它:接口在不在、起没起、有没有拿到 IP。
理解网络接口是系统接入网络的入口,会用 ip link / ip addr 看接口状态和地址,知道“接口 UP”不等于“配好了 IP”。
ip addr最常用:每个接口的名字、状态、绑定的 IP 一览。
ip link看接口是 UP 还是 DOWN,不关心 IP 时用。
ip -s link带上 errors、dropped 计数,判断网卡有没有丢包。
ip link set eth0 up把一个 DOWN 的接口拉起来,需要 root。
ip addr(缩写 ip a)是网络排查最常敲的命令。一段典型输出:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
inet 192.168.1.10/24 scope global eth0要看的两个点:
<...UP...> 和 LOWER_UP —— 接口启用了、且物理链路(网线 / 载波)也正常inet 192.168.1.10/24 —— 拿到了这个 IP 地址一个高频误区:看到 UP 就以为网络没问题。其实 UP 只说明接口被启用了,不代表它拿到了 IP。可能出现:
UP,但 ip addr 里没有 inet 行 —— 没拿到 IP,多半是 DHCP 失败或静态配置缺失UP 且 LOWER_UP —— 链路也正常,这才算物理层和地址都就绪DOWN —— 根本没启用,ip link set 接口 up 拉起来排查时把这三层分开看:接口启用了吗 → 链路通吗(LOWER_UP)→ 有 IP 吗。
ip addr 里总有一个 lo,地址 127.0.0.1。它是本地回环接口——本机进程之间通过网络通信走的就是它,不经过任何物理网卡。它永远存在、永远 UP。curl 127.0.0.1 走的是 lo,跟外部网络一点关系都没有,这也是 IP、端口与协议 里说的“本机通不代表外部通”的底层原因。
ip addr 输出里除了 eth0、lo,你还会看到一堆陌生名字:docker0、veth...、tun0、br-...。它们是容器、虚拟机、VPN 创建的虚拟接口。日常排查时:
接口 UP、有 IP,但网络又慢又卡,可能是物理层的丢包。ip -s link 带统计:
ip -s link show eth0
# 看 RX/TX 的 errors、dropped 计数errors 或 dropped 持续增长,指向网线、网卡、交换机端口的物理问题,这时候再怎么查路由和防火墙都没用。
远程机器上 ip link set down 会立刻断连
对正在 SSH 连接的远程机器执行 ip link set eth0 down,或者改它的 IP 地址,连接会当场中断,而且接口已经 down 了你也没法再连回去拉起它。原则:① 远程动接口配置前,确认有带外管理或控制台兜底;② ip 命令做的改动重启后失效,持久化要写进发行版的网络配置(/etc/netplan/、NetworkManager 等),改持久化配置前先备份。
| 误区 | 更稳妥的做法 |
|---|---|
看到接口 UP 就认为网络正常 | UP 只是启用了;还要确认有 inet IP、有 LOWER_UP |
把 curl 127.0.0.1 通当成网络正常 | 那走的是 lo 回环,跟物理网卡和外部网络无关 |
| 被一堆 docker0/veth 虚拟接口绕晕 | 先认准要排查的物理 / 主接口,虚拟接口单独看 |
| 网慢只查路由和防火墙 | ip -s link 看 errors/dropped,先排除物理层丢包 |
版权归属:Shuo Liu