Netplan et comment le cuisiner correctement

Ubuntu est un système d'exploitation génial, il n'a pas fonctionné avec le serveur Ubuntu depuis longtemps et il était inutile de mettre à jour son bureau à partir d'une version stable. Et il n'y a pas longtemps, je devais tomber sur une nouvelle version du serveur Ubuntu 18.04, ma surprise ne connaissait pas de limites quand je me suis rendu compte que j'étais inférieur à la vie et ne pouvais pas configurer le réseau parce que l'ancien système aimable pour configurer les interfaces réseau en utilisant les outils d'édition de fichiers / etc / network / interfaces a disparu. Mais qu'est-ce qui l'a remplacée? quelque chose de terrible et à première vue complètement incompréhensible, rencontrez Netplan.

Franchement, au début, je ne pouvais pas comprendre quel était le problème et "pourquoi c'était nécessaire, parce que tout était si pratique", mais après avoir eu un peu de pratique, j'ai réalisé qu'il avait son propre charme. Et donc assez de paroles nous allons continuer, ce qui est Netplan est un nouvel utilitaire pour configurer le réseau dans Ubuntu, au moins "dans d'autres distributions, je n'ai rien vu de tel." La différence significative entre Netplan est que la configuration est écrite en YAML , oui vous avez bien entendu parler de YAML, les développeurs ont décidé de suivre le temps (et combien ils ne l'ont pas exalté, je le considère toujours comme un langage terrible). Le principal inconvénient de ce langage est qu'il est très sensible aux espaces, regardons la configuration en utilisant un exemple.

Les fichiers de configuration sont situés sur le chemin /etc/netplan/file.yaml, entre chaque bloc quand il devrait y avoir + 2 espaces.

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

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

Voyons ce que nous venons de faire:

  • réseau: c'est le début du bloc de configuration.
  • renderer: networkd - ici nous indiquons le gestionnaire de réseau que nous utiliserons, c'est soit networkd ou NetworkManager
  • version: 2 - ici, si je comprends bien, la version YAML.
  • ethernets: - ce bloc indique que nous allons configurer le protocole Ethernet.
  • enps0f0: - indiquez quelle carte réseau nous allons configurer.
  • dhcp4: non - désactiver 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 pavot, ipv4, la passerelle et le serveur DNS. Notez que si nous avons besoin de plus d'une adresse IP, nous les écrivons séparés par des virgules avec un espace obligatoire après.

3) Et si nous avons besoin d'un cautionnement ?

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

  • liaisons: - un bloc expliquant que nous allons configurer la liaison.
  • bond0: - un nom d'interface arbitraire.
  • interfaces: - un ensemble d'interfaces collectées en bond-ding '', comme indiqué précédemment si plusieurs paramètres sont décrits entre crochets ".
  • paramètres: - décrire le bloc de paramétrage
  • mode: - indiquez le mode de fonctionnement du collage.
  • mii-monitor-interval: - définissez l'intervalle de surveillance sur 1 seconde.

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

Nous avons ajouté une redondance pour notre réseau, maintenant il ne reste plus qu'à bloquer 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éclarer le bloc de configuration vlan.
  • vlan10: - n'importe quel nom de l'interface vlan.
  • id: - le tag de notre vlan.
  • lien: - l'interface via laquelle vlan sera disponible.
  • routes: - nous déclarons le bloc de description de la route.
  • - à: - définir l'adresse / le sous-réseau vers lequel l'itinéraire est nécessaire.
  • via: - spécifiez la passerelle via laquelle notre sous-réseau sera disponible.
  • on-link: - indique qu'il est toujours nécessaire d'enregistrer des itinéraires lors de la montée de la liaison.

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

Ici, nous avons décrit les interfaces réseau, créé la liaison et même ajouté des vlan-s. Appliquons notre configuration, l'équipe d'application de netplan vérifiera notre configuration pour les erreurs et l'appliquera en cas de succès. Ensuite, la configuration augmentera 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] 

Notre réseau est donc prêt à fonctionner, tout s'est avéré ne pas être aussi effrayant qu'il semblait au début et le code s'est avéré très beau et lisible. PC merci pour le netplan il y a un excellent manuel sur https://netplan.io/ .

Source: https://habr.com/ru/post/fr448400/


All Articles