linux 修改网卡名称

在centos7的时候,我们习惯了em1这样的网络设备命名,在centos8发现网络设备变成了eno1这样的命名。

centos这种变化的原因是由于systemd和udev引入了一种新的网络设备命名方式:

一致网络设备命名(CONSISTENT NETWORK DEVICE NAMING)

服务器通常有多块网卡,有板载集成的,同时也有插在PCIe插槽的。
Linux系统的命名原来是eth0,eth1这样的形式,但是这个编号往往不一定准确对应网卡接口的物理顺序。
为解决这类问题,dell开发了biosdevname方案(systemd v197版本中将dell的方案作了进一步的一般化拓展)。

目前的Centos既支持dell的biosdevname,也支持systemd的方案。

为了满足我们k8s集群相应的网络名称统一,统一使用eno 模式(按centos 8的名称来)

具体操作

 

biosdevname的命名规范为:

实际的例子:
em1 板载网卡
p3p4 pci网卡
p3p4_1 虚拟网卡

net.ifnames命名规范为:设备类型+设备位置+数字

设备类型:
en 表示Ethernet
wl 表示WLAN
ww 表示无线广域网WWAN

这两个参数都可以在grub配置中提供,biosdevname=0是系统默认值(dell服务器默认是1),net.ifnames=1是系统默认值。

我们服务器是dell 的所以最终的规则可以配置为下图

 

grub2-mkconfig -o /boot/grub2/grub.cfg

cd /etc/sysconfig/network-scripts/

mv ifcfg-em3 ifcfg-eno3

vim  ifcfg-eno3

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NAME=eno3
DEVICE=eno3
ONBOOT=yes
IPADDR=192.168.8.205

reboot  重启系统就可以生效了

上面这种方式不推荐

我推荐下面的修改方式

如果用户自定义了rules文件(一般命名为70-persistent-net.rules),放在/etc/udev/rules.d/目录下,则这个优先级是最高的;比ifcfg-xx方式优先级更高,但是如果两者不一致,则在重启network服务时,会依据/etc/udev/rules.d下的用户定制配置文件

直接在/etc/udev/rules.d/中创建或修改70-persistent-net.rules文件,加上或修改信息为:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", NAME=="eno1"

vim  ifcfg-eno1

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NAME=eno3
DEVICE=eno3
ONBOOT=yes
IPADDR=192.168.8.205

就可以重启电脑了

 



 

参考文章

 https://blog.csdn.net/jerryleon007/article/details/123401643

https://www.cnblogs.com/yanh0606/p/10910808.html

 

posted @ 2021-08-03 16:14  屌丝的IT  阅读(1192)  评论(0编辑  收藏  举报