下面给你一份最实用、一步到位的 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
VMwarevmxnet3`lsmod
VirtualBoxe1000 / 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