我有一台帶有 ubuntu 20.04 和兩個 LAN 連接埠的電腦。我希望左邊一個是eth0,另一個是eth1。因此我寫了一個udev規則
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="<mac left>", NAME:="eth0"
並將其放在下面/etc/udev/rules.d/10-eth0.rules。然後我期望在重新啟動時會發生重命名...但是重新啟動後 eth0 和 eth1 仍然交換,journalctl 告訴我:
eth1: Failed to rename network interface 3 from 'eth1' to 'eth0': File exists
eth1: Failed to process device, ignoring: File exists
那麼似乎在 udev 運行之前就已經設定了介面名稱?最近幾天我一直在谷歌上搜尋以查找其原因,但找不到任何適用的內容。建議檢查“sysconfig”,它當然在ubuntu中不存在,或檢查NetworkManager,我沒有安裝它。我也沒有安裝 netplan,但我有 ifupdown。 Ifupdown 應該使用/etc/網路/接口文件用於配置,但只有規則羅介面.
有沒有辦法在 udev 啟動之前檢查誰在設定介面以及為什麼會發生這種情況?