udev关于解决多网卡,防止重启时顺序改变的方案

2021年09月15日 阅读数:1
这篇文章主要向大家介绍udev关于解决多网卡,防止重启时顺序改变的方案,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

昨天walfred在群里面,看到了一条“关于机器上面有多网卡,而且作了bond,重启以后却乱序了”的问题,提问的是一名叫Daemon的网友,Daemon以前研究过gentoo,如今貌似转战cent os了,这也是他在搞cent os的时候,遇到的问题,walfred以前只听过cent os,却一直没有接触过,这边就借Daemon的问题记载下这个解决方案。而且也但愿本身多和Daemon学习cent os的一些使用技巧。网络

问题:如标题ide

这里稍微补充下:若是你有两张网卡,一个是主板上自带的,还有一个是后来本身添加的。装完系统后,系统默认主板上的网卡为eth1,而本身添加的网卡是eth0,因此想办法使用udev使系统将主板上的网卡命名为eth0学习

解决方案:spa

cd /etc/udev/rules.dorm

找到60-net.rules,备份该文件ip

mv 60-net.rules 60-net.rules.bakit

新建文件60-net.rules,内容以下:event

[root@localhost rules.d]# cat 60-net.rulesclass

SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="你本身的网卡1mac地址",cli

IMPORT="/lib/udev/rename_device %k eth0"

SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="你本身的网卡2mac地址",

IMPORT="/lib/udev/rename_device %k eth1"

其中须要注意的是,你要将你本身的网卡的mac地址作相应的更改。

重启电脑,一切ok
不重启的话比较麻烦一点,下面介绍一下
使用udevinfo 获取网卡物理设备信息
udevinfo -a -p /sys/class/net/eth0
取消mac等信息
而后添加规则如:
SUBSYSTEM=="net",SYSFS{address}=="00:11:5b:d1:0e:f8",NAME="lan0"
注意:在udev规则文件中必须使用小写的16进制MAC地址,udev没法识别大写的MAC地址(或直接以udevinfo 的输出为准)。
若是修改了设备名,须要从新启动udev
因为需重命名网络设备,故需中止网络,并卸载网卡驱动模块:
ervice network stop;rmmod 8139cp;rmmod 8139too;start_udev;service network start
若没有中止网络,而该网卡设备仍在使用中,重启udev 服务时,会报错:
Sep 1 15:43:57 ax3sp3 udevd-event[3077]: rename_netif: error changing netif name: Device or resource busy