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