CentOS系统修改网卡名称的方法与步骤
在CentOS系统中,默认网卡命名规则(如eth0、ens33)可能因内核版本或硬件配置变化而改变,导致网络管理不便,本文将详细介绍如何通过配置文件调整网卡命名方式,实现稳定且自定义的网卡名称管理。

背景知识:传统与新版命名规则的差异
- 传统命名:基于接口顺序编号(如
eth0表示第一块以太网网卡)。 - 新版命名:遵循
systemd规范,以硬件属性命名(如ens33代表第33号以太网设备,enp0s3对应PCIe插槽位置)。
新版命名更稳定但缺乏直观性,因此许多用户选择将其改为传统格式。
修改前的准备工作
- 确认当前网卡信息:
执行ip link或ls /sys/class/net/命令,查看现有网卡名称及MAC地址。 - 备份关键配置文件:
对/etc/default/grub和/etc/sysconfig/network-scripts/ifcfg-*文件进行备份,防止操作失误。
具体修改步骤
(一)方法1:通过GRUB参数临时生效(需重启)
-
编辑GRUB配置文件:
vi /etc/default/grub
在
GRUB_CMDLINE_LINUX=行末添加net.ifnames=0 biosdevname=0,禁用新版命名规则。 -
更新GRUB并重启:
grub2-mkconfig -o /boot/grub2/grub.cfg reboot
重启后,网卡名称将恢复为传统格式(如
eth0)。
(二)方法2:创建udev规则固定命名
若需永久保留自定义名称(如将ens33改为eth0),可通过udev规则绑定MAC地址与名称:

-
查看网卡MAC地址:
ip link show ens33 | grep ether # 输出示例:link/ether 00:0c:29:c6:b8:26
-
创建udev规则文件:
vi /etc/udev/rules.d/70-persistent-net.rules
添加以下内容(替换为目标MAC和名称):
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:c6:b8:26", NAME="eth0" -
重启udev服务使规则生效:
systemctl restart systemd-udevd
验证与故障排查
-
检查命名结果:
重启后执行ip addr,确认网卡名称已变更为目标值(如eth0)。
-
常见问题处理:
- 若名称未变更,检查GRUB参数是否正确写入,或udev规则语法是否存在错误。
- 确保MAC地址无误,可通过
cat /sys/class/net/ens33/address验证。
对比两种方法的适用场景
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| GRUB参数修改 | 操作简单,全局生效 | 需重启服务器 | 测试环境或非生产环境 |
| udev规则绑定 | 无需重启,灵活定制 | 规则编写较复杂 | 生产环境或多网卡场景 |
相关问答FAQs
Q1:修改网卡名称后,网络服务无法启动怎么办?
A:首先检查配置文件语法(如ifcfg-eth0中的DEVICE字段是否匹配新名称),其次确认防火墙状态(systemctl status firewalld),若仍异常,可尝试重新生成网络配置:nmcli con reload 后重启网络服务 systemctl restart network。
Q2:能否在不重启的情况下临时更改网卡名称?
A:可以,使用 ip link set dev 原名称 name 新名称 命令即时生效(如 ip link set dev ens33 name eth0),但此方法仅临时有效,重启后会失效,若需持久化,仍需结合上述两种方法配置。