本指南详细介绍了在CentOS 7系统中将网卡名从em0修改为eth0的操作步骤,首先需编辑/etc/default/grub文件,添加net.ifnames=0 biosdevname=0内核参数以禁用新命名规则;接着执行grub2-mkconfig命令重新生成引导配置;最后修改网卡配置文件名并重启系统,从而恢复传统的eth0命名方式,确保网络服务正常。
在 CentOS 7 及 RHEL 7 系统中,为了提高网络配置的规范性和可预测性,系统默认启用了基于 BIOS 硬件枚举或 UEFI 设备序列号的命名规则(em0、ens33 等),对于一些习惯了传统命名方式(如 eth0、eth1)的老旧脚本或特定业务环境,这种默认命名可能会带来兼容性问题。
本文将详细介绍如何将 CentOS 7 系统的网卡名称从 em0 修改为传统的 eth0。
查看当前网卡配置
我们需要确认当前的网卡设备名称以及对应的配置文件。

在终端输入以下命令查看网络接口状态:
ip addr
或者使用 ifconfig(如果未安装,可用 yum install net-tools 安装)。
查看 /etc/sysconfig/network-scripts/ 目录下的文件,确认网卡配置文件名:
ls /etc/sysconfig/network-scripts/
假设你看到的文件名为 ifcfg-em0,那么接下来的操作将把它重命名为 ifcfg-eth0。
修改 GRUB 配置文件
这是最关键的一步,我们需要编辑 /etc/default/grub 文件,在 GRUB_CMDLINE_LINUX 参数中添加 net.ifnames=0 biosdevname=0,以禁用新的命名规则。
使用 vi 或 vim 编辑文件:
vi /etc/default/grub
找到包含 GRUB_CMDLINE_LINUX 的那一行,通常它看起来像这样:
GRUB_CMDLINE_LINUX="quiet rhgb"
我们需要在引号内添加参数,修改后应类似于:
GRUB_CMDLINE_LINUX="quiet rhgb net.ifnames=0 biosdevname=0"
注意:参数之间用空格隔开。
重新生成 GRUB 配置
修改完 /etc/default/grub 后,需要使用 grub2-mkconfig 命令重新生成 grub 配置文件,以使修改生效。
在终端执行以下命令:
grub2-mkconfig -o /boot/grub2/grub.cfg
如果命令执行成功,通常会看到输出提示正在生成 grub.cfg。
重启系统
配置已保存,现在需要重启服务器以应用新的内核参数。
reboot
验证修改结果
系统重启完成后,再次查看网络接口:
ip addr
网卡名称应该已经从 em0 变更为 eth0。
检查配置文件目录,确认文件名也已变更:
ls /etc/sysconfig/network-scripts/
你应该能看到 ifcfg-eth0 文件。
通过修改 /etc/default/grub 文件并添加 net.ifnames=0 biosdevname=0 参数,CentOS 7 成功被强制回归到了传统的 eth0 命名方式,这对于维护旧版应用程序或确保脚本在不同硬件上的兼容性非常有帮助。

