Вопрос или проблема
Я хочу использовать визуализатор netplan networkd без каких-либо других функций/действий.
Написать yaml-файлы netplan в пользовательскую директорию и обработать их с помощью визуализатора netplan. Не перезаписывать файлы systemd/network (или любые другие), а записывать обработанные конфигурационные файлы в пользовательский путь.
Как netplan-generate --root-dir netplan-config > rendered-config
.
.
Ответ или решение
Понимая сложность данного запроса, важно подойти к решению задачи с пониманием концепции работы Netplan и его возможностей в интеграции с сетевой архитектурой на базе Ubuntu и других Linux-систем. Ваше желание использовать Netplan с рендерером networkd, не вмешиваясь в системные файлы, и сохранить сгенерированные файлы конфигурации в настраиваемый путь, представляет собой специфичный кейс. Давайте подробно рассмотрим, как можно этого достичь.
Шаг 1: Создание YAML-файлов Netplan
Создайте YAML-файлы конфигурации для Netplan в пользовательском каталоге. Например, создайте каталог ~/custom-netplan-config
, в котором будут находиться ваши конфигурационные файлы. Эти файлы должны описывать все сетевые настройки, которые вы хотите применить.
mkdir ~/custom-netplan-config
Пример файла 01-netcfg.yaml
в этом каталоге может выглядеть следующим образом:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: yes
Шаг 2: Исполнение команды netplan-generate с пользовательским каталогом
К сожалению, по состоянию на текущее время, netplan generate
не поддерживает напрямую указание пользовательского каталога с YAML-конфигурациями через параметр --root-dir
. Однако, есть обходной путь: создание собственных скриптов для управления этим процессом.
Шаг 3: Сохранение сгенерированных конфигураций в настраиваемый путь
Используйте один из следующего подхода, чтобы выполнить задачу:
-
Ручное копирование и использование netplan apply.
Выполните
netplan generate
, затем обновите системные конфигурационные файлы вручную или с помощью скрипта. Затем скопируйте их в желаемое местоположение:sudo netplan generate cp -r /run/systemd/network ~/.custom-rendered-configs
-
Скрипт для автоматизации процесса.
Напишите скрипт, который сначала переключится на тестовое окружение, выполнит генерацию файлов, а затем сохранит их в другой каталог:
#!/bin/bash sudo cp ~/custom-netplan-config/*.yaml /etc/netplan/ sudo netplan generate cp -r /run/systemd/network ~/rendered-configoutputs/ # Восстановите исходные файлы, если требуется
Заключение
Текущие возможности Netplan не позволяют напрямую указывать вывод команды netplan generate
в альтернативный путь. Тем не менее, можно применить описанные выше методы для достижения вашей цели. Благодаря этому, вы сможете контролировать и направлять рабочие процессы конфигурации сети без влияния на системные конфигурационные файлы.
Подобный подход успешно применим для тестирования и в условиях, когда конфигурация сети должна быть изолирована от текуще работающей системы.