目 录CONTENT

文章目录

OS系列05-修改CentOS7网卡名称为eth开头

cplinux98
2022-08-30 / 0 评论 / 0 点赞 / 52 阅读 / 718 字 / 正在检测是否收录...

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
0

评论区