Linux

設置沒有地址的乙太網介面 systemd-networkd

  • February 22, 2022

我試圖找出一種方法來告訴 systemd-networkd 調出一個沒有 IP 地址的介面並在 networkctl 中強制一個操作狀態。

這就是我的networkctl命令輸出的樣子。到目前為止,似乎一切都在執行。

IDX LINK             TYPE               OPERATIONAL SETUP
 1 lo               loopback           carrier     unmanaged
 2 eno1             ether              degraded    configured
 3 eno2             ether              degraded    configured
 4 eno3             ether              no-carrier  configuring
 5 eno4             ether              no-carrier  configuring
 6 ovs-system       ether              off         unmanaged
 7 vmk0             ether              routable    configured

連結實際上eno1eno2沒有降級。它們是 Open vSwitch 綁定的一部分,systemd-networkd 不會根據我閱讀的內容管理 Open vSwitch,這對我來說很好。我現在試圖完成的是將乙太網介面的操作狀態強制為其他東西。

有沒有辦法在我的網路配置中強制執行狀態?從我在這裡做的閱讀看來,最好的選擇是將它們標記為enslaved

我嘗試將其添加到我的配置中;

[Match]
Name=eno*

[Link]
RequiredForOnline=enslaved

它似乎沒有對狀態進行任何更改。知道如何強制執行此設置,或者就此而言這是否可能?

我知道這已經有幾年了,您可能不再需要答案了,但是我偶然發現了這篇文章,要求搜尋相同的內容,並希望將我的解決方案貢獻給未來的可憐人。

我也在使用 Open vSwitch,我所有的物理網路介面都用作 vSwitch 埠,只需要啟動。以下適用於所有乙太網適配器,如果您只需要特定介面

$$ Match $$根據需要滿足您的需求。

[Match]
Name=en*

[Network]
DHCP=no
LinkLocalAddressing=no
KeepConfiguration=yes

這導致埠出現並在 OvS 和 networkctl 中工作,顯示:

eno1 ether carrier configured
enp2s0 ether carrier configured

測試機器是 Fedora 35 工作站,配備 I210 和 I219-LM 英特爾 NIC 以及 Open vSwitch 2.15.0 和 Systemd 249.9

引用自:https://unix.stackexchange.com/questions/526696