Я использую Ubuntu 20.04 с systemd-networkd и Netplan. У меня есть два физических интерфейса (ens3
и энс4
), которые настроены по DHCP (с оговорками, поэтому у меня всегда получаются одни и те же адреса).
Кроме того, у меня есть два туннельных устройства. Они находятся вне контроля Netplan/networkd (они созданы Strongswan, но во всех смыслах и целях они создаются вручную, запустив что-то вроде ip туннель добавить...
). Эти туннельные устройства имеют IP-маршрут
добавлены для отправки трафика на них. При первоначальном создании они работают нормально, но systemd-networkd в конечном итоге удалит маршруты.
Чтобы противостоять этому, я успешно настроил туннельные устройства в systemd-networkd, но маршрут не может быть создан, потому что он был предпринят ранее. ens3
/энс4
настроены (я вижу туннель1: не удалось установить маршрут: неверный адрес prefsrc. Недопустимый аргумент
в системном журнале). Я подтвердил заказ, включив журнала отладки.
Я могу добавить маршрут вручную:
ip route add 10.0.32.0/20 dev Tunnel1 Scope Link SRC 10.0.16.170 Метрика 100
... который отлично работает, но через какое-то время будет удален systemd-networkd.
документация говорит: «Все файлы конфигурации коллективно сортируются и обрабатываются в лексическом порядке, независимо от каталогов, в которых они находятся», поэтому я искал другие файлы конфигурации и нашел их в /запустить/системд/сеть
:
10-netplan-ens3.link
10-netplan-ens3.network
10-netplan-ens4.link
10-netplan-ens4.network
Я пытался назвать свой netdev
и сеть
файлы как 99-tunnel1.netdev
или же zzzz-tunnel1.netdev
и т. д., и даже пробовал с 00-
и т. д. тоже. Что бы я ни делал, мне всегда кажется, что ens3
и энс4
настраиваются после туннельных интерфейсов, поэтому маршрут всегда не добавляется.
Я также пытался настроить свои устройства в Netplan. Это усложняет некоторые вещи, но в конечном итоге имеет ту же проблему. Несмотря на то, что он создает файлы, такие как 10-netplan-tunnel1.network
(которые лексически идут после файлов ens3/ens4), они по-прежнему применяются сетью в неправильном порядке.
Я уверен, что я что-то упускаю здесь, но я не вижу, что. Любые идеи?
Мой туннель1.netdev
выглядит так:
[NetDev]
Имя=туннель1
Вид=ВТИ
МТУБайт=1419
[Туннель]
Пульт = 1.2.3.4
Местный = 2.3.4.5
Ключ=100
... и .сеть
выглядит так:
[Соответствовать]
Имя=туннель1
[Соединять]
RequiredForOnline=нет
МТУБайт=1419
[Адрес]
Адрес=169.254.102.162/30
Пир = 169.254.102.161/30
[Маршрут]
Пункт назначения = 10.0.32.0/20
Предпочтительный источник = 10.0.16.170
Метрика=100
Область = ссылка