La configuration réseau constitue une étape fondamentale lors de la mise en place d’un serveur ou d’une machine Linux, particulièrement lorsqu’il s’agit d’assigner une adresse IP statique plutôt que de dépendre du protocole DHCP. Sur les distributions modernes comme Ubuntu 24.04 et Debian 12, l’outil Netplan a progressivement remplacé les anciennes méthodes de configuration manuelle, offrant une approche déclarative et structurée pour gérer l’ensemble des paramètres réseau. Ce guide explore comment exploiter pleinement Netplan pour configurer une adresse IP statique, en passant par les étapes essentielles jusqu’aux commandes de vérification.
Qu’est-ce que Netplan et pourquoi l’utiliser pour configurer une adresse IP statique
Netplan est un outil de configuration réseau pour Linux qui centralise et simplifie la gestion des paramètres IP via des fichiers YAML, permettant une configuration claire, cohérente et moins sujette aux erreurs qu’avec les méthodes traditionnelles, tout en prenant en charge plusieurs gestionnaires réseau.
Netplan est un utilitaire de configuration réseau qui fonctionne comme une couche d’abstraction au-dessus des gestionnaires réseau traditionnels. Il simplifie considérablement la gestion des paramètres réseau en utilisant le format YAML, un langage de sérialisation lisible par les humains, plutôt que d’imposer des modifications directes dans des fichiers système complexes. Depuis la version 17.10 d’Ubuntu, Netplan est devenu l’outil par défaut pour gérer le réseau, tandis que sur Debian, il n’est installé que sur certaines images cloud et doit généralement être configuré manuellement.
L’avantage majeur de Netplan réside dans sa capacité à fonctionner avec différents gestionnaires de réseau, notamment NetworkManager et systemd-networkd, sans que l’utilisateur ne doive modifier les configurations spécifiques à chacun. Lorsqu’une configuration est définie dans Netplan, elle est automatiquement générée au format attendu par le gestionnaire de réseau actif du système. Cela élimine les incohérences potentielles et réduisit les erreurs de configuration liées à des syntaxes différentes.
Avant Netplan, la configuration d’une adresse IP statique obligeait les administrateurs à modifier le fichier /etc/network/interfaces directement, une approche davantage sujette aux erreurs et moins portable entre différentes distributions Linux. Netplan modernise cette approche en proposant une déclaration centralisée et claire des intentions de configuration réseau, ce qui rend le système plus prévisible et plus facile à maintenir à long terme.
Compatibilité avec Ubuntu et Debian : installation et prérequis
Sur Ubuntu, Netplan est pré-installé avec le système, ce qui signifie qu’aucune action supplémentaire n’est requise pour commencer à l’utiliser. La distribution a adopté Netplan comme outil standard de configuration réseau depuis plusieurs années, et chaque nouvelle version maintient cette intégration native. En revanche, sur Debian, particulièrement Debian 12, l’outil n’est pas inclus par défaut dans l’image officielle, bien qu’il puisse être présent sur les images fournies par certains hébergeurs cloud.
Pour installer Netplan sur Debian 12, les commandes suivantes doivent être exécutées dans un terminal avec les privilèges administrateur :
- 🔧 Mettre à jour la liste des paquets disponibles avec sudo apt-get update
- 📦 Installer le paquet netplan.io via sudo apt-get install netplan.io
- ✅ Vérifier l’installation en exécutant netplan –version
Une fois Netplan installé, il est important de noter que pour les configurations réseau avancées impliquant des ponts logiciels, des VLAN ou d’autres topologies complexes, Open vSwitch doit être présent sur le système. Cependant, pour la tâche classique de configuration d’une adresse IP statique, cet outil supplémentaire n’est pas nécessaire. De plus, l’accès root ou les privilèges sudo sont obligatoires pour modifier les fichiers de configuration réseau, car ils contrôlent l’accès à des ressources critiques du système.
Sur Ubuntu, Netplan est activé et utilisé par défaut depuis la version 17.10. Sur Debian, une installation manuelle est souvent nécessaire, ce qui peut expliquer certaines différences lors de la configuration réseau.
Identifier l’interface réseau et préparer la configuration Netplan
Pour identifier l’interface réseau sur Linux, exécutez la commande ip link show afin d’afficher la liste des interfaces disponibles et leurs noms exacts, indispensables pour une configuration correcte avec Netplan.
Avant de modifier le fichier de configuration Netplan, il est essentiel d’identifier le nom exact de l’interface réseau que l’on souhaite configurer. Contrairement aux anciennes conventions de nommage (eth0, eth1, etc.), les systèmes modernes utilisent des noms d’interfaces basés sur le matériel et la topologie, ce qui peut varier significativement d’une machine à l’autre. Cette variation est précisément la raison pour laquelle deviner le nom de l’interface peut entraîner des erreurs de configuration frustrantes.
Pour identifier les interfaces réseau disponibles, plusieurs commandes peuvent être utilisées. La plus courante est ip link show, qui énumère toutes les interfaces détectées par le système avec leurs états respectifs. Une autre option consiste à utiliser netplan status –all si Netplan est déjà partiellement configuré, ce qui affichera les interfaces gérées ou non par Netplan, ainsi que leurs configurations actuelles. Sur certains systèmes, ifconfig peut encore être disponible, bien que cette commande soit progressivement remplacée par les outils ip modernes.
Localiser et préparer le fichier de configuration YAML
La configuration Netplan est stockée dans le répertoire /etc/netplan/, généralement dans un fichier nommé selon une convention de numérotation telle que 01-network-manager-all.yaml ou 00-installer-config.yaml. Le préfixe numérique détermine l’ordre de traitement des fichiers, Netplan fusionnant plusieurs fichiers si plusieurs existent dans ce répertoire. Sur Ubuntu, le fichier par défaut existe déjà, tandis que sur Debian, il doit souvent être créé manuellement.
Avant de modifier le fichier, il est recommandé de créer une sauvegarde du fichier de configuration existant, au cas où une erreur de syntaxe ou une configuration incorrecte bloquerait la connectivité réseau. Cela peut être effectué avec la commande sudo cp /etc/netplan/01-network-manager-all.yaml /etc/netplan/01-network-manager-all.yaml.bak. Cette précaution simple élimine le stress potentiel lié à une mauvaise configuration pouvant rendre un système inaccessible.
Pour éditer le fichier de configuration, l’utilisation d’un éditeur de texte en ligne de commande comme nano est recommandée pour les utilisateurs moins expérimentés : sudo nano /etc/netplan/01-network-manager-all.yaml. Des éditeurs plus avancés comme vim ou emacs peuvent également être utilisés selon les préférences personnelles.
L’indentation dans les fichiers YAML est cruciale : chaque niveau doit être précédé d’exactement deux espaces, jamais de tabulations. Une mauvaise indentation entraînera inévitablement des erreurs lors de l’application de la configuration Netplan.
Rédiger la configuration IP statique en YAML pour Netplan
Pour configurer une IP statique avec Netplan, le fichier YAML doit spécifier version, renderer, nom de l’interface, dhcp4 désactivé, adresse IP en notation CIDR, passerelle par défaut et serveurs DNS, en respectant strictement l’indentation hiérarchique du format YAML.
Le format YAML utilisé par Netplan suit une structure hiérarchique précise, où l’indentation est syntaxiquement significative. Chaque niveau d’imbrication représente une relation parent-enfant entre les configurations, et une mauvaise indentation peut invalider toute la configuration. Pour configurer une adresse IP statique, la structure générale doit inclure la déclaration du réseau, la spécification du gestionnaire réseau utilisé (renderer), et les paramètres de chaque interface à configurer.
Voici la structure de base d’une configuration Netplan pour une adresse IP statique. Supposons que l’on souhaite configurer l’interface ens33 avec l’adresse IP 192.168.14.130/24, une passerelle par défaut à 192.168.14.2, et des serveurs DNS personnalisés :
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
Chaque ligne de cette configuration remplit une fonction précise. La clé version: 2 indique le schéma Netplan à utiliser, version 2 étant le standard actuel. L’option renderer déclare si le système doit utiliser NetworkManager ou systemd-networkd pour appliquer la configuration. Le paramètre dhcp4: no désactive l’attribution dynamique d’adresse IPv4, essentiel pour forcer une configuration statique.
Détail des paramètres YAML essentiels pour une configuration IP statique
La section addresses liste les adresses IP à assigner à l’interface. La notation CIDR (Classless Inter-Domain Routing) est utilisée, où /24 représente le masque de sous-réseau (255.255.255.0). Plusieurs adresses peuvent être assignées à une seule interface en ajoutant des entrées supplémentaires précédées d’un tiret.
La section routes définit les règles de routage pour le trafic réseau. La route avec to: default représente la passerelle par défaut, celle utilisée pour toute destination non explicitement définie. Si plusieurs passerelles sont nécessaires ou si des routes vers des sous-réseaux spécifiques doivent être créées, des entrées additionnelles peuvent être ajoutées dans cette section.
La section nameservers configure les serveurs DNS et les domaines de recherche. Les adresses DNS sont énumérées dans la sous-section addresses, tandis que la sous-section search spécifie les domaines à ajouter automatiquement lors de résolutions de noms partiels. Par exemple, si la recherche inclut it-connect.local, taper simplement serveur résoudrait serveur.it-connect.local.
| 🔑 Paramètre | 📝 Description | ✏️ Exemple |
|---|---|---|
| version | Version du schéma de configuration Netplan | 2 |
| renderer | Gestionnaire réseau utilisé (NetworkManager ou networkd) | NetworkManager |
| dhcp4 | Active ou désactive DHCP pour IPv4 | no (pour IP statique) |
| addresses | Adresses IP à assigner (notation CIDR) | 192.168.14.130/24 |
| via | Adresse de la passerelle par défaut | 192.168.14.2 |
| nameservers | Serveurs DNS et domaines de recherche | 1.1.1.1, 9.9.9.9 |
Important : sur Debian, il est courant que Netplan récupère les informations DNS du fichier /etc/resolv.conf plutôt que de les utiliser directement à partir de la configuration YAML. Dans ce scénario, modifier /etc/resolv.conf directement peut être nécessaire pour garantir la résolution correcte des noms de domaine, même si la configuration DNS est déclarée dans Netplan.
La commande sudo netplan try est une véritable bouée de secours : si la nouvelle configuration coupe la connexion, il suffit de ne pas valider pour revenir automatiquement à la précédente.
Appliquer la configuration et vérifier l’adresse IP statique
Après modification du fichier YAML, appliquez la configuration avec sudo netplan apply puis vérifiez l’adresse IP attribuée via sudo netplan status –all ou ip address show, assurant que l’interface utilise bien l’adresse IP statique définie.
Une fois le fichier de configuration YAML rédigé et enregistré, l’étape suivante consiste à générer et appliquer cette configuration au système. Netplan offre plusieurs commandes pour accomplir cette tâche, chacune servant un objectif spécifique dans le processus de validation et de déploiement. La commande sudo netplan generate parse le fichier YAML et crée les fichiers de configuration spécifiques au gestionnaire réseau choisi, sans les appliquer immédiatement au système.
Avant d’appliquer définitivement la configuration, il est prudent de tester les modifications pour éviter une perte de connectivité involontaire. La commande sudo netplan try applique temporairement la configuration pour une durée limitée (généralement 120 secondes par défaut). Si aucune confirmation n’est reçue durant cette période, la configuration précédente est automatiquement restaurée, servant de filet de sécurité contre les configurations défectueuses.
Une fois le test approuvé et les modifications validées, la commande sudo netplan apply applique définitivement la configuration. Cette commande redémarre les interfaces réseau concernées, ce qui interrompt brièvement la connectivité réseau le temps de la reconfiguration. Après son exécution, l’interface réseau utilise l’adresse IP statique spécifiée.
Corriger les permissions du fichier de configuration
Netplan impose des restrictions de sécurité sur les permissions des fichiers de configuration. Si les permissions sont trop larges (c’est-à-dire si le fichier est lisible par d’autres utilisateurs), Netplan émettra un avertissement lors de son exécution : « Permissions for /etc/netplan/01-network-manager-all.yaml are too open. Netplan configuration should NOT be accessible by others. » Bien que cet avertissement n’empêche pas l’application de la configuration, il signale un risque potentiel de sécurité.
Pour corriger ce problème et restreindre l’accès au fichier au seul propriétaire (l’utilisateur root), la commande sudo chmod 600 /etc/netplan/01-network-manager-all.yaml doit être exécutée. Cette action restreint les permissions de lecture et d’écriture au propriétaire uniquement, rendant le fichier inaccessible aux autres utilisateurs du système. Le format 600 signifie que le propriétaire a les droits de lecture et d’écriture (6 = 4+2), tandis que le groupe et les autres n’ont aucune permission (0).
Vérifier la configuration appliquée avec différentes commandes
Plusieurs commandes permettent de vérifier que la configuration IP statique a été correctement appliquée. La commande sudo netplan status –all affiche l’état complet de toutes les interfaces réseau gérées par Netplan, incluant leur adresse IP, leur passerelle, et leur état de connectivité. Une variante plus spécifique, sudo netplan status ens33, affiche uniquement les informations relatives à l’interface ens33.
La commande sudo netplan get retourne la configuration déclarative actuellement active, exactement telle qu’elle est stockée dans les fichiers YAML, permettant de vérifier que les modifications ont été correctement enregistrées. Pour une vérification au niveau du système d’exploitation, la commande ip address show ens33 ou simplement ip a show ens33 affiche l’adresse IP actuellement assignée à l’interface au niveau du noyau Linux, confirmant que la configuration a pris effet.
Dépannage en cas de configuration incorrecte
Si la configuration n’est pas correctement appliquée ou si des erreurs apparaissent, l’utilisation du mode de débogage peut considérablement aider à identifier le problème. La commande sudo netplan –debug apply affiche des informations détaillées sur chaque étape de la génération et de l’application de la configuration, révélant les erreurs de syntaxe YAML, les problèmes d’indentation, ou les valeurs invalides.
Les erreurs les plus courantes incluent l’indentation incorrecte du YAML (Netplan étant extrêmement sensible aux espaces), l’utilisation de guillemets mal fermés, l’oubli du slash CIDR dans les adresses (par exemple, écrire 192.168.14.130 au lieu de 192.168.14.130/24), ou la spécification d’un gestionnaire réseau (renderer) qui n’est pas installé ou configuré sur le système.
Si une mauvaise configuration rend le système inaccessible, la sauvegarde créée précédemment peut être restaurée avec la commande sudo cp /etc/netplan/01-network-manager-all.yaml.bak /etc/netplan/01-network-manager-all.yaml, suivie de sudo netplan apply pour revenir à l’état précédent. Cette approche précautionneuse élimine pratiquement tous les risques d’une configuration réseau désastreuse.
Si vous gérez plusieurs interfaces, attribuez des adresses IP dans des sous-réseaux différents pour éviter les conflits et faciliter le diagnostic réseau.
Ce guide pratique détaille la configuration d’une adresse IP statique avec Netplan sur Ubuntu et Debian, en expliquant comment éditer les fichiers YAML, sélectionner l’interface réseau appropriée et appliquer les changements pour obtenir une adresse IP fixe, fiable et optimisée pour les serveurs Linux modernes
Configurer plusieurs interfaces et gérer des topologies réseau avancées
Les systèmes modernes disposent souvent de plusieurs interfaces réseau, qu’il s’agisse d’interfaces Ethernet filaires, de connexions sans fil, ou de combinaisons des deux. Netplan facilite la gestion de ces configurations multiples en permettant de définir plusieurs interfaces dans un seul fichier YAML, chacune pouvant avoir ses propres paramètres et règles de routage. Cette capacité transforme Netplan en outil puissant pour des environnements réseau complexes, où chaque interface peut servir un objectif différent : une pour la gestion, une pour les données, et une pour les sauvegardes, par exemple.
Pour ajouter une deuxième interface réseau à la configuration, une entrée supplémentaire doit simplement être ajoutée à la section ethernets. Chaque interface est traitée indépendamment, permettant à l’une d’utiliser une adresse IP statique tandis que l’autre reste en DHCP. Cela offre une flexibilité remarquable pour adapter l’infrastructure réseau aux besoins spécifiques d’une organisation.
Configuration multi-interfaces et routage avancé
Imaginons un serveur avec deux interfaces Ethernet : ens33 connectée au réseau de gestion (192.168.14.0/24) et ens38 connectée au réseau de données (192.168.100.0/24). La configuration Netplan pour gérer ces deux réseaux simultanément s’articule ainsi : chaque interface est définie avec ses paramètres propres, mais elles cohabitent dans le même fichier, permettant au système de router correctement le trafic selon sa destination.
network:
version: 2
renderer: NetworkManager
ethernets:
ens33:
dhcp4: no
addresses:
– 192.168.14.130/24
routes:
– to: default
via: 192.168.14.2
ens38:
dhcp4: no
addresses:
– 192.168.100.50/24
Pour des topologies encore plus sophistiquées, comme la création de ponts réseau ou de VLAN, Netplan offre des sections dédiées : bridges et vlans. Un pont réseau permet de connecter plusieurs interfaces comme s’il s’agissait d’un seul segment réseau, utile pour les environnements de virtualisation. Un VLAN segmente logiquement un réseau physique en plusieurs réseaux virtuels isolés, amélioran la sécurité et l’organisation du trafic.
Ces configurations avancées dépassent le scope d’une simple adresse IP statique, mais elles illustrent la puissance de Netplan en tant que gestionnaire réseau centralisé capable de gérer des infrastructures complexes sans nécessiter de basculer entre différents outils ou fichiers de configuration.
Transition de DHCP à adresse IP statique sur une interface existante
Les systèmes en production fonctionnent souvent initialement avec DHCP, puis ont besoin de basculer vers une adresse IP statique pour améliorer la stabilité ou la prévisibilité. Cette transition avec Netplan est remarquablement simple : il suffit de modifier la clé dhcp4: yes en dhcp4: no et d’ajouter les paramètres addresses, routes, et nameservers appropriés. Le gestionnaire réseau applique automatiquement cette transition sans nécessiter de redémarrage complet du système.
Avant d’effectuer ce changement, il est judicieux de noter l’adresse IP actuellement assignée par DHCP (visible avec ip a) et de la réutiliser comme adresse statique, si cela convient à l’architecture réseau. Cela évite les conflits d’adresses et maintient la compatibilité avec les configurations existantes qui pourraient référencer l’ancienne adresse IP.
La configuration d’une adresse IP statique avec Netplan sur Ubuntu et Debian simplifie considérablement la gestion réseau, éliminant les incohérences liées aux anciennes méthodes de configuration manuelle. En maîtrisant la syntaxe YAML, en comprenant le rôle de chaque paramètre, et en validant les modifications avant leur application définitive, les administrateurs système peuvent déployer des configurations réseau stables et maintenables sur des infrastructure de toute complexité.








