Ну, это похоже на ошибку 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
# применить сетевой план
После перезагрузки вы больше не получаете автоматически сгенерированный .сеть файл и может использовать обычные имена файлов в вашем .сеть файлы без конфликтов.