15/11/2024

Commandes et Système

Comment configurer une adresse IP statique avec Netplan sur Ubuntu ou Debian ?

I. Présentation

Dans ce tutoriel, nous allons voir comment configurer une adresse IP statique sur un système Ubuntu 24.04 ou Debian 12 à l'aide de Netplan. Cette opération basique est essentielle pour qu'une machine soit en mesure de se connecter au réseau local, et ainsi accéder à Internet. L'attribution d'une adresse IP fixe ou statique est une action de configuration courante sur les serveurs.

Pour suivre ce tutoriel, vous devez disposer d'un accès "root" à la machine ou d'un utilisateur ayant accès à "sudo" afin de disposer de suffisamment de privilèges.

II. Qu'est-ce que Netplan sous Linux ?

Netplan est un outil de configuration du réseau sous Linux, positionné au dessus des gestionnaires de configuration réseau "systemd-networkd" et "NetworkManager.

Netplan est disponible depuis plusieurs années sur Ubuntu, mais aussi Debian (non installé par défaut) et son fichier de configuration déclaratif au format YAML va permettre de configurer le réseau sur la machine par l'intermédiaire du gestionnaire réseau ("NetworkManager" ou "systemd-networkd"). La configuration décrite au format YAML sera générée au format attendue par le gestionnaire de réseau utilisé par le système.

C'est une alternative à la modification du fichier "/etc/network/interfaces" évoquée dans cet article :

Remarque : Netplan est l'outil de configuration réseau par défaut sur Ubuntu depuis la version 17.10. Actuellement, nous sommes en version 24.04. Sur Debian 12, il est intégré sur certaines images de fournisseurs Cloud, mais il n'est pas installé par défaut dans l'image officielle.

II. Comment installer Netplan sur Debian ?

Sur Ubuntu, Netplan est installé par défaut puisqu'il sert à gérer le réseau. Sur Debian, notamment Debian 12, ce n'est pas le cas. Pour installer Netplan, voici les commandes à exécuter :

sudo apt-get update
sudo apt-get install netplan.io

Pour mettre en place des configurations réseau complexes avec Netplan, Open vSwitch doit être installé sur la machine. Il n'est pas utile pour configurer une adresse IP statique sur une ou plusieurs interfaces, ou simplement pour configurer une interface en DHCP.

III. Configuration réseau avec Netplan

Sur Ubuntu, la configuration réseau se fait principalement via Netplan pour les versions récentes. Nous allons modifier le fichier de configuration Netplan pour définir notre adresse IP statique.

Ouvrez un terminal et exécutez la commande suivante pour éditer le fichier de configuration (sous Debian, ce fichier doit être créé) :

sudo nano /etc/netplan/01-network-manager-all.yaml

Ajoutez les lignes indiquées ci-dessous dans le fichier pour configurer votre adresse IP statique.

Ceci va permettre de configurer l'interface réseau "ens33" avec l'adresse IP statique "192.168.14.130/24", la passerelle par défaut "192.168.14.2", les serveurs DNS "1.1.1.1" et "9.9.9.9" et le domaine de recherche "it-connect.local". Nous voyons bien que ce fichier de configuration utilise le format YAML.

L'instruction "renderer" sert à indiquer le nom du backend à utiliser pour configurer le réseau, soit NetworkManager, soit "networkd" de Systemclt.

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    ens33:
      dhcp4: no
      addresses:
        - 192.168.14.130/24
      routes:
        - to: default
          via: 192.168.14.2
      nameservers:
        addresses:
          - 1.1.1.1
          - 9.9.9.9
        search:
           - it-connect.local

Voici un aperçu en image :

Configuration adresse IP avec Netplan sous Ubuntu

Quand c'est fait, enregistrez et fermez ce fichier.

Note : sur Debian, continuez d'utiliser le fichier "/etc/resolv.conf" pour gérer le DNS, car Netplan semble récupérer les informations dans ce fichier, malgré la déclaration des DNS dans le fichier YAML. Si vous savez comment déléguer la gestion du DNS à Netplan, je suis preneur de l'information.

Puis, nous allons modifier les permissions sur ce fichier de configuration. Sinon, Netplan renverra l'avertissement "Permissions for /etc/netplan/01-network-manager-all.yaml are too open. Netplan configuration should NOT be accessible by others." au moment d'appliquer la configuration (ceci n'empêche pas la configuration de s'appliquer).

Voici la commande à exécuter :

sudo chmod 600 /etc/netplan/01-network-manager-all.yaml

IV. Appliquer la configuration Netplan

Désormais, nous devons appliquer les changements pour qu'ils prennent effet. Utilisez les commandes suivantes pour générer la configuration et l'appliquer auprès du gestionnaire de réseau du système :

sudo netplan generate
sudo netplan apply

Cette commande reconfigure toutes les interfaces réseau mentionnées dans le fichier de configuration. Si tout est correct, votre interface réseau utilisera maintenant l'adresse IP statique que vous avez définie. Sinon, un message d'erreur est susceptible d'être retourné dans la console.

Sachez que vous pouvez tester la configuration avant de l'appliquer :

sudo netplan try

V. Comment vérifier la configuration ?

Pour afficher et vérifier votre nouvelle configuration réseau, vous pouvez utiliser les options spécifiques de Netplan, à la place de la traditionnelle commande "ip a". Voici plusieurs commandes pour afficher la configuration complète ou celle d'une carte réseau spécifique.

sudo netplan get
sudo netplan status ens33
sudo netplan status --all

Voici un aperçu du résultat obtenu. Nous pouvons constater que l'interface "ens33" est bien gérée par Netplan par l'intermédiaire de NetworkManager.

Ubuntu - Netplan status

L'alternative, ce serait d'utiliser "ip address" comme ceci :

ip a show ens33

Si la configuration n'est pas correcte, essayez le mode debug lors de l'application de la nouvelle configuration :

sudo netplan --debug apply

VI. Conclusion

Vous savez maintenant configurer une adresse IP statique sur Ubuntu ou Debian à l'aide de l'outil Netplan ! Pour toute modification future, vous pouvez modifier le fichier de configuration Netplan et réappliquer les changements avec des deux commandes appropriées, comme nous l'avons fait dans cet exemple.

Enfin, voici le lien vers le projet Netplan :

N'hésitez pas à commenter cet article si vous avez une question ou si vous souhaitez partager un complément d'information.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

3 commentaires sur “Comment configurer une adresse IP statique avec Netplan sur Ubuntu ou Debian ?

  • Merci pour ce tuto Florian.

    Pour parfaire ces informations, on peut préciser aussi que la syntaxe de Netplan est EXTREMEMENT précise et que le placement des configurations est important.
    Autrement, cela peut causer une erreur même si aucune erreur n’est présente dans la configuration.
    Merci au format YAML

    Répondre
  • Merci pour le tuto ! Pour info, j’ai dû changer le « renderer » en « networkd » pour que ça fonctionne dans la configuration yaml.

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.