Назад | Перейти на главную страницу

Внести временные изменения в systemd-networkd, которые исчезнут после перезагрузки, для тестирования?

systemd-networkd это способ настроить сеть с помощью systemd. Файлы живут в /etc/systemd/network. Если я хочу изменить настройку, я могу отредактировать файл там, а затем выполнить systemctl restart systemd-networkd чтобы загрузить это.

Однако если я сделаю ошибку и нарушу работу сети, мое SSH-соединение прервется, и я не смогу войти в систему. Затем я должен перезагрузить систему в «режим восстановления» и отредактировать файл. Есть ли способ внести сетевое изменение и применить его, но только для этого ботинка? Так что если я перезагружу сервер, старые настройки будут применены? Это упростило бы тестирование.

Например, iptables есть / была команда настройки брандмауэра в Debian. По умолчанию конфигурация не сохранялась, приходилось использовать iptables-persistent команда. Таким образом, вы можете настроить свой брандмауэр с помощью iptables, и используйте только iptables-save когда вы хотели сохранить свои настройки в файл. Если вы сломали брандмауэр и заблокировали себя, вы могли просто перезагрузиться, и несохраненные изменения исчезли.

Есть что-нибудь подобное для systemd-networkd?

Это Ubuntu 18.04 с systemd 237.

Поместите ваши .network .link или .netdev модули в изменчивый сетевой каталог времени выполнения. /run/systemd/network/. Также поддерживаются дроп-ин конфиги, например /run/systemd/network/tunnel.netdev.d/config.conf Сохраненный в tmpfs, перезагрузка удалит его, и единственная дополнительная команда, которая вам понадобится, - это выключить виртуальную машину.

Подобная схема конфигурационного файла характерна для systemd. Файлы с одинаковыми именами в /etc/systemd/ иметь приоритет перед /run/systemd/, которые, в свою очередь, имеют приоритет /usr/lib/system/.