直接在内核启动参数中禁用新式命名规则即可回归eth0传统命名,核心是设置net.ifnames=0 biosdevname=0;需同步修改GRUB配置、重命名并编辑网卡配置文件,最后重启生效。

直接在内核启动参数中禁用新式命名规则,就能让系统回归 eth0 这类传统网卡名。关键不是“改名字”,而是关掉 systemd/udev 的自动命名机制。
核心原理:关闭两个命名开关
CentOS/RHEL 7/8 默认启用两套网卡命名策略:
- net.ifnames=1:启用可预测命名(如 ens33、enp0s3),基于总线位置和固件信息
- biosdevname=1(部分系统默认):启用 BIOS 提供的设备名(如 em1、p2p1)
只要把这两个参数都设为 0,内核就会退回到最基础的枚举逻辑——第一个以太网口就是 eth0,第二个是 eth1,依此类推。
修改 /etc/default/grub 配置文件
编辑 grub 配置,确保 GRUB_CMDLINE_LINUX 行包含这两个参数:
GRUB_CMDLINE_LINUX="... net.ifnames=0 biosdevname=0"
注意:
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离
- 参数必须写在双引号内,与其他启动参数用空格分隔
- 不需要删除原有参数(如 rd.lvm.lv、rhgb、quiet 等),保留即可
- 如果系统没装 biosdevname 包,
biosdevname=0无实际影响,但加上更稳妥
重新生成 GRUB 配置并重启
执行以下命令更新引导配置:
grub2-mkconfig -o /boot/grub2/grub.cfg
然后重启生效:
reboot
重启后运行 ip link 或 ifconfig -a(需安装 net-tools),应看到 eth0 而非 ens33 等名称。
配套调整网卡配置文件(必须同步做)
仅改内核参数还不够——旧配置文件仍指向原名称,会导致网络无法启动:
- 重命名配置文件:
mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0 - 编辑 ifcfg-eth0,将
NAME=ens33和DEVICE=ens33全部改为eth0 - 确认
ONBOOT=yes,必要时补上HWADDR=xx:xx:xx:xx:xx:xx(用ip link show eth0查 MAC)

















