Tutoriel de configuration du réseau Netplan pour les débutants

Tutoriel de configuration du réseau Netplan pour les débutants

Netplan est un utilitaire développé par Canonical, la société derrière Ubuntu. Il fournit une abstraction de configuration du réseau sur le système «backend» actuellement pris en charge (ou «rendu» dans la terminologie NetPlan): réseau et Gestionnaire de réseau. À l'aide de NetPlan, les interfaces réseau physiques et virtuelles sont configurées via yaml Fichiers qui sont traduits en configurations compatibles avec le backend sélectionné.

Sur Ubuntu 20.04 NetPlan remplace la méthode traditionnelle de configuration des interfaces réseau à l'aide du / etc / réseau / interfaces déposer; Il vise à rendre les choses plus faciles et plus centralisées (l'ancienne façon de configurer les interfaces peut encore être utilisée: consultez notre article sur la façon de changer de réseau vers / etc / réseau / interfaces sur Ubuntu 20.04 Focal Fossa Linux). Dans cet article, nous apprendrons les principes de base derrière l'utilitaire et, comme exemple, comment nous pouvons l'utiliser pour configurer une adresse IPv4 statique pour une interface réseau.

Dans ce tutoriel, vous apprendrez:

  • La structure de base des fichiers de configuration YAML utilisés par NetPlan
  • Comment créer une règle simple pour affecter une IP statique à une interface réseau
  • Comment appliquer des configurations en utilisant générer, essayer et appliquer sous-commande
Tutoriel de configuration du réseau Netplan pour les débutants

Exigences et conventions logicielles utilisées

Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Ubuntu 20.04 (Focal Fossa)
Logiciel Netplan (installé par défaut)
Autre Autorisations racinaires pour modifier les fichiers de configuration
Conventions # - nécessite que les commandes Linux sont exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux sont exécutées en tant qu'utilisateur non privilégié régulier

Fichiers de configuration NetPlan

Il existe trois emplacements dans lesquels des fichiers de configuration NetPlan peuvent être placés; Par ordre de priorité, ils sont:

  1. / run / netplan
  2. / etc / netplan
  3. / lib / netplan
Présentation de la conception de Netplan

À l'intérieur de chacun de ces répertoires, les configurations sont créées à l'aide de fichiers avec le .yaml extension qui sont traitées dans lexicographique Ordre, quel que soit le répertoire dans lequel ils se trouvent.

La priorité du répertoire n'a un rôle que lorsque les fichiers avec le même nom existent: dans ces cas, seul le fichier contenu dans le répertoire avec la priorité plus élevée est analysé.

Si un booléen ou scalaire Le paramètre est défini dans plusieurs fichiers de configuration, il supposera la valeur définie dans le dernier fichier qui est analysé; Si les valeurs sont séquences, Au lieu de cela, ils sont concaténés.

Les utilisateurs sont censés placer leurs configurations à l'intérieur du / etc / netplan annuaire; Par défaut, le seul fichier présent sur un nouveau Ubuntu 20 installé.04 Le système est / etc / netplan / 01-network-manager-all.yaml. Dans la section suivante, nous verrons les instructions qu'il contient, et quelle est leur signification.

Le / etc / netplan / 01-network-manage-all.fichier yaml

Le seul fichier de configuration existant / etc / netplan / Répertoire sur un nouveau Ubuntu installé 20.04 Le système est 01-network-manage-all.yaml. Jetons un coup d'œil à son contenu:

# Laissez NetworkManager gérer tous les appareils sur ce réseau système: Version: 2 Rendu: NetworkManager 

Comme le suggère le commentaire dans le fichier, la configuration est censée définir toutes les interfaces réseau sur le système à gérer par le Gestionnaire de réseau rendu. Nous pouvons observer que les directives sont en retrait à l'intérieur du nœud principal, réseau. Puisque nous avons affaire à des fichiers YAML, l'indentation est cruciale.

Deux autres mots clés que nous pouvons trouver dans le fichier sont version et rendu: le premier spécifie la version syntaxue utilisée, ce dernier le système backend (réseau contre Gestionnaire de réseau).

Dans la section suivante de ce tutoriel, nous créerons un exemple de configuration légèrement plus complexe, et nous l'utiliserons pour attribuer une adresse IPv4 statique à une interface réseau.

Un exemple de configuration - Définition d'une adresse IPv4 statique

Le fichier de configuration que nous avons vu ci-dessus est assez basique; Essayons quelque chose d'un peu plus complexe et voyons comment pouvons-nous configurer une adresse IPv4 statique à l'aide de NetPlan.

La première chose que nous devons faire est de créer un nouveau fichier de configuration, à analyser après la par défaut: appelons-le / etc / netplan / 02-static-ip.yaml. À l'intérieur du fichier, nous créons une règle pour correspondre aux interfactions réseau que nous voulons configurer: nous pouvons accomplir la tâche en utilisant le correspondre strophe.

À l'intérieur de correspondre Section, nous pouvons sélectionner une série d'interfaces physiques sur la base de la valeur des propriétés spécifiées. Pour que les paramètres soient appliqués, toutes les propriétés doivent être appariées par la règle.

Dans le fichier de configuration, nous écrivons:

# Définir l'adresse IP statique pour le réseau d'interface ENP1S0: Version: 2 Rendu: NetworkManager Ethernets: ID0: Match: Nom: ENP1S0 DHCP4: Faux Adresses: - 192.168.122.250/24 Nameservers: Adresses: - 192.168.122.1 passerelle 4: 192.168.122.1 

Voyons de plus près les nouvelles instructions que nous avons utilisées dans la configuration. À l'intérieur du principal réseau Node, les appareils peuvent être regroupés par leur type:

  • Ethernets
  • Wifis
  • des ponts


Étant donné que dans notre exemple, nous traitons d'un appareil Ethernet que nous avons utilisé Ethernets strophe. À l'intérieur de correspondre strophe, nous avons référencé l'interface par son nom: ENP1S0. Les règles de correspondance peuvent également être basées sur Adresse Mac Et, seulement lorsque vous utilisez réseau En tant que rendu, sur conducteur qui est le nom du pilote du noyau Linux utilisé pour le ou les périphériques.

Pour atteindre notre configuration souhaitée, nous avons utilisé une série de directives. Puisque nous voulons attribuer une adresse statique, nous avons handicapé dhcp4 et utilisé le adresses mot-clé pour associer une adresse IPv4 à l'interface. Une adresse multiple peut être spécifiée: ils doivent être fournis avec le masque de sous-réseau.

Nous avons également défini les adresses du serveurs de noms dans la strophe avec le même nom. Enfin, nous définissons l'adresse IPv4 de la passerelle que l'interface doit utiliser avec le passerelle4 mot-clé.

Simplifier la configuration

La configuration que nous avons utilisée dans l'exemple ci-dessus peut être légèrement simplifiée. Pour référencer l'interface, nous voulons attribuer l'adresse statique à nous avons utilisé le correspondre la strophe, cependant, nous aurions pu l'omettre. Étant donné que nous voulons que nos paramètres soient appliqués à un seul appareil spécifique, nous pouvons le référencer directement en utilisant son nom prévisible (ENP1S0) comme identifiant:

Réseau: Version: 2 Rendu: NetworkManager Ethernets: ENP1S0: DHCP4: Faux Adresses: - 192.168.122.250/24 Nameservers: Adresses: - 192.168.122.1 passerelle 4: 192.168.122.1 

