
У меня есть хост с 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.