Я установил Сервер Ubuntu 18.04, и вместо старого /etc/network/interfaces
, кажется, что моя конфигурация сети теперь живет в серии файлов YAML в /etc/netplan
, из которых единственный я на самом деле имею, /etc/netplan/50-cloud-init.yaml
:
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
ethernets:
ens3:
addresses: []
dhcp4: true
dhcp6: true
nameservers: {}
optional: true
ens4:
addresses: []
dhcp4: true
dhcp6: true
nameservers: {}
optional: true
version: 2
Это, кажется, было сгенерировано cloud-init
, от /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg
:
network:
ethernets:
ens3:
addresses: []
dhcp4: true
dhcp6: true
nameservers: {}
optional: true
ens4:
addresses: []
dhcp4: true
dhcp6: true
nameservers: {}
optional: true
version: 2
Что правильный путь состоит в том, чтобы отредактировать эту конфигурацию и применить изменения в беговой дорожке? Комментарий в файле Netplan, предложенном мне, что это эфемерно и сгенерировано на перезагрузке cloud-init
, таким образом, я должен отредактировать cloud-init
конфигурация. Но даже после редактирования его и перезагрузки, я не вижу изменений в файле Netplan, и я определенно не знаю, как подать заявку cloud-init
сконфигурируйтесь изменяется вручную. И после чтения комментария снова, теперь мне кажется, что это говорит об изменениях, не сохраняющихся через разрушение и воссоздание машины, которая, казалось бы, обошлась бы без помощи высказывания. Так ясно я неправильно понимаю что-то.
Таким образом, мой вопрос:
Где в новом cloud-init
/netplan
система - я предполагаемый поместить ручную конфигурацию сети?
Как я применяю изменения, в которых я вношу /etc/netplan
?
Как я применяю изменения, в которых я вношу /etc/cloud/cloud.cfg.d
?
Во-первых, Вы копируете ток /etc/netplan/*.yaml
файл к чему-то как /etc/netplan/*.yaml.BAK
.
Затем Вы вносите любые изменения, Вы требуете /etc/netplan/*.yaml
. Добавление отступа и интервал и никакие вкладки, ОЧЕНЬ важны при создании/редактировании .yaml файла.
К вашему сведению: Ваши существующие .yaml файлы должны запуститься с:
network:
version: 2
renderer: networkd
Затем:
sudo netplan --debug generate
# генерируйте файлы конфигурации
sudo netplan apply
# обратитесь к существующей системе
reboot
# подтвердить правильное функционирование
Для дальнейших примеров и инструкций по конфигурации см. https://netplan.io/examples
Кажется, что прием к тому, чтобы заставлять yaml генерировать от cfg...
cloud-init clean -r
Следующая проблема состоит в том, как получить это набор cfg от seed.iso или nocloud-сетевых метаданных
флаг r совпадает с любой перезагрузкой shutdown -r now
Если Вы работаете cloud-init init
(не перезагружая) нет видимого изменения в/etc/netplan/50-cloud-init.yaml
Так все еще ясный о том, как инициировать это без перезагрузки? Я попробовал cloud-init init
и затем systemctl restart cloud-init
Я также попробовал cloud-init -d modules --mode config
и cloud-init -d modules --mode final
Хорошо ожидайте, я думаю, что нашел его...
systemctl restart cloud-init-local.service
это, кажется, восстанавливает netplan yaml от облака cfg после Вас cloud-init clean
выполнение cloud-init init
не делает этого. [Облако-init Ubuntu 19.04 19]
[слишком много подвижных частей в этом дизайне]
Примечание: Я нашел улучшение, которое приносит дальнейшую ясность, обе этих команды достигают желаемого результата.
cloud-init clean --logs
cloud-init init --local