网卡“卡在激活状态”指接口显示up但无ip、不通网、不传包,需分层排查:先验接口真实状态(ip -br link),再查ip分配(ip -br addr)、二层连通性(arping)、路由表(ip route)及配置加载是否成功。

网卡“卡在激活状态”不是指它不能用,而是指它明明显示 UP,却没IP、不通网、不传包——表面活着,实际失联。排查重点不在“怎么让它up”,而在“为什么up了却没真正工作”。核心思路是:分层验证——接口层 → 地址层 → 链路层 → 路由层。
看接口状态是否真“活”
运行 ip -br link show,找目标网卡(如 eth0)那一行:
- 如果显示
DOWN或NO-CARRIER:物理链路没通,查网线、光模块、交换机端口、对端设备 - 如果显示
UP但LOWER_up缺失:驱动加载或硬件识别异常,dmesg -T | grep eth0看内核有没有报错 - 如果显示
UP且有LOWER_up,但没IP:问题不在接口层,往下走
查IP地址是否真配上了
运行 ip -br addr show eth0:
- 没输出任何 IPv4 地址(比如只有
inet6 ::1/128或空行):说明地址根本没加成功 - 只看到
169.254.x.x(链路本地地址):DHCP失败或静态配置未生效,检查/etc/network/interfaces(Debian系)或/etc/sysconfig/network-scripts/ifcfg-eth0(RHEL系)中ONBOOT=yes和BOOTPROTO=static/dhcp是否写对 - 有IP但不在你预期网段:可能是残留配置、多配置文件冲突,或被 NetworkManager 自动覆盖
验链路是否能通到邻居
即使有IP,也可能发不出去:
- 用
arping -I eth0 192.168.1.1(替换成你的网关)测试二层可达性;无响应说明ARP失败,可能MAC不对、VLAN隔离、交换机ACL拦截 - 用
tcpdump -i eth0 arp or icmp抓包,看本机是否发出ARP请求、是否收到应答;没发出→路由/策略阻断;发出但无应答→链路或对端问题 - 如果
ping网关失败但arping成功:大概率是三层策略(如 iptables INPUT DROP、rp_filter 开启)拦住了ICMP
盯路由表有没有默认出口
运行 ip route show:
- 没有
default via x.x.x.x dev eth0:哪怕IP配对、链路通畅,数据也出不去 - 有 default 但 via 地址不属于 eth0 所在子网:路由不可达,需检查网关IP和子网掩码是否匹配
- 有多条 default 路由:按 metric 值选最小的,metric 冲突会导致行为不稳定,用
ip route del default清理再重加
不复杂但容易忽略:很多“卡住”其实是配置没加载,而不是接口坏了。先确认 ifup eth0 或 nmcli connection up eth0 是否真的执行成功,别只看 ip link show 的 UP 状态。











