最直接有效的是用 ip 命令:ip link show 看物理层是否 up 和 lower_up,ip addr show 看是否有有效 ipv4 地址;ifconfig 已被弃用,新系统可能未预装。

Linux 中查看网卡状态,最直接有效的是用 ip 命令;ifconfig 已被弃用,不少新系统默认不安装,别再默认它一定可用。
用 ip 查看网卡是否 UP、是否有 IP、是否通物理链路
这是日常排查的第一步:确认网卡是不是真“活着”。ip link show 看底层状态,ip addr show 看 IP 配置,两者缺一不可。
-
ip link show eth0:重点看第二行是否含UP(表示内核已启用该接口),再看第三行是否含LOWER_UP(表示物理层连通,网线插好了/无线已关联) -
ip addr show eth0:检查有没有inet行(IPv4 地址),以及对应地址是否在预期网段;若只有inet6 fe80::/64,大概率没获取到 IPv4 或配置有误 - 如果
ip link显示DOWN,但你知道网线是好的,先试sudo ip link set eth0 up;如果仍不出现LOWER_UP,基本是驱动、网线、交换机端口或网卡硬件问题
查网卡型号、驱动和固件版本用 lshw 和 ethtool
当网络时断时续、速率异常(比如千兆口只协商出 100M),或者 ip link 显示 UP 但完全不通,就得挖到底层。
-
sudo lshw -class network -short:快速列出网卡型号(如RTL8111/8168/8411)和对应驱动(如r8169);注意有些 Realtek 芯片用r8169驱动会有兼容性问题,得换r8168 -
sudo ethtool eth0:关键字段包括Link detected: yes(物理连通)、Speed: 1000Mb/s(当前协商速率)、Duplex: Full(双工模式);若Link detected: no,ethtool比ip link更早暴露 PHY 层故障 -
ethtool -i eth0:看driver和firmware-version,某些旧固件会导致高丢包,升级前需查厂商公告
排查 DHCP 获取失败或地址冲突用 journalctl 和 dhcpcd/NetworkManager
网卡 UP 且物理链路正常,但没 IP 或 IP 不对,问题通常出在用户态网络服务上,而非内核。
- 先确认用的是哪个服务:
systemctl list-units | grep -E "(dhcpcd|NetworkManager|systemd-networkd)" - 查 DHCP 日志:
sudo journalctl -u NetworkManager --since "2 minutes ago" | grep -i dhcp;常见错误如no lease, failing(DHCP 服务器无地址可分)、NAK: address already in use(IP 冲突) - 手动触发重获:
sudo nmcli connection down "Wired connection 1"; sudo nmcli connection up "Wired connection 1"(NetworkManager)或sudo dhcpcd -x && sudo dhcpcd eth0(dhcpcd) - 注意:
dhclient -v eth0是旧方式,很多发行版已切换到dhcpcd或由NetworkManager管理,硬调dhclient可能被覆盖
真正麻烦的不是命令记不住,而是看到 UP 就以为没问题——LOWER_UP 缺失、ethtool 报 Link detected: no、DHCP 日志里藏了 NAK,这些细节不挨个过一遍,问题就卡在那里不动。











