Sommaire
🐧 Module L18 – Gestion IP Debian 13 (systemd-networkd)
Objectifs : configurer l’adressage IP (statique/DHCP) avec la méthode moderne systemd-networkd, maîtriser les fichiers .network, les commandes networkctl et l’intégration systemd.
📖 Introduction
Depuis Debian 12 (Bookworm), la méthode systemd-networkd est la solution recommandée pour la gestion du réseau. Intégrée à systemd, elle offre une configuration unifiée, un meilleur support des ponts (bridges), des VLAN et une gestion plus fine. Ce module vous apprend à l’utiliser sur Debian 13 (Trixie).
À l'issue de ce module, vous serez capable de :
- Comprendre l’architecture de systemd-networkd.
- Créer des fichiers
.networkpour DHCP ou statique. - Utiliser
networkctlpour diagnostiquer et gérer les interfaces. - Redémarrer et surveiller le service
systemd-networkd.
🔍 Architecture de systemd-networkd
systemd-networkd est un démon qui gère la configuration réseau via des fichiers de type .network, .netdev et .link.
- Fichiers .network : configuration des interfaces (IP, DHCP, routes).
- Fichiers .netdev : création d’interfaces virtuelles (bridge, bond, VLAN).
- Fichiers .link : configuration de la couche physique (MAC, MTU).
- Emplacement :
/etc/systemd/network/(ou/usr/lib/systemd/network/par défaut). - Outil de gestion :
networkctl.
📐 Structure d’un fichier .network
| Section | Directive | Description |
|---|---|---|
[Match] | Name=eth0 | Identifie l’interface concernée. |
[Network] | DHCP=yes / Address=192.168.1.10/24 | Configure l’adressage. |
[Network] | Gateway=192.168.1.1 | Passerelle par défaut. |
[Network] | DNS=8.8.8.8 1.1.1.1 | Serveurs DNS. |
[Link] | MTU=1500 | Paramètres de la couche liaison. |
🛠️ Configuration pratique
1. Activer systemd-networkd
sudo systemctl enable systemd-networkd sudo systemctl start systemd-networkd sudo systemctl status systemd-networkd
Par défaut, systemd-networkd est actif sur Debian 13.
2. Configuration DHCP
Fichier /etc/systemd/network/20-eth0.network
[Match] Name=eth0 [Network] DHCP=yes
[Match] Name=eth0: s’applique à l’interface eth0.DHCP=yes: active le client DHCP pour obtenir IP, route, DNS.
3. Configuration statique
Fichier /etc/systemd/network/20-eth0.network
[Match] Name=eth0 [Network] Address=192.168.1.10/24 Gateway=192.168.1.1 DNS=8.8.8.8 DNS=1.1.1.1
Address=192.168.1.10/24: IP et masque (CIDR).GatewayetDNSdéfinis explicitement.- Plusieurs lignes
DNSpour plusieurs serveurs.
4. Configuration avec plusieurs interfaces
Fichier /etc/systemd/network/20-eth0.network
[Match] Name=eth0 [Network] DHCP=yes
Fichier /etc/systemd/network/30-eth1.network
[Match] Name=eth1 [Network] Address=192.168.2.10/24 Gateway=192.168.2.1
📋 Commandes essentielles
| Commande | Description |
|---|---|
networkctl | Affiche l’état des interfaces. |
networkctl status eth0 | Détails d’une interface. |
sudo networkctl reload | Recharge les fichiers .network. |
sudo systemctl restart systemd-networkd | Redémarre le service. |
sudo systemctl restart systemd-resolved | Redémarre le résolveur DNS. |
journalctl -u systemd-networkd -f | Consulte les logs en direct. |
🧪 Mise en pratique
Étape 1 : Vérifier le statut
networkctl status
Étape 2 : Créer une configuration DHCP
sudo nano /etc/systemd/network/10-eth0.network [Match] Name=eth0 [Network] DHCP=yes
sudo networkctl reload
sudo systemctl restart systemd-networkd
Vérifier avec networkctl status eth0.
Étape 3 : Passer en statique
sudo nano /etc/systemd/network/10-eth0.network [Match] Name=eth0 [Network] Address=192.168.1.100/24 Gateway=192.168.1.1 DNS=8.8.8.8
sudo networkctl reload && sudo systemctl restart systemd-networkd
Étape 4 : Vérification DNS
systemd-resolve --status
Vérifie que les DNS sont bien pris en compte.
📝 Exercices d'application
Exercice 1 – Fichier .network
À quoi sert la section [Match] ?
La section [Match] permet de sélectionner l’interface à laquelle la configuration s’applique (via son nom, sa MAC, etc.).
Exercice 2 – Configuration statique
Écrivez un fichier .network pour eth1 avec IP 10.0.0.10/24, passerelle 10.0.0.1, DNS 1.1.1.1 et 9.9.9.9.
[Match] Name=eth1 [Network] Address=10.0.0.10/24 Gateway=10.0.0.1 DNS=1.1.1.1 DNS=9.9.9.9
🎯 Quiz d'auto‑évaluation
1. systemd-networkd est le service moderne de gestion réseau sous Debian.
2. Les fichiers de configuration de networkd sont dans /etc/systemd/network/.
3. La directive DHCP=yes active le client DHCP.
4. La commande networkctl reload recharge les fichiers .network.
5. On peut définir plusieurs DNS avec plusieurs lignes DNS=.