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/
.