Answers:
Udev是一个系统组件,它确定Linux下设备的名称-主要是Windows下的文件名/dev
,还包括网络接口的名称。
udev从099到196的版本带有记录网络接口名称的规则,并且对于同一设备始终使用相同的编号。这些规则默认从udev 174开始禁用,但是仍然可以在您的发行版中启用(例如Ubuntu保留它们)。一些发行版提供了不同的规则集。
记录和保留接口名称以供将来使用的脚本是
/lib/udev/rules.d/75-persistent-net-generator.rules
。它在中写入规则
/etc/udev/rules.d/70-persistent-net.rules
。因此wlan0
,wlan1
从中删除现有项和条目/etc/udev/rules.d/70-persistent-net.rules
,然后更改wlan2
为wlan0
。运行udevadm --trigger --attr-match=vendor='Edimax'
(或--attr-match
找到的与设备匹配的任何参数)以将规则重新应用到已插入的设备。
从systemd
v197开始,通过为网络设备引入持久命名功能,此问题已得到解决。
根据freedesktop的“ 可预测网络接口名称”页面,内核仅根据相关驱动程序探测名称的顺序分配了名称:
内核应用的网络接口的经典命名方案是,在驱动程序探测到的所有接口上,简单地为所有接口分配以“ eth0”,“ eth1”等开头的名称。由于对于现代技术而言,通常无法预测驱动程序探测,因此,这意味着一旦有多个网络接口可用,通常就不再固定名称“ eth0”,“ eth1”等的分配,并且很可能会发生“一个引导上的“ eth0”最终会成为下一个引导上的“ eth1”。
如果您的发行版使用systemd,则可以使用分配给wlp0s11
您的名称,但名称可能有点笨拙udev
,例如wifi1
,也可以根据mac地址编写规则,为它们指定一个您更喜欢的名称,例如,...
包含一个/etc/udev/rules.d/
名为的文件10-network-device.rules
:
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="22:bb:cc:33:44:dd", NAME="wifi1"