为什么要修改网卡名称?
在早期的Linux系统中,网卡名称通常以传统的命名方式eth0、eth1、eth2来命名。
CentOS7开始,改变了网卡设备命名规则,基于硬件生成网卡名,例如ens33,ens160,可以保证网卡名称稳定且唯一,但是在批量管理环境中,没办法统一。
为了进行批量管理,以及脚本的通用性等方面的考虑。在某些情况下,需要将新的网卡命名规则改成传统的命名方式,即将ens33,ens160等名称改成eth0,eth1这样。
Redhat系列
将网卡名称由ens33改为eth0
步骤1:修改/etc/default/grub配置文件,在GRUB_CMDLINE_LINUX这行后面加上net.ifnames=0
增加这个参数的作用是禁用操作系统基于硬件生成网卡名称这种规则,来使用传统的网卡名称来命名。
# 使用vim工具编辑grub文件内容
vim /etc/default/grub
步骤2:修改/etc/sysconfig/network-scripts下的网卡配置文件。这些文件的命名一般由ifcfg-+‘‘网卡名称‘’组成的。所以我们需要将文件ifcfg-ens33重命名为ifcfg-eth0,另外,还需要将配置文件中有关ens33的信息改为eth0
# 切换到network-scripts目录下
cd /etc/sysconfig/network-scripts/
# 将ifcfg-ens33重命名为ifcfg-eth0
mv ifcfg-ens33 ifcfg-eth0
# 将配置文件中有关ens33的信息改为eth0
sed -i "s|ens33|eth0|g" ifcfg-eth0
步骤3:判断操作系统是基于UEFI模式还是BIOS模式引导的。
# 判断/sys/firmware/efi这个文件是否存在,如果存在则属于UEFI引导,反之BIOS
# 基于UEFI模式引导的系统,在/sys/firmware/目录下会有一个efi文件
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
步骤4:不同的模式引导的系统使用不同的命令重新生成grub配置文件。
# 基于UEFI模式引导的系统
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
# 基于BIOS模式引导的系统
grub2-mkconfig -o /boot/grub2/grub.cfg
步骤5:reboot重启服务器
重启完成后就可以查看网卡名称已经变为eth0了
Ubuntu
将网卡名称ens33修改为eth0
步骤1:修改/etc/default/grub配置文件,在GRUB_CMDLINE_LINUX这行中加上net.ifnames=0
vim /etc/default/grub
步骤2:修改/etc/netplan/00-installer-config.yaml网卡配置文件,将ens33改为eth0
sed -i "s|ens33|eth0|g" /etc/netplan/00-installer-config.yaml
步骤3和4参考Redhat。
grub-mkconfig -o /etc/grub/grub.cfg
步骤5:reboot重新启动。
临时修改网卡名称
# 将网卡关闭
ip link set ens33 down
# 临时更改网卡名称,系统重启后网卡名称会还原
ip link set ens33 name eth0
# 将网卡打开
ip link set eth0 up