CentOS 7修改网卡名称为ens32的详细步骤(含传统命名与自定义命名)

LEAF

在CentOS 7系统中,默认采用Predictable Network Names(P predictable names)规则命名网卡,名称通常基于硬件信息生成(如ens33ens34等),若因业务需求、环境兼容性或个人习惯,需将网卡名称修改为ens32,可通过以下两种方法实现:一是通过GRUB配置改为传统命名(如eth0,再调整为目标名称);二是通过udev规则直接自定义名称为ens32,本文将详细介绍两种操作步骤及注意事项。

背景:CentOS 7网卡命名规则

CentOS 7默认使用net.ifnames=0biosdevname=0参数控制命名逻辑:

  • net.ifnames=0:禁用基于硬件拓扑的 predictable names(如ens33);
  • biosdevname=0:禁用基于BIOS/设备的传统命名(如eth0)。

若未修改参数,网卡名称会按ens[XX]格式生成(XX为网卡顺序号),如第一块PCIe网卡可能为ens33,需修改为ens32时,需通过配置固定名称。

CentOS 7修改网卡名称为ens32的详细步骤(含传统命名与自定义命名)

方法一:通过GRUB配置改为传统命名(适配eth0,再调整为ens32

若目标是将网卡名称改为ens32,可先通过GRUB禁用predictable names,生成传统eth0名称,再修改网络配置文件将其重命名为ens32,以下是具体步骤:

步骤1:编辑GRUB配置文件

GRUB是Linux系统的引导加载程序,需通过修改其参数禁用默认网卡命名规则。
执行命令打开GRUB配置文件:

vim /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"

说明net.ifnames=0禁用ensXX命名,biosdevname=0禁用ethX以外的传统命名,两者结合后网卡名称将变为eth0(第一块网卡)。

步骤2:更新GRUB配置

修改GRUB文件后,需执行以下命令更新配置,使其生效:

grub2-mkconfig -o /boot/grub2/grub.cfg

执行后会看到类似“Generating grub configuration file ...”的提示,表示更新成功。

步骤3:修改网络配置文件

CentOS 7的网络配置文件位于/etc/sysconfig/network-scripts/,文件名格式为ifcfg-网卡名称,假设当前网卡名称为ens33(需先通过ip a确认),需将其改为ifcfg-ens32,并修改配置文件内的NAMEDEVICE字段。

  1. 查看当前网卡名称及MAC地址:

    ip a

    示例输出(假设第一块网卡为ens33):

    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:xx:xx:xx brd ff:ff:ff:ff:ff:ff
        inet 192.168.1.100/24 brd 192.168.1.255 scope global ens33
        inet6 fe80::20c:29ff:xxxx:xxxx/64 scope link
        valid_lft forever preferred_lft forever
  2. 复制原网络配置文件并重命名:

    cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens32
  3. 编辑新配置文件ifcfg-ens32,修改NAMEDEVICE字段为ens32

    vim /etc/sysconfig/network-scripts/ifcfg-ens32

    修改关键字段(以DHCP为例):

    TYPE=Ethernet
    BOOTPROTO=dhcp
    NAME=ens32          # 修改为自定义名称
    DEVICE=ens32        # 修改为自定义名称
    ONBOOT=yes          # 开机启用网卡
    HWADDR=00:0c:29:xx:xx:xx  # 保持原MAC地址(与ip a看到的一致)
    DEFROUTE=yes
    PEERDNS=yes
    PEERROUTES=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy

    注意HWADDR必须与网卡的MAC地址一致,否则可能导致网卡无法启动。

步骤4:重启系统使配置生效

修改GRUB和网络配置后,需重启系统才能使新的网卡名称生效:

reboot

步骤5:验证网卡名称

重启后,通过以下命令确认网卡名称是否已修改为ens32

ip a

若看到ens32且网络正常(如获取到IP地址),则表示修改成功。

方法二:通过udev规则直接自定义名称为ens32

若不想修改GRUB配置(或需保留predictable names规则),可通过udev规则直接将网卡名称固定为ens32,此方法基于网卡的MAC地址绑定名称,重启后不会变化。

步骤1:获取网卡MAC地址

执行ip a命令查看当前网卡名称及MAC地址(假设目标网卡为ens33,MAC地址为00:0c:29:xx:xx:xx):

ip a | grep ens33

输出示例:

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:xx:xx:xx brd ff:ff:ff:ff:ff:ff

步骤2:创建udev规则文件

udev规则文件需放在/etc/udev/rules.d/目录下,文件名以.rules建议使用数字前缀,如10-network.rules,确保优先级较高),执行命令创建规则文件:

vim /etc/udev/rules.d/10-network.rules

在文件中添加以下内容(将MAC地址替换为实际值):

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:xx:xx:xx", NAME="ens32"

说明

  • SUBSYSTEM=="net":匹配网络设备;
  • ACTION=="add":在设备添加时触发规则;
  • ATTR{address}=="MAC地址":根据MAC地址匹配网卡;
  • NAME="ens32":将网卡名称固定为ens32

步骤3:更新udev规则并重启

保存udev规则文件后,执行以下命令更新规则并重启系统:

udevadm control --reload-rules    # 重新加载udev规则
udevadm trigger                   # 触发udev规则
reboot                            # 重启系统使规则生效

步骤4:验证网卡名称

重启后,通过ip a命令确认网卡名称是否已修改为ens32

ip a | grep ens32

若输出显示ens32且MAC地址与原网卡一致,则表示修改成功。

注意事项

  1. 备份重要配置文件
    修改/etc/default/grub或网络配置文件前,建议先备份原文件,避免配置错误导致系统无法启动:

    cp /etc/default/grub /etc/default/grub.bak
    cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak
  2. 确保MAC地址正确
    无论是修改网络配置文件还是udev规则,HWADDRATTR{address}必须与网卡的MAC地址一致,否则可能导致网卡无法识别或启动失败。

  3. 多网卡环境注意区分
    若服务器有多块网卡,需通过ip a确认目标网卡的名称和MAC地址,避免误修改其他网卡。

  4. 测试网络连通性
    修改完成后,务必测试网络是否正常(如ping www.baidu.com),确保网卡配置未影响网络通信。

  • 方法一(GRUB+网络配置):适用于习惯传统命名(如eth0)或需批量修改多台服务器网卡名称的场景,需修改GRUB配置,重启后生效。
  • 方法二(udev规则):适用于需保留predictable names规则或仅修改单块网卡名称的场景,基于MAC地址绑定,重启后名称固定。

根据实际需求选择合适的方法,若需将网卡名称固定为ens32,推荐使用方法二(udev规则),其对系统改动较小,且不影响其他网卡的命名规则。

文章版权声明:除非注明,否则均为XMSDN - MSDN原版系统镜像 | 纯净ISO系统下载原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码