Ну, это похоже на ошибку 20.04. .сеть
файлы предназначены для обработки в лексическом порядке, в соответствии с этой выдержкой из systemd-networkd
документы:
Файлы .network считываются из файлов, расположенных в системе.
сетевые каталоги /usr/lib/systemd/network и
/usr/local/lib/systemd/network, изменяемый сетевой каталог среды выполнения.
/run/systemd/network и сетевой каталог локального администрирования
/etc/системд/сеть. Все файлы конфигурации отсортированы вместе
и обрабатываются в лексическом порядке, независимо от каталогов, в которых
они живут.
Однако, если я включу systemd-networkd
отладка (см. здесь если не умеете), оказывается, самый низкий-файл с лексической сортировкой имеет приоритет. Я не могу быть полностью уверен, потому что журналы не показывают порядок обработки и останавливаются только при первом обращении к соответствующему сетевому интерфейсу.
Это то, что я знаю, для простой установки сервера Ubuntu 20.04:
- Есть 5
.сеть
файлы по всей системе
- Один из них создается netplan во время выполнения и называется
/run/systemd/сеть/10-netplan-enp1s0.network
- Мой новый файл
/etc/systemd/сеть/static.network
- На
systemctl перезапустить systemd-networkd
файл netplan имеет приоритет над моим собственным
- Если я вручную удалю файл netplan и перезапущу сеть, мой файл будет задействован. Однако это временно, до следующей перезагрузки.
- Если я переименую свой файл в
05-static.network
тогда он имеет приоритет над файлом netplan
Следовательно, порядок обработки нарушен, если только я не делаю что-то глупое.
В качестве временного исправления вам нужно придать вашему файлу низкий лексический порядок, добавив префикс что-то вроде 05-
. Однако это может сломаться при будущем обновлении, если порядок обработки будет обратным. Лучшим решением было бы отключить netplan (не уверен, как это сделать), но это также может сломаться, если что-то еще решит, что нужно создать .сеть
файл, чтобы компенсировать отсутствующий файл netplan.
Изменить - удаление сетевого плана
Вы можете полностью удалить netplan с помощью меткая очистка netplan.io
. Тем не менее, это может быть плохой идеей — это также удаляет облачная инициализация
, например, который требуется DigitalOcean. Так:
# компакт-диск /etc/netplan
# rm 00-installer-config.yaml
# применить сетевой план
После перезагрузки вы больше не получаете автоматически сгенерированный .сеть
файл и может использовать обычные имена файлов в вашем .сеть
файлы без конфликтов.