Comment configurer une adresse IP statique avec Netplan sur Ubuntu ou Debian ?
Sommaire
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 :
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.
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.
Comment figurer les VLANs dans netplan ?
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
Merci pour le tuto ! Pour info, j’ai dû changer le « renderer » en « networkd » pour que ça fonctionne dans la configuration yaml.