¿Cómo agregar una ruta estática en systemd-networkd?

¿Cómo agregar una ruta estática en systemd-networkd?

Tengo un host que tiene 192.168.0.0/24una IP de 192.168.0.13. Su puerta de enlace proporcionada por DHCP es 192.168.0.254.

La configuración se realiza a través de systemd-networkdy el siguiente problema está presente al menos hasta la versión 240(la versión que uso hoy; consulte mi respuesta sobre versiones adicionales).

Necesito que este host llegue a 10.0.0.0/8las redes que están disponibles a través de una 192.168.0.10puerta de enlace; esto se puede hacer agregando una ruta estática:

# ip r add 10.0.0.0/8 via 192.168.0.10

Funciona bien (el tráfico pasa).

Ahora quería agregar esta entrada a mi systemd-networkdconfiguración, agregando [Route]a mi definición actual

[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

No funciona:

  • no se agrega ninguna ruta estática
  • hay un mensaje de error en el registro que menciona una red inaccesible
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

¿Cómo agregar correctamente esa ruta vía systemd-networkd?

Respuesta1

Esto esun error ensystemd, todavía presente en la versión 240.

Según el hilo anterior, una solución alternativa (o solución, no estoy seguro del estado ya que el error aún está abierto) es agregar GatewayOnlink=yesen la [Route]sección:

[Match]
Name=eth0

[Network]
DHCP=yes

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

Este parámetro está disponible a partir de systemdla versión ~237.

información relacionada