Netplan et comment le préparer correctement

Ubuntu Système d'exploitation incroyable, ça fait longtemps que je ne l'ai pas utilisé. Ubuntu Mettre à jour mon serveur depuis une version stable de mon ordinateur n'avait aucun sens. C'est pourquoi, il y a peu de temps, j'ai dû me familiariser avec une toute nouvelle version. Ubuntu Sur le serveur 18.04, j'ai été sidéré de constater que j'étais complètement dépassé et incapable de configurer mon réseau, car le bon vieux système de configuration des interfaces réseau via le fichier /etc/network/interfaces avait disparu. Et qu'est-ce qui l'a remplacé ? Quelque chose de terrifiant et, au premier abord, totalement incompréhensible : « Netplan ».

Honnêtement, au début, je ne comprenais pas vraiment le principe et « pourquoi c'était nécessaire, après tout, tout était si pratique », mais après un peu de pratique, j'ai réalisé que ça avait son charme. Bref, assez de bavardages, passons à la présentation de Netplan. C'est un nouvel utilitaire pour configurer un réseau. UbuntuDu moins, « je n'ai rien rencontré de semblable dans d'autres distributions ». Une différence importante avec Netplan est que la configuration est écrite dans le langage YAML, oui, vous avez bien entendu YAML, les développeurs ont décidé de rester dans l'air du temps (et peu importe à quel point ils l'élogent, je pense toujours que c'est un langage terrible). Le principal inconvénient de ce langage est qu'il est très sensible aux espaces, regardons la configuration à l'aide d'un exemple.

Les fichiers de configuration se trouvent le long du chemin /etc/netplan/filename.yaml, entre chaque bloc il doit y avoir + 2 espaces.

1) L'en-tête standard ressemble à ceci :

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0f0:
      dhcp4:no

Regardons ce que nous avons fait maintenant :

  • réseau : - c'est le début du bloc de configuration.
  • renderer: networkd - nous indiquons ici le gestionnaire de réseau que nous utiliserons, c'est soit networkd, soit NetworkManager
  • version : 2 - ici, si je comprends bien, se trouve la version YAML.
  • ethernets : - ce bloc indique que nous allons configurer le protocole ethernet.
  • enps0f0 : — indique quelle carte réseau nous allons configurer.
  • dhcp4:no - désactivez DHCP v4, pour 6 v6 dhcp6 respectivement

2) Essayons d'attribuer des adresses IP :

    enp3s0f0:
      dhcp4:no
      macaddress: bb:11:13:ab:ff:32
      addresses: [10.10.10.2/24, 10.10.10.3/24]
      gateway4: 10.10.10.1
      nameservers:
        addresses: 8.8.8.8

Ici, nous définissons le serveur Poppy, IPv4, Gateway et DNS. Notez que si nous avons besoin de plus d’une adresse IP, nous les écrivons séparées par des virgules avec un espace obligatoire après.

3) Et si nous avons besoin collage?

  bonds:
    bond0:
      dhcp4: no
      interfaces: [enp3s0f0, enp3s0f1]
      parameters: 
        mode: 802.3ad
        mii-monitor-interval: 1

  • bonds : - un bloc expliquant que nous allons configurer le bonding.
  • bond0 : - nom d'interface arbitraire.
  • interfaces : - un ensemble d'interfaces collectées dans un bond-ding, "comme indiqué précédemment, s'il y a plusieurs paramètres, nous les décrivons entre crochets."
  • paramètres : — décrire le bloc de paramétrage
  • mode : – spécifiez le mode par lequel la liaison fonctionnera.
  • mii-monitor-interval : — définit l'intervalle de surveillance sur 1 seconde.

À l'intérieur du bloc nommé bond, vous pouvez également configurer des paramètres tels que les adresses, la passerelle4, les routes, etc.

Nous avons ajouté de la redondance pour notre réseau, il ne reste plus qu'à installer vlan et la configuration peut être considérée comme terminée.

vlans: 
    vlan10:
      id: 10
      link: bond0
      dhcp4: no
      addresses: [10.10.10.2/24]
      gateway: 10.10.10.1
      routes:
        - to: 10.10.10.2/24
          via: 10.10.10.1
          on-link: true

  • vlans : — déclare le bloc de configuration du vlan.
  • vlan10 : — nom arbitraire de l'interface vlan.
  • id : — balise de notre vlan.
  • lien : — interface à travers laquelle le vlan sera accessible.
  • routes : — déclarer un bloc de description d'itinéraire.
  • — to : — définit l'adresse/le sous-réseau vers lequel la route est nécessaire.
  • via : – spécifiez la passerelle via laquelle notre sous-réseau sera accessible.
  • on-link : — nous indiquons que les itinéraires doivent toujours être enregistrés lorsque le lien est établi.

Faites attention à la façon dont je place les espaces ; c'est très important dans YAML.

Nous avons donc décrit les interfaces réseau, créé des liaisons et même ajouté des VLAN. Appliquons notre configuration, la commande netplan apply vérifiera notre configuration pour les erreurs et l'appliquera en cas de succès. Ensuite, la configuration sera levée d'elle-même au redémarrage du système.

Après avoir collecté tous les blocs de code précédents, voici ce que nous avons obtenu :

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0f0:
      dhcp4: no
    ensp3s0f1:
      dhcp4: no
  bonds:
    bond0:
      dhcp4: no
      interfaces: [enp3s0f0, enp3s0f1]
      parameters: 
        mode: 802.3ad
        mii-monitor-interval: 1
  vlan10:
      id: 10
      link: bond0
      dhcp4: no
      addresses: [10.10.10.2/24]
      routes:
        - to: 10.10.10.2/24
          via: 10.10.10.1
          on-link: true
  vlan20:
    id: 20
    link: bond0
    dhcp4: no
    addresses: [10.10.11.2/24]
    gateway: 10.10.11.1
    nameserver:
      addresses: [8.8.8.8]
    

Maintenant, notre réseau est prêt à fonctionner, tout s'est avéré moins effrayant qu'il y paraissait au début et le code s'est avéré très beau et lisible. PC merci pour netplan il y a un excellent manuel sur le lien https://netplan.io/.

Source: habr.com

Achetez un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Achetez un hébergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster