Wie füge ich eine statische Route in systemd-networkd hinzu?

Wie füge ich eine statische Route in systemd-networkd hinzu?

Ich habe einen Host, der eingeschaltet ist 192.168.0.0/24und die IP-Adresse hat 192.168.0.13. Sein per DHCP bereitgestelltes Gateway ist 192.168.0.254.

Die Konfiguration erfolgt über systemd-networkdund das folgende Problem ist mindestens bis zur Version vorhanden 240(die Version, die ich heute verwende – siehe meine Antwort zu weiteren Versionen).

Dieser Host muss Netzwerke erreichen 10.0.0.0/8, die über ein Gateway verfügbar sind 192.168.0.10. Dies kann durch das Hinzufügen einer statischen Route erfolgen:

# ip r add 10.0.0.0/8 via 192.168.0.10

Es funktioniert einwandfrei (der Verkehr läuft durch).

systemd-networkdIch wollte diesen Eintrag nun zu meiner Konfiguration hinzufügen , indem ich [Route]meiner aktuellen Definition ein

[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

Es funktioniert nicht:

  • Es wird keine statische Route hinzugefügt
  • Im Protokoll befindet sich eine Fehlermeldung, die auf ein nicht erreichbares Netzwerk hinweist.
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

Wie füge ich diese Route korrekt hinzu systemd-networkd?

Antwort1

Das istein Fehler insystemd, immer noch in Version vorhanden 240.

GatewayOnlink=yesGemäß dem obigen Thread besteht eine Problemumgehung (oder Lösung, ich bin mir über den Status nicht sicher, da der Fehler immer noch offen ist) darin, dem folgenden [Route]Abschnitt hinzuzufügen :

[Match]
Name=eth0

[Network]
DHCP=yes

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

Dieser Parameter ist ab systemdVersion ~237 verfügbar.

verwandte Informationen