web-dev-qa-db-fra.com

Comment recharger la configuration réseau avec cloud-init?

J'ai installé Ubuntu Server 18.04, et au lieu de l'ancien /etc/network/interfaces, il semble que ma configuration réseau se trouve maintenant dans une série de fichiers YAML dans /etc/netplan, dont le seul que j'ai réellement est /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

Cela semble avoir été généré par cloud-init, à partir de /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

Quelle est la bonne façon de modifier cette configuration et d'appliquer les modifications à la machine en cours d'exécution? Le commentaire dans le fichier Netplan m'a suggéré qu'il était éphémère et généré lors du redémarrage par cloud-init. Je devrais donc modifier la configuration de cloud-init. Mais même après l'avoir modifié et redémarré, je ne vois aucune modification dans le fichier Netplan et je ne sais vraiment pas comment appliquer les modifications de configuration cloud-init à la main. Et après avoir relu le commentaire, il me semble maintenant qu'il est question de changements qui ne persistent pas après la destruction et la recréation de la machine , ce qui semble aller sans rien dire. Donc, clairement, je comprends mal quelque chose.

Donc ma question est:

  1. Où dans le nouveau système cloud-init/netplansuis-je supposé mettre la configuration manuelle du réseau?

  2. Comment appliquer les modifications apportées dans /etc/netplan?

  3. Comment appliquer les modifications apportées dans /etc/cloud/cloud.cfg.d?

3
interfect

Commencez par sauvegarder le fichier /etc/netplan/*.yaml actuel dans un fichier du type /etc/netplan/*.yaml.BAK.

Ensuite, vous apportez les modifications souhaitées à /etc/netplan/*.yaml. L'indentation et l'espacement et l'absence de tabulation sont TRÈS importants lors de la création/modification d'un fichier .yaml.

FYI: vos fichiers .yaml existants doivent commencer par:

network:
  version: 2
  renderer: networkd

Ensuite:

Sudo netplan --debug generate # générer des fichiers de configuration

Sudo netplan apply # s'applique au système actuel

reboot # pour confirmer le bon fonctionnement

Pour d'autres exemples et instructions de configuration, voir https://netplan.io/examples

2
heynnema