Maîtriser Netplan sur Ubuntu : Guide complet de la configuration réseau avec YAML

1. Aperçu de Netplan sur Ubuntu

Qu’est-ce que Netplan ?

Netplan est un outil de gestion de la configuration réseau introduit dans les versions d’Ubuntu à partir de 17.10. Auparavant, des outils tels que ifconfig et /etc/network/interfaces étaient utilisés, mais Netplan propose une nouvelle approche de la configuration réseau. L’un des plus grands avantages de Netplan est qu’il utilise des fichiers YAML pour décrire les paramètres réseau. Cela rend la configuration simple et cohérente, permettant même aux environnements réseau complexes d’être gérés facilement.

Netplan prend en charge des back‑ends tels que NetworkManager et systemd-networkd et est disponible à la fois sur les éditions Ubuntu Desktop et Server. Cela permet une gestion unifiée du réseau sur différents environnements.

Pourquoi utiliser Netplan ?

Comparé aux méthodes traditionnelles de configuration réseau, Netplan offre les avantages suivants :

  1. Syntaxe simple : le format YAML est intuitif et clairement structuré, ce qui rend les configurations faciles à comprendre même pour les débutants.
  2. Gestion unifiée : puisqu’il fonctionne à la fois sur les environnements de bureau et de serveur, diverses configurations réseau peuvent être gérées de manière centralisée.
  3. Modifications dynamiques : modifier et appliquer le fichier de configuration permet des mises à jour en temps réel des paramètres réseau.

Structure de base de Netplan

Les fichiers de configuration Netplan se trouvent généralement dans le répertoire /etc/netplan/ et utilisent l’extension .yaml. Ces fichiers contiennent des informations telles que la configuration des interfaces réseau, les adresses IP et les détails des serveurs DNS.

Voici un exemple de configuration Netplan de base :

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true

Dans cet exemple, l’interface Ethernet enp3s0 est configurée pour obtenir une adresse IP via DHCP.

Le rôle de Netplan sur Ubuntu 18.04 LTS et versions ultérieures

Netplan est installé par défaut sur Ubuntu 18.04 LTS et les versions ultérieures et est largement utilisé pour la gestion du réseau dans les environnements de bureau et de serveur. Dans les environnements serveur, où plusieurs interfaces réseau ou des affectations d’IP statiques sont souvent nécessaires, la flexibilité de Netplan devient particulièrement utile.

Ensuite, nous explorerons des exemples pratiques de configuration de réseaux avec Netplan.

2. Configuration de base de Netplan

Emplacement des fichiers de configuration Netplan

Les fichiers de configuration Netplan sont généralement stockés dans le répertoire /etc/netplan/. Vous pouvez modifier les paramètres réseau en éditant ces fichiers .yaml. Des noms de fichiers tels que 50-cloud-init.yaml sont courants, mais peuvent varier selon l’environnement.

Pour ouvrir le fichier de configuration, utilisez un éditeur de texte tel que vi ou nano :

sudo vi /etc/netplan/50-cloud-init.yaml

Configuration d’adresse IP dynamique (DHCP)

Pour obtenir automatiquement une adresse IP via DHCP, utilisez la configuration YAML suivante. Il s’agit de la configuration la plus simple et elle est couramment utilisée dans les environnements domestiques et de bureau.

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true

Configuration d’adresse IP statique

Certains environnements nécessitent l’attribution d’une adresse IP statique aux serveurs ou à des appareils spécifiques. L’exemple suivant montre comment configurer une adresse IP statique.

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

Application de la configuration

Après avoir édité le fichier de configuration, appliquez la configuration Netplan à l’aide de la commande ci‑dessous :

sudo netplan apply

Vérification de la configuration

Pour vérifier que les paramètres Netplan ont été appliqués avec succès, consultez l’état de l’interface réseau avec la commande suivante :

ip a

3. Configuration de plusieurs interfaces réseau

Configuration de plusieurs interfaces Ethernet

Les appareils disposant de plusieurs interfaces réseau peuvent attribuer des paramètres différents à chaque interface. L’exemple ci‑dessous configure deux interfaces Ethernet :

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true
    enp4s0:
      addresses:
        - 192.168.1.150/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

Bonding pour la redondance

Le bonding combine plusieurs interfaces réseau en une seule interface virtuelle, offrant redondance et améliorant la disponibilité. L’exemple ci-dessous crée une interface de bond nommée bond0 :

network:
  version: 2
  renderer: networkd
  bonds:
    bond0:
      interfaces:
        - enp3s0
        - enp4s0
      addresses:
        - 192.168.1.200/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
      parameters:
        mode: active-backup
        primary: enp3s0

Configuration Wi‑Fi

Netplan prend également en charge la configuration Wi‑Fi. L’exemple suivant se connecte à un SSID spécifique :

network:
  version: 2
  renderer: networkd
  wifis:
    wlp2s0:
      access-points:
        "my_wifi_network":
          password: "password1234"
      dhcp4: true

Configuration VLAN

Les réseaux locaux virtuels (VLAN) peuvent segmenter logiquement les réseaux. L’exemple ci-dessous crée un VLAN sur enp3s0 :

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true
  vlans:
    vlan10:
      id: 10
      link: enp3s0
      addresses:
        - 192.168.10.1/24

4. Configuration avancée de Netplan

Configuration du routage statique

Lors de la connexion de réseaux via plusieurs routeurs, le routage statique est nécessaire. L’exemple ci-dessous spécifie une route pour accéder à un réseau spécifique :

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      routes:
        - to: 10.0.0.0/24
          via: 192.168.1.1

Cette configuration définit une route statique pour le réseau 10.0.0.0/24 via la passerelle par défaut 192.168.1.1.

Passerelles par défaut multiples

Netplan permet de définir différentes passerelles par défaut par interface. Cela est utile lorsqu’on accède à Internet via différents segments de réseau :

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
    enp4s0:
      addresses:
        - 10.0.0.100/24
      gateway4: 10.0.0.1

Configuration des serveurs DNS

L’exemple ci-dessous spécifie les serveurs DNS publics de Google :

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

Configuration avancée du bonding

Les modes de bonding peuvent être modifiés pour différents comportements. L’exemple ci-dessous configure un bonding round‑robin :

network:
  version: 2
  renderer: networkd
  bonds:
    bond0:
      interfaces:
        - enp3s0
        - enp4s0
      addresses:
        - 192.168.1.200/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
      parameters:
        mode: balance-rr

Le mode balance-rr alterne le trafic entre les deux interfaces, améliorant les performances grâce à la répartition de la bande passante.

Configuration VLAN avancée

Les VLAN sont utilisés dans les réseaux à grande échelle pour diviser logiquement les environnements. L’exemple ci-dessous attribue l’ID VLAN 100 :

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true
  vlans:
    vlan100:
      id: 100
      link: enp3s0
      addresses:
        - 192.168.100.1/24

Cela attribue l’ID VLAN 100 à l’interface enp3s0, créant un réseau virtuel segmenté.

5. Dépannage Netplan

Bien que Netplan soit pratique, des erreurs de configuration ou des limitations du système peuvent entraîner des problèmes. Cette section explique les problèmes courants et leurs solutions.

Problèmes courants de Netplan et leurs causes

1. Configuration non appliquée

  • Erreur d’indentation YAML : YAML est strict concernant l’indentation. Un espacement incorrect empêche l’analyse correcte.
  • Noms d’interface incorrects : Assurez-vous que les noms d’interface correspondent à la sortie de la commande ip a.

Solutions

  1. Exécutez netplan apply après avoir enregistré le fichier de configuration.
  2. Utilisez sudo netplan try pour tester les modifications avant de les appliquer de façon permanente.
    sudo netplan apply
    
    sudo netplan try
    

2. Erreurs de connexion réseau

  • Passerelle ou paramètres DNS incorrects : Vérifiez les adresses IP et la configuration DNS.
  • Problèmes d’interface physique : Vérifiez les câbles et le matériel.

Solutions

  1. Utilisez la commande ping pour tester la connectivité :
    ping 8.8.8.8
    
  1. Réappliquez la configuration réseau et redémarrez les services :
    sudo systemctl restart networkd
    

3. Messages d’erreur lors de netplan apply

Les erreurs surviennent lorsque la configuration est incorrecte ou que l’interface n’est pas reconnue.

  • Exemple de message d’erreur : Error in network configuration: failed to bring up device enp3s0

Vérifiez le nom correct de l’interface en utilisant ip a.

Solution

Vérifiez l’indentation, l’orthographe, les noms d’interface et la conformité des adresses IP.

Vérification des journaux

Les journaux système sont utiles pour le dépannage. Utilisez la commande ci-dessous pour afficher les journaux liés au réseau :

journalctl -u systemd-networkd

Cela affiche des informations détaillées pour aider à résoudre les erreurs de configuration.

6. Résumé et prochaines étapes

Netplan permet de gérer les paramètres réseau d’Ubuntu de manière simple et efficace. Voici un résumé et les prochaines étapes suggérées pour une exploration plus approfondie.

Principaux avantages de Netplan

  1. Configuration YAML intuitive : Facile à lire et à modifier.
  2. Conception réseau flexible : Prend en charge plusieurs interfaces, l’agrégation, les routes et les VLAN.
  3. Interface unifiée : Fonctionne avec systemd-networkd et NetworkManager.
  4. Mises à jour en temps réel : Appliquez les changements immédiatement avec une seule commande.

Étapes suivantes recommandées

  1. Conception de réseau virtuel : Utilisez plusieurs VLAN pour segmenter les réseaux de manière logique.
  2. Configuration IPv6 : Préparez l’infrastructure réseau moderne.
  3. Scripts d’automatisation : Automatisez les configurations avec Ansible ou Puppet.
  4. Améliorations de sécurité : Renforcez le pare-feu et les paramètres de contrôle d’accès.

Ressources supplémentaires

年収訴求