建立具有一致網路設備命名的 eth0

建立具有一致網路設備命名的 eth0

據我了解,Arch Linux 使用一致的網路設備命名其中網路設備不再命名為 eth0、eth1 等。

我使用專有的 MATLAB 軟體,該軟體需要設備 eth0啟用設定。作為解決方法,他們建議關閉一致的網路設備命名這裡。我認為這在 Arch 中不起作用,但也許我錯了,即使它確實有效,我也不確定這是一個好主意。

是否可以創建一個虛擬 eth0 設備來欺騙 MATLAB 啟動軟體?請注意,這並不是為了(而且我也不認為這樣做)違反與 MATLAB/The MathWorks 的任何許可協議。

答案1

您是否嘗試過建立空白/etc/udev/rules.d/80-net-name-slot.rules

從 Udev v197 開始,udev 已經實現了可預測的網路介面名稱,透過在該路徑中建立空白檔案然後重新啟動,您應該將介面名稱恢復為原來的名稱。

參考: 可預測的網路介面名稱

答案2

短期解決方案:

% sudo modprobe dummy
% sudo ip l set dev dummy0 name MyEth11
% sudo ip ad ad 192.168.255.254/30 dev MyEth11
% ip ad show dev MyEth11
14: MyEth11: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN 
    link/ether 6e:73:12:ad:db:8e brd ff:ff:ff:ff:ff:ff
    inet 192.168.255.254/30 scope global MyEth11
% sudo ip l set MyEth11 up

答案3

從 udev v209 開始,這是透過以下方式完成的:

$ sudo ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules

也可以看看,可預測的網路介面名稱 - 我不喜歡這個,如何停用它?

筆記:在同一部分中也提到了其他一些方法:

您基本上有四個選擇:

  1. 您停用固定名稱的分配,以便再次使用不可預測的核心名稱。為此,只需將 udev 的規則檔案屏蔽為預設策略即可:

    $ ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
    
  2. 您可以建立自己的手動命名方案,例如將介面命名為「internet0」、「dmz0」或「lan0」。為此,請在 /etc/systemd/network/ 中建立您自己的 .link 文件,為一個、部分或所有介面選擇一個明確的名稱或更好的命名方案。請參閱 systemd.link(5) 以了解更多資訊。

您在核心命令列上傳遞 net.ifnames=0

相關內容