00:文章简介
CentOS7更新了网卡命名规则后就不是CentOS的eth开头命名了,本文收集了几种修改CentOS7网卡名称为eth开头的方法。
01:效果展示
02:修改grub内核启动参数的方法
2.1:修改内核参数
在/etc/default/grub文件内的GRUB_CMDLINE_LINUX开头的引号内,添加net.ifnames=0 biosdevname=0参数
2.2:重新生成grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg
2.3:修改网卡配置文件
重命名网卡配置文件为ifcfg-eth0
mv ifcfg-ens33 ifcfg-eth0
修改网卡配置文件内的名称并删除UUID,修改完成的前后对比如下图所示。
2.4:重启验证
如图所示,修改成功。
2.5:注意事项
此操作在虚拟机和单网卡服务器上可以使用,但根据实践操作,在多网卡物理服务器上使用时,会出现重启后网卡名称错乱的现象,例如eth0指向物理网卡的3口。
03:使用udev规则修改网卡名称
3.1:查看网卡MAC地址
使用ifconfig查看并记录网卡名称和MAC地址对应关系
3.2:创建规则文件
cat > /etc/udev/rules.d/70-persistent-net.rules <<EOF
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?",ATTR{address}=="00:0c:29:cc:09:41",ATTR{type}=="1",KERNEL=="eth",NAME="eth0"
EOF
3.3:修改网卡配置文件
重命名网卡配置文件
mv ifcfg-ens33 ifcfg-eth0
修改网卡配置文件内容
3.4:重启验证
3.5:注意事项
网卡名称和MAC地址的对应关系要填写正确,这样即使重启系统后网卡名称也不回混乱,此方法已应用于生产环境,并未发现问题,除非网卡故障更换网卡。
3.6:shell脚本
#使用前请注意修改网卡名称
m1=`ifconfig ens192 | grep "ether"| tr -s " " %|cut -d% -f3`
cd /etc/sysconfig/network-scripts/
echo "HWADDR=$m1" >> ifcfg-ens192
mv ifcfg-ens192 ifcfg-eth0
sed -i 's/ens192/eth0/g' ifcfg-eth0
cat > /etc/udev/rules.d/70-persistent-net.rules <<EOF
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="$m1",ATTR{type}=="1",KERNEL=="eth*",NAME="eth0"
EOF
3.7:python脚本
# cat generateRule.py
#!/usr/bin/python
import os
name = os.popen("ip a |grep BROADCAST |awk '{print $2}' | awk -F ':' '{print $1}'").read()
Name = name.split()
LIST = []
for i in Name:
list = []
mac = os.popen("cat /sys/class/net/%s/address"%i).read()
list.append(i)
list.append(mac.strip())
LIST.append(list)
for a in LIST:
print 'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="%s", NAME="%s"'%(a[1],a[0])
使用方法
python generateRule.py >> /etc/udev/rules.d/70-persistent-net.rules
评论区