如何在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起可用。

相关内容