在较新版本的 CentOS 中,默认使用基于 BIOS 设备名称的网卡命名方式(如 em1、p4p1 等),但有时我们需要将其改回传统的 eth0 命名方式。以下是详细步骤:
编辑 grub 配置文件:
sudo vi /etc/default/grub
在 GRUB_CMDLINE_LINUX 行添加参数:
GRUB_CMDLINE_LINUX="... net.ifnames=0 biosdevname=0"
更新 grub 配置:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
重命名网卡配置文件:
sudo mv /etc/sysconfig/network-scripts/ifcfg-em1 /etc/sysconfig/network-scripts/ifcfg-eth0
修改网卡配置文件中的设备名:
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
将 NAME="em1"
和 DEVICE="em1"
改为 NAME="eth0"
和 DEVICE="eth0"
重启系统:
sudo reboot
获取网卡 MAC 地址:
ip link show em1
创建 udev 规则文件:
sudo vi /etc/udev/rules.d/70-persistent-net.rules
添加如下内容(替换实际的 MAC 地址):
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:xx:xx:xx", ATTR{type}=="1", NAME="eth0"
重命名网卡配置文件:
sudo mv /etc/sysconfig/network-scripts/ifcfg-em1 /etc/sysconfig/network-scripts/ifcfg-eth0
修改网卡配置文件:
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改 NAME
和 DEVICE
为 eth0
重启系统:
sudo reboot
重启后,执行以下命令验证:
ip addr show
应该能看到网卡名称已从 em1 变为 eth0。
如需恢复默认命名方式,只需移除 grub 参数中的 net.ifnames=0 biosdevname=0
并重新生成 grub 配置即可。