WLAN號碼分配

WLAN號碼分配

Linux 如何或在哪裡確定網路設備的分配?特別wlan0wlan1對於無線 USB 裝置。

我前段時間插了一個TP USB無線,就分配了wlan0。我把它去掉了。本週我插入了 Edimax USB 無線設備,它顯示為wlan1。我今天將其取下來嘗試第二個 Edimax USB 無線設備(我買了兩個),現在它又出現了wlan2

我對 Unix/Linux 有足夠的了解,知道這是在某處配置的,如果我刪除未使用的配置文件,我可以使最新的 Edimax 成為wlan0.但如何/在哪裡?

答案1

烏德夫是決定 Linux 下設備名稱的系統元件 - 主要是 下的檔案名/dev,但也包括網路介面的名稱。

從 099 到 196 的 udev 版本都有記錄網路介面名稱的規則,並且對於同一裝置始終使用相同的編號。從 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.ruleswlan2wlan0udevadm --trigger --attr-match=vendor='Edimax'--attr-match

答案2

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"

相關內容