
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
追加することで、このエントリを私の構成に追加したいと考えていました[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 から使用できます。