温馨提示×

CentOS怎么替换网卡名称

小樊
76
2026-07-09 07:21:42
栏目: 智能运维

CentOS 7 / 8 / Stream 中,网卡命名默认由 systemd/udev 管理,常见格式如 ens33enp0s3 等。如果你想自定义或替换网卡名称(例如改成 eth0),可以按下面步骤操作。


一、确认当前网卡名称

ip a
# 或
nmcli device status

假设当前网卡是:

ens33

二、方式一(推荐):使用 udev 规则自定义网卡名 ✅

1️⃣ 查看网卡 MAC 地址

ip link show ens33

示例:

link/ether 00:0c:29:11:22:33

2️⃣ 创建 udev 规则文件

vi /etc/udev/rules.d/70-persistent-net.rules

内容示例(改成你自己的 MAC):

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:11:22:33", NAME="eth0"

⚠️ 注意:

  • NAME="eth0" 是你想要的新网卡名
  • MAC 地址必须准确

3️⃣ 禁用 systemd 的可预测网卡命名(重要)

编辑 grub 内核参数:

vi /etc/default/grub

GRUB_CMDLINE_LINUX 中添加:

net.ifnames=0 biosdevname=0

示例:

GRUB_CMDLINE_LINUX="crashkernel=auto net.ifnames=0 biosdevname=0"

4️⃣ 重新生成 grub 配置

BIOS 系统:

grub2-mkconfig -o /boot/grub2/grub.cfg

UEFI 系统:

grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

5️⃣ 更新网卡配置文件(NetworkManager)

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-eth0

编辑 ifcfg-eth0

NAME=eth0
DEVICE=eth0

删除或备份原文件:

mv ifcfg-ens33 ifcfg-ens33.bak

6️⃣ 重启系统

reboot

7️⃣ 验证

ip a

应看到:

eth0

三、方式二:仅修改 NetworkManager 名称(不推荐用于系统级)

nmcli connection modify ens33 connection.interface-name eth0
nmcli connection up eth0

⚠️ 重启后可能失效,不如 udev 稳定。


四、常见问题

❓ 网卡消失 / 起不来

  • 检查 MAC 是否写错
  • 确认 ifcfg-eth0DEVICE=eth0
  • 查看日志:
journalctl -xe

❓ CentOS 6 怎么办?

CentOS 6 使用 70-persistent-net.rules + 传统 network 服务,不使用 systemd,方法不同。


五、总结(推荐方案)

CentOS 7/8/Stream 最稳妥方式:

  1. udev 规则绑定 MAC
  2. 禁用 net.ifnames
  3. 修改网卡配置文件
  4. 重启

如果你愿意,可以告诉我:

  • CentOS 版本
  • 是物理机还是虚拟机(VMware / KVM)
  • 想改成什么名字(如 eth0)

我可以给你完全针对你环境的命令

0