指定定网卡名称

一、PCIe网卡名称指定

原理:利用udev规则匹配PCIe设备的硬件特征(如总线位置、MAC地址等),覆盖默认命名规则
4

步骤:
获取设备信息:
Bash

udevadm info -a -p /sys/class/net/<原设备名>  # 如ens33

记录关键属性如KERNELS(PCI插槽路径)、ATTR{address}(MAC地址)。
创建udev规则文件:
Bash

sudo vim /etc/udev/rules.d/71-pcie-net.rules

示例内容(根据设备属性匹配):
Bash

SUBSYSTEM=="net", ACTION=="add", KERNELS=="0000:01:00.0", ATTR{address}=="00:11:22:33:44:55", NAME="pcie0"

KERNELS:PCIe设备总线路径(通过lspci或udevadm获取)。
ATTR{address}:网卡MAC地址(可选,用于精确匹配)。

二、USB网卡名称指定

原理:通过udev规则匹配USB设备的物理端口或父设备路径,防止因USB接口顺序变化导致名称不稳定
步骤:
获取USB设备信息:

udevadm info -a -p /sys/class/net/<原设备名>  # 如enx001122334455

重点关注KERNELS(USB端口路径,如1-1.2)和ATTRS{idVendor}/ATTRS{idProduct}。
创建udev规则文件:

sudo vim /etc/udev/rules.d/72-usb-net.rules

示例内容:

SUBSYSTEM=="net", ACTION=="add", KERNELS=="1-1.2", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="8153", NAME="usbnet0"

KERNELS:USB物理端口路径(如1-1.2表示主控制器1下的端口1.2)。
idVendor/idProduct:USB设备的厂商和产品ID(通过lsusb获取)。

三、生效规则

重载udev规则:Bash

sudo udevadm control --reload-rules
sudo udevadm trigger

重启系统或重新插拔设备后生效。
注意事项
命名冲突:避免与系统默认规则冲突(如/lib/udev/rules.d/80-net-setup-link.rules)。
MAC地址变化:USB网卡的MAC地址可能因设备更换变化,建议优先用KERNELS或端口路径匹配

兼容性:此方法适用于现代Linux发行版(如Ubuntu 18.04+、CentOS 7+) 4

示例验

查看所有网卡名称

ip link show

检查规则是否生效

udevadm test /sys/class/net/<设备名> 2>&1 | grep "Applying rule"

通过以上方法,可以确保PCIe/USB网卡在系统重启或热插拔后保持固定名称,适用于依赖网卡名的应用程序或脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值