应禁用systemd预测性命名,通过修改GRUB参数net.ifnames=0 biosdevname=0、重命名网络配置文件为ifcfg-eth0并更新DEVICE/NAME字段,最后重启生效;或按MAC地址编写udev规则精准重命名。

您正在使用麒麟操作系统,需要将系统默认的预测性网卡名称(如ens33、enp0s3)改为传统命名(如eth0),否则运维脚本、Kubernetes节点初始化、网络监控工具等会因设备名不匹配而失败,甚至导致服务启动异常或IP绑定错乱。
禁用systemd预测性命名(推荐统一场景)
该方式从内核启动参数层彻底关闭新命名规则,所有物理网卡回归eth0、eth1序列,无需逐个匹配MAC地址,适合多网卡服务器或桌面批量部署。
第一步:确认当前网卡名与MAC地址
执行ip -br a,记录目标网卡名称(如ens33)及其MAC地址(如00:11:22:33:44:55);【务必记下MAC,后续重命名必须严格对应】
第二步:修改GRUB启动参数
运行sudo vim /etc/default/grub,找到GRUB_CMDLINE_LINUX=行,在引号末尾追加 net.ifnames=0 biosdevname=0(注意前面留一个空格);【必须保留原有参数,仅追加;误删会导致系统无法启动】
第三步:更新GRUB配置
执行sudo grub2-mkconfig -o /boot/grub2/grub.cfg;ARM架构设备请替换为/boot/efi/EFI/kylin/grub.cfg。
第四步:重命名网络配置文件
进入/etc/sysconfig/network-scripts/目录,将原配置文件(如ifcfg-ens33)重命名为ifcfg-eth0;再用sudo vim ifcfg-eth0打开,把DEVICE=ens33和NAME=ens33分别改为DEVICE=eth0和NAME=eth0,并删除或注释掉UUID=那一行。
第五步:重启生效
执行sudo reboot,启动后运行ip -br a验证是否已显示eth0且状态为UP。
通过udev规则精准重命名(单网卡/MAC固定场景)
当系统中存在多张同类型网卡(如双千兆电口),需按物理位置或MAC地址绑定特定名称时,此法更稳妥,不影响其他设备命名。
方法一:创建规则文件
执行sudo vim /etc/udev/rules.d/70-rename-nic.rules,写入:SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:11:22:33:44:55", NAME="eth0"
方法二:适配中标麒麟/欧拉系变种内核
若系统内核为4.19.90-89.11.v2401.ky10或6.6.0-28.0.0.34.oe2403,规则中必须加入SUBSYSTEMS=="pci",完整写法:SUBSYSTEM=="net", ACTION=="add", SUBSYSTEMS=="pci", ATTR{address}=="ac:1f:6b:f0:28:2d", NAME="em2"
重启系统后执行ip a检查网卡名是否变更。
临时验证:不写入磁盘的快速测试
在不确定修改是否安全前,可先用内核参数临时生效,避免误操作导致网络中断。
重启系统时,在GRUB菜单界面按e键编辑启动项,在以linux开头的行末尾添加 net.ifnames=0 biosdevname=0,然后按Ctrl+X或F10启动;系统起来后立即执行ip -br a观察是否出现eth0。

















