下面给你一份最实用、一步到位的 Linux 网卡/网络适配器消失排查指南,适合 CentOS / Ubuntu / Debian / Rocky / Alma 等常见发行版。
🛠 Linux 网络适配器不见了?按下面步骤依次排查
✅ 1. 查看系统是否还能识别到网卡硬件
先确认硬件是否存在(最关键的一步):
(1)列出所有网络设备
ip link
如果连 eth0 / ens33 / enp0s3 等都没有 → 网卡可能未加载或驱动没装。
(2)查看内核是否识别网卡硬件
lspci | grep -i ethernet
若没有任何「Ethernet Controller」输出 → 真硬件没被识别(虚拟机也会出现)。
(3)查看 USB 网卡(若是 USB)
lsusb
✅ 2. 查看驱动是否加载
例如 Intel、Realtek、VMware、VirtIO 网卡常见驱动如下:
| 网卡类型 | 驱动 | 查看方式 |
|---|---|---|
| Intel (82579/82574) | e1000e | `lsmod |
| Realtek (RTL8168/8111) | r8169/r8168 | `lsmod |
| VMware | vmxnet3 | `lsmod |
| VirtualBox | e1000 / virtio-net | `lsmod |
如果驱动不存在,可尝试:
sudo modprobe <驱动名>
✅ 3. 查看 dmesg 是否报错
查找网卡加载错误:
dmesg | grep -i eth
dmesg | grep -i network
常见错误有:
- “link down”
- “device not found”
- “firmware missing”
- “r8169: unable to load firmware”
✅ 4. NetworkManager 是否把网卡禁用了?
检查:
nmcli device
如果看到:
状态:unavailable / disconnected
尝试重启:
sudo systemctl restart NetworkManager
✅ 5. 网卡接口名字被修改(80-persistent-net.rules)
升级系统后名称可能改成:
- enp2s0
- ens33
- enp0s3
查看所有接口:
ls /sys/class/net
如果存在其它名称的网卡 → 你只需修改配置文件到正确名称即可。
✅ 6. 配置文件丢失 / 删错
CentOS / Rocky / RHEL 路径
/etc/sysconfig/network-scripts/ifcfg-<接口名>
创建一个简单 DHCP 文件:
BOOTPROTO=dhcp
DEVICE=ens33
ONBOOT=yes
NAME=ens33
TYPE=Ethernet
然后:
systemctl restart network
Ubuntu / Debian (netplan)
配置路径:
/etc/netplan/*.yaml
Minimal DHCP 配置:
network:
version: 2
ethernets:
ens33:
dhcp4: true
应用:
sudo netplan apply
❗️虚拟机用户特别注意(最常见原因)
如果你用的是 VMware / VirtualBox / Hyper-V:
1. 虚拟机设置里网卡被关闭
打开:
- VMware:Settings → Network Adapter → 勾选 “Connected”
- VirtualBox:设置 → 网络 → 适配器 1 必须开启
2. 改了网卡类型导致驱动丢失
如:
- e1000 → vmxnet3
- virtio-net → e1000
- NAT → 桥接 → Host-only
重新启动即可。
📌 最后一步:把你的情况告诉我
为了更快解决你的问题,我需要以下信息:
请复制并粘贴下面三条命令的输出:
ip link
ls /sys/class/net
lspci | grep -i eth
发表回复