在CentOS操作系统中,网卡的命名规则可能会因系统版本或配置需求而发生改变,默认情况下,较新版本的CentOS可能会使用基于硬件拓扑的命名规则(如ens33、enp0s3等),但有时用户可能需要将其更改为传统的eth0、eth1等格式,以保持与旧版脚本或工具的兼容性,以下是关于CentOS更改网卡名的详细步骤和注意事项。

理解CentOS的网卡命名机制
CentOS 7及以上版本默认采用一致的设备命名规则,这种规则基于固件、拓扑结构和总线类型信息,以太网网卡可能被命名为ens33,en”代表以太网,“s”表示插槽,“33”是插槽编号,这种命名方式有助于避免网卡顺序混乱的问题,部分用户或应用可能仍习惯使用传统的eth0命名方式,此时需要手动修改配置。
修改网卡名的前提条件
在更改网卡名之前,需确保以下几点:
- 系统版本确认:确保系统为CentOS 7或更高版本,不同版本的配置文件位置可能略有不同。
- 备份原始配置:修改前备份原始网卡配置文件,以防配置错误导致网络连接失效。
- 管理员权限:所有操作需要root权限或sudo权限。
编辑udev规则文件
更改网卡名的核心方法是修改udev规则,使系统在启动时将新的网卡名映射到传统名称,具体操作如下:

- 创建新的udev规则文件,例如
/etc/udev/rules.d/70-persistent-net.rules(如果文件已存在则直接编辑)。 - 在文件中添加以下内容,其中
ATTR{address}是网卡的MAC地址,NAME字段指定新的网卡名:SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", NAME="eth0"将
xx:xx:xx:xx:xx:xx替换为实际网卡的MAC地址,可通过ip addr或ifconfig命令查看。 - 保存文件并退出。
修改网络配置文件
- 定位当前网卡的配置文件,通常位于
/etc/sysconfig/network-scripts/目录下,例如ifcfg-ens33。 - 复制该文件并重命名为新的网卡名,例如
cp ifcfg-ens33 ifcfg-eth0。 - 编辑新文件
ifcfg-eth0,将NAME和DEVICE字段的值修改为eth0:NAME=eth0 DEVICE=eth0 - 确保其他参数(如IP地址、网关等)保持不变。
- 删除或重命名原始配置文件(如
ifcfg-ens33),避免冲突。
更新GRUB配置
部分情况下,需要修改GRUB配置以禁用一致的网卡命名规则:
- 编辑
/etc/default/grub文件,找到GRUB_CMDLINE_LINUX行,添加net.ifnames=0 biosdevname=0参数:GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0" - 运行
grub2-mkconfig -o /boot/grub2/grub.cfg命令更新GRUB配置。 - 重启系统使配置生效。
验证网卡名更改
重启后,通过以下命令验证网卡名是否成功更改:

- 使用
ip addr或ifconfig命令查看网卡列表,确认是否存在eth0。 - 测试网络连接是否正常,例如
ping 8.8.8.8。 - 检查
/etc/sysconfig/network-scripts/目录下是否存在ifcfg-eth0文件。
常见问题及解决方案
- 更改后网卡无法启动:检查
ifcfg-eth0文件中的DEVICE和NAME是否一致,确保udev规则文件中的MAC地址正确。 - 重启后网卡名恢复:确认GRUB配置是否已更新,并检查udev规则文件是否被覆盖。
相关问答FAQs
Q1:如何查看网卡的MAC地址?
A1:可以通过以下命令查看:
ip link:显示所有网卡的详细信息,包括MAC地址。ifconfig:传统命令,需安装net-tools工具包,执行后查看HWaddr字段。
Q2:更改网卡名后,是否需要重新配置网络服务?
A2:不需要重新配置网络服务,但需确保新的网卡配置文件(如ifcfg-eth0)中的参数与原配置一致,如果使用NetworkManager管理网络,还需检查其配置是否同步更新。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复