1. 网卡命名对照表

特性维度

传统命名 (如 eth0, eth1)

可预测命名 (如 ens33, enp0s3)

​命名特点​

顺序编号,简单直观

基于硬件拓扑(如PCI总线位置、板载信息),名称与物理位置关联

​稳定性​

硬件变动(如增减网卡)可能导致名称顺序变化

名称更稳定,不轻易随启动顺序或增减设备而改变

​参数控制​

net.ifnames=0​​ 禁用​​可预测命名机制
biosdevname=0​​ 禁用​​ BIOS设备命名

net.ifnames=1(默认) ​​ 启用​​可预测命名
biosdevname=1​ 启用​​ BIOS设备命名

​典型应用场景​

要求传统命名方式的旧脚本或应用兼容
便捷环境,网卡硬件配置固定

现代Linux系统默认
复杂硬件环境(如多网卡服务器),需通过名称识别物理端口

2. 修改网卡命名方法

2.1 系统安装前修改方法

插入CentOS系统U盘开机,设置U盘启动

选择 “Install CentOS 7” 然后按下tab,在末尾加上“net.ifnames=0 biosdevname=0” ,若已有net.ifnames,biosdevname参数则不用添加(目的是将网卡名改为eth类型,不协助其他类型如ens等

2.2 系统安装后修改办法

主要有两种方式修改网卡名称:通过 ​​GRUB内核参数​​(影响所有网卡)或通过 ​​udev规则​​(更灵活,可针对特定网卡)。以下是主要步骤的对比:

操作步骤

GRUB 内核参数方法 (全局生效)

Udev 规则方法 (针对特定网卡)

​1. 修改配置​

编辑 /etc/default/grub文件,在 GRUB_CMDLINE_LINUX行添加 net.ifnames=0 biosdevname=0

创建或编辑 /etc/udev/rules.d/70-persistent-net.rules文件,添加规则如 SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="<MAC地址>", NAME="eth0"

​2. 更新配置​

根据引导方式更新GRUB:
BIOS: grub2-mkconfig -o /boot/grub2/grub.cfg
UEFI: grub2-mkconfig -o /boot/efi/EFI/<发行版>/grub.cfg

重新加载udev规则并触发:
sudo udevadm control --reload-rules
sudo udevadm trigger

​3. 重命名网卡配置文件​

需将原有配置文件(如 ifcfg-ens33)重命名并修改其中的 NAMEDEVICE值为新名称(如 ifcfg-eth0, eth0)

无需重命名原有配置文件,udev规则会在系统启动时直接更改内核识别的设备名称。但需确保网络安装脚本(如Netplan或ifup脚本)能正确识别新名称。

​4. 重启生效​

​必须重启系统​

通常重启生效更可靠,也可尝试触发udev规则后重启网络服

3. 注意事项

修改网卡名称时,请注意以下几点:

  • ​备份主要配置文件​​:在修改 /etc/default/grub或任何网络配置文件前,最好进行备份

  • ​远程操作需谨慎​​:如果你是通过 SSH 等远程方式连接服务器,错误的网络配置可能导致断连。建议在​​本地控制台​​或有​​带外管理​​能力的情况下操作。

  • ​检查引导方式​​:使用 [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS BIOS 引导,以正确更新 GRUB 配置 。就是命令确认系统是 UEFI 还

  • ​一致性​​:确保网卡配置文件(如 /etc/sysconfig/network-scripts/ifcfg-<网卡名>)中的 NAMEDEVICE字段与新名称一致 。

  • ​了解影响​​:biosdevname工具旨在根据 BIOS 信息提供更一致的命名,但并非所有硬件都支持 。同时禁用两者确保回退到传统 ethX

posted on 2025-09-19 17:29  lxjshuju  阅读(26)  评论(0)    收藏  举报