莱因电博

Li-e.cn

Li Internet Electronic Blog
@rss

Linux使用udev规则绑定网卡名称

Using udev rules to bind network interface names of Linux systems

————————————————————

多网卡设备有时候网卡的名字会不太一样,需要固定下来。

设置网卡统一为 eth*

适用于 GRUB 方式启动的设备

  1. 编辑 /etc/default/grub 文件,找到 GRUB_CMDLINE_LINUX 参数;

  2. 内容追加: biosdevname=0 net.ifnames=0

GRUB_CMDLINE_LINUX=“xxx biosdevname=0 net.ifnames=0 xxx quiet”

使用MAC地址绑定网卡名称

  1. 获得需要绑定的网口的 MAC 地址
ip a
  1. 新建 udev 规则文件: /etc/udev/rules.d/90-bind-ether-name.rules (名字任意)

  2. 添加如下内容:

以 eth0 为例,重启后生效。

SUBSYTEM=="net", ACTION=="add", DRIVERS=="?*", ATTP{address}=="Your MAC Address", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

然后这个MAC地址的网卡就一直会被绑定为 eth0 了。

另一种绑定方案

比较复杂,适合专业用户

  1. 查看 eth0 的信息:
udevadm  info  --query=path  --path=/sys/class/net/eth0  --attribute
  1. 绑定方法:
# e.g.1
SUBSYSTEM=="net", DRIVERS=="", ATTR{device_addr}=="", NAME="eth0"

# e.g.2
SUBSYSTEM=="net", DRIVERS=="", KERNELS=="", NAME="eth0"
(C) 2019 - 2024 Li-e.cn莱因电博(立网电子博客) | Powered by Vercel , based on Hugo with Gists theme.