systemd-networkd одна сетевая карта, несколько IP-адресов, два шлюза

Это не результат разделения слов (, точнее разделения токенов ), это результат раскрытия тильды в присваиваниях переменных:

Each variable assignment is checked for unquoted tilde-prefixes immediately following a ‘:’ or the first ‘=’. In these cases, tilde expansion is also performed.

Когда он разбивает команду на токены, разделители слов, которые bash использует, являются ее метасимволами:

A character that, when unquoted, separates words. A metacharacter is a space, tab, newline, or one of the following characters: ‘|’, ‘&’, ‘;’, ‘(’, ‘)’, ‘<’, or ‘>’.

mypath=/program_files:~/home/t

— это один токен с точки зрения bash.

1
01.05.2020, 21:18
1 ответ

Если я правильно понимаю, ваш основной маршрут (шлюз )будет от DHCP, а второй будет резервным. Таким образом, вы можете установить статический маршрут с большей метрикой, который будет использоваться только в том случае, если первичный маршрут не работает. Вы можете проверить свои текущие показатели с помощью route -n.

При использовании systemd-networkdфайл .networkдолжен выглядеть как:

[Match]
Name=usbceth0

[Network]
DHCP=ipv4
DNS=8.8.8.8
DNS=8.8.4.4

# LAN_1
[Address]
Label=usbceth0:0
Address=192.168.100.10/24

# LAN_2 (4G-LAN)
[Address]
Label=usbceth0:1
Address=192.168.50.70/24

# "Static"-Gateway as backup
[Route]
Gateway=192.168.50.1
#Destination=0.0.0.0/0
Metric=1025 # The Gateway of the DHCP gets the default 1024

Если он жалуется, вы можете добавить Destination=, а также вы можете использовать RouteMetricдля маршрута DHCP, если вы хотите создать собственную метрику. Не забудьте перезапустить systemd-networkd.service.

Или вы можете сделать это с помощью ip route add 'Destination' via 'Gateway' metric, но это не останется после перезагрузки

1
28.04.2021, 23:16

Теги

Похожие вопросы