无线编号分配


12

Linux如何或在何处确定网络设备的分配?具体而言,wlan0wlan1对于无线USB设备。

不久前,我插入了TP USB无线设备,并且已分配好wlan0。我删除了 本周,我插入了一个Edimax USB无线设备,它显示为wlan1。我今天将其卸下,尝试使用第二个Edimax USB无线设备(我买了两个),现在它出现了wlan2

我对Unix / Linux足够了解,可以知道它是在某处配置的,如果删除未使用的配置文件,则可以使最新的Edimax成为wlan0。但是如何/在哪里?

Answers:


15

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。因此wlan0wlan1从中删除现有项和条目/etc/udev/rules.d/70-persistent-net.rules,然后更改wlan2wlan0。运行udevadm --trigger --attr-match=vendor='Edimax'(或--attr-match找到的与设备匹配的任何参数)以将规则重新应用到已插入的设备。


非常感谢。这是在raspberry pi(raspbian)上的debian,因此持久性存储稍有不同。
Huntrods 2013年

在该版本的Raspbian(我认为是最新)上存储特定的wlan分配的文件是:/etc/udev/rules.d/70-persistent-net.rules。我使用上面的信息发现了这个问题,然后键入“ man udev”以查看为什么我无法在/lib/udev/rules.d目录中找到“ wlan”。
亨德罗斯2013年

对于树莓派,无线局域网编号是根据无线设备的mac地址设置的(在这种情况下,将其插入USB端口)。它根据识别和配置无线设备时第一次看到新的mac地址的顺序分配编号(wlan0,wlan1等)。根据您的建议编辑该文件,您可以通过其静态IP将任何设备设置为任何wlan#。- 谢谢。
亨德罗兹2013年

提供以下几点澄清:1)Gilles在他的回答中很明确,很想看到一个由hwaddr分配ID的示例,2)按看到的顺序分配了接口-例如,我有两个edimax USB NIC,放置四个可用USB插槽中的USB插槽与它们的扫描顺序高度相关。3)您可以通过拔出接口并按照您希望的顺序手动插入接口来重新排序接口。
CJ Steele

4

systemdv197开始,通过为网络设备引入持久命名功能,此问题已得到解决。

根据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"

1
您在这里错过了一步。显然,Huntrods没有采用新命名方案的197后udev,而且显然还具有持久命名方案。他需要调整这种持久的命名方案。
吉尔斯(Gillles),所以-别再邪恶了

我能说什么 我拍了一下...
jasonwryan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.