如何在systemd-networkd中新增靜態路由?

如何在systemd-networkd中新增靜態路由?

192.168.0.0/24我有一個 IP 為 的主機192.168.0.13。其 DHCP 提供的網關是192.168.0.254

配置是透過完成的systemd-networkd,並且以下問題至少在版本之前存在240(我今天使用的版本 - 請參閱我關於其他版本的答案)。

我需要此主機存取10.0.0.0/8可透過192.168.0.10網關存取的網路 - 這可以透過新增靜態路由來完成:

# ip r add 10.0.0.0/8 via 192.168.0.10

它工作正常(交通通過)。

我現在想systemd-networkd通過添加 a[Route]到我當前的定義來將此條目添加到我的配置中

[Match]
Name=eth0

[Network]
DHCP=yes

# the entry below is added to ensure a static route

[Route]
Gateway=192.168.0.10
Destination=10.0.0.0/8

這是行不通的:

  • 沒有新增靜態路由
  • 日誌中有一條錯誤訊息提到無法存取網絡
Jan 17 11:29:32 rpi-dmz systemd[1]: Stopping Network Service...
Jan 17 11:29:32 rpi-dmz systemd[1]: Stopped Network Service.
Jan 17 11:29:32 rpi-dmz systemd[1]: Starting Network Service...
Jan 17 11:29:33 rpi-dmz systemd-networkd[14584]: wlan0: Gained IPv6LL
Jan 17 11:29:33 rpi-dmz systemd-networkd[14584]: eth0: Gained IPv6LL
Jan 17 11:29:33 rpi-dmz systemd-networkd[14584]: Enumeration completed
Jan 17 11:29:33 rpi-dmz systemd[1]: Started Network Service.
Jan 17 11:29:33 rpi-dmz systemd-networkd[14584]: eth0: Could not set route: Network is unreachable
Jan 17 11:29:33 rpi-dmz systemd-networkd[14584]: eth0: DHCPv4 address 192.168.0.13/24 via 192.168.0.254

如何正確新增該路線通過systemd-networkd

答案1

這是中的一個錯誤systemd,仍然存在於版本中240

根據上面的線程,解決方法(或解決方案,我不確定狀態,因為錯誤仍然存在)是GatewayOnlink=yes在以下[Route]部分中添加:

[Match]
Name=eth0

[Network]
DHCP=yes

[Route]
Gateway=192.168.0.10
Destination=10.0.0.0/8
GatewayOnLink=yes

systemd此參數從版本 ~237起可用。

相關內容