在 CentOS 7 / 8 / Stream 中,网卡命名默认由 systemd/udev 管理,常见格式如 ens33、enp0s3 等。如果你想自定义或替换网卡名称(例如改成 eth0),可以按下面步骤操作。
ip a
# 或
nmcli device status
假设当前网卡是:
ens33
ip link show ens33
示例:
link/ether 00:0c:29:11:22:33
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" 是你想要的新网卡名编辑 grub 内核参数:
vi /etc/default/grub
在 GRUB_CMDLINE_LINUX 中添加:
net.ifnames=0 biosdevname=0
示例:
GRUB_CMDLINE_LINUX="crashkernel=auto net.ifnames=0 biosdevname=0"
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-eth0
编辑 ifcfg-eth0:
NAME=eth0
DEVICE=eth0
删除或备份原文件:
mv ifcfg-ens33 ifcfg-ens33.bak
reboot
ip a
应看到:
eth0
nmcli connection modify ens33 connection.interface-name eth0
nmcli connection up eth0
⚠️ 重启后可能失效,不如 udev 稳定。
ifcfg-eth0 中 DEVICE=eth0journalctl -xe
CentOS 6 使用 70-persistent-net.rules + 传统 network 服务,不使用 systemd,方法不同。
✅ CentOS 7/8/Stream 最稳妥方式:
net.ifnames如果你愿意,可以告诉我:
我可以给你完全针对你环境的命令。