银河麒麟v10默认采用systemd预测性命名(如ens33),但运维脚本、监控工具及kubernetes等依赖eth0/eth1传统命名,不修改将导致脚本失败、ip绑定错乱和节点网络异常;推荐通过修改grub参数net.ifnames=0 biosdevname=0禁用预测命名,并重命名网络配置文件后重启生效。

银河麒麟V10系统默认采用systemd预测性命名(如ens33、enp0s3),但大量运维脚本、监控工具、容器网络配置依赖eth0/eth1等传统命名,不改会导致脚本执行失败、IP绑定错乱、Kubernetes节点网络异常。
方法一:禁用预测性命名(推荐用于桌面/服务器统一场景)
该方式从内核启动参数层彻底关闭新命名规则,所有网卡回归ethX序列,无需逐个匹配MAC地址,适合多网卡批量重命名。
第一步:确认当前网卡名和MAC地址
执行ip -br a,记录待改网卡名称(如ens33)及其MAC(如00:11:22:33:44:55)。
第二步:修改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,同时编辑该文件,把DEVICE=ens33和NAME=ens33两行分别改为DEVICE=eth0和NAME=eth0,并注释掉UUID=...行。
第五步:重启生效
执行sudo reboot,启动后运行ip -br a验证是否已显示eth0。
方法二: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检查网卡名是否变更。
方法三:临时切换验证(不写入磁盘,快速测试)
在不确定修改是否安全前,可先用内核参数临时生效,避免误操作导致网络中断。
执行sudo grubby --update-kernel=ALL --args="net.ifnames=0 biosdevname=0",然后立即重启。
若验证成功,再走方法一的永久配置;若失败,重启时删掉启动项即可恢复。