Quand le correspondre la strophe est utilisée, la identifiant (id0 Dans l'exemple précédent) est arbitraire et il est utilisé pour référencer le ou les périphériques configurés à partir d'autres sections du fichier de configuration. Quand le correspondre la strophe est omise, au lieu de cela identifiant doit correspondre au nom prévisible de l'appareil. Lorsque vous travaillez avec des dispositifs virtuels tels que des ponts ou des obligations, le identifiant n'est pas utilisé pour référencer une interface existante, mais représente le nom qui doit être utilisé lorsque l'interface est créée.

À ce stade, notre configuration est prête; Tout ce que nous devons faire, c'est le sauver et le tester.

Tester et appliquer une configuration netplan

Dans la section précédente, nous avons vu comment créer une configuration NetPlan simple pour fournir une adresse IPv4 statique pour une interface réseau. Il est maintenant temps de tester la configuration, de voir si cela fonctionne correctement. Pour atteindre notre objectif, nous pouvons utiliser le netplan utilité et le essayer sous-commande.

Le essayer sous-commande du netplan L'utilitaire, comme son nom l'indique, est utilisé pour essayer une configuration et le faire éventuellement en arrière si l'utilisateur ne le confirme pas après un certain temps. Le délai de temps par défaut est de 120 secondes mais il peut être modifié en utilisant le --temps libre option.

Comme vous pouvez le voir sur la sortie du adresse IP commande, l'adresse IPv4 actuelle pour le ENP1S0 L'interface est 192.168.122.200:

$ Adresse IP | Grep ENP1S0 2: ENP1S0: MTU 1500 QDISC FQ_CODEL State Up Group par défaut Qlen 1000 INET 192.168.122.200/24 ​​BRD 192.168.122.255 Scope Global Dynamic NoprefixRoute ENP1S0 

Appliquons la configuration:

$ sudo netplan essai 

Une fois que nous exécutons la commande, l'invite suivante apparaît à l'écran:

Voulez-vous garder ces paramètres? Appuyez sur Entrée avant le délai d'expiration pour accepter les nouvelles modifications de configuration reviendront en 120 secondes 

Nous avons suffisamment de temps pour très si l'adresse IP de l'interface a changé:

$ Adresse IP | Grep ENP1S0 2: ENP1S0: MTU 1500 QDISC FQ_CODEL State Up Group par défaut Qlen 1000 INET 192.168.122.250/24 BRD 192.168.122.255 Scope Global Dynamic NoprefixRoute ENP1S0 


Comme nous pouvons le voir, l'adresse IPv4 a changé comme prévu. Dans ce cas, cependant après l'expiration du délai d'expiration, la commande n'a pas réussi à retourner la configuration. Il s'agit d'un problème connu, signalé également dans la page manuelle de l'utilitaire. Dans de tels cas, pour revenir pleinement à l'état initial, un redémarrage devrait être suffisant.

Deux autres commandes peuvent être utilisées:

  • Netplan Générer
  • netplan appliquer

Le Netplan Générer La commande convertit les paramètres des fichiers YAML en configurations appropriées au rendu utilisé, mais ne les applique pas. Dans la grande majorité des cas, il n'est pas censé être appelé directement: il est invoqué, par exemple, par netplan appliquer qui applique en outre les modifications sans délai d'expiration «retourne».

Conclusions

Dans ce tutoriel, nous avons approché Netplan, un service public développé par Canonical, qui est actif par défaut sur Ubuntu 20.04 FOCAL FOSSA. Le but de cet utilitaire est de résumer les configurations pour les interfaces réseau à l'aide d'un fichier de configuration YAML.

Ces configurations sont ensuite traduites en configurations pour le rendu spécifié, tel que NetworkManager ou NetworkD. Dans ce didacticiel, nous avons vu comment écrire une règle simple pour définir une adresse IP statique pour une interface réseau, nous avons appris certains des nœuds qui peuvent être utilisés dans les fichiers de configuration, et nous avons vu comment appliquer les modifications via le Netplan essai et netplan appliquer commandes. Ici, nous avons à peine gratté la surface de ce qui peut être accompli en utilisant Netplan si vous voulez en savoir plus, jetez un œil au site Web de Netplan et à la page de l'homme utilitaire.

Tutoriels Linux connexes:

  • Comment empêcher la vérification de la connectivité NetworkManager
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Choses à installer sur Ubuntu 20.04
  • Introduction à Yaml avec des exemples
  • Masterring Bash Script Loops
  • Comment utiliser le réseautage ponté avec Libvirt et KVM
  • Ubuntu 20.04 astuces et choses que vous ne savez peut-être pas
  • Choisir un addon de réseautage Kubernetes
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux