systemd-networkd에 고정 경로를 추가하는 방법은 무엇입니까?

systemd-networkd에 고정 경로를 추가하는 방법은 무엇입니까?

192.168.0.0/24IP 가 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-networkda를 추가하여 이 항목을 내 구성에 추가하고 싶습니다 .[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부터 사용할 수 있습니다.

관련 정보