Aller au contenu

Configurer le réseau sous Linux efficacement

Mise à jour :

Configurer le réseau sous Linux, ce n’est pas juste attribuer une IP ou pinger une passerelle. C’est savoir comment chaque couche interagit, comment sécuriser les flux, comment garantir la disponibilité d’un service.

En tant qu’administrateur système, je me dois de comprendre les outils disponibles — du simple fichier /etc/network/interfaces jusqu’aux solutions modernes comme Netplan, systemd-networkd ou NetworkManager.

Comprendre les bases du réseau sous Linux

Avant de modifier quoi que ce soit sur une interface réseau, il faut bien comprendre comment Linux gère la connectivité. Cette couche réseau repose sur une architecture souple, mais parfois déroutante, entre les différentes interfaces, fichiers de configuration et commandes.

Interfaces réseau : eth0, enp0s3, wlan0

Chaque carte réseau physique ou virtuelle est représentée par un nom d’interface. Selon les versions de Linux, on retrouve :

  • eth0, eth1 : anciennes conventions basées sur l’ordre de détection matérielle,
  • enp0s3, ens33 : noms prédictibles selon le bus PCI (adopté par systemd),
  • wlan0, wlp3s0 : interfaces sans fil.

Je peux lister les interfaces disponibles avec :

Terminal window
ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1280 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:15:5d:4f:bf:53 brd ff:ff:ff:ff:ff:ff
altname enx00155d4fbf53

Ou plus simplement :

Terminal window
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1280 qdisc mq state UP group default qlen 1000
link/ether 00:15:5d:4f:bf:53 brd ff:ff:ff:ff:ff:ff
altname enx00155d4fbf53
inet 172.19.104.109/20 brd 172.19.111.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::215:5dff:fe4f:bf53/64 scope link
valid_lft forever preferred_lft forever

Adresses IP, masque, passerelle, DNS : les éléments fondamentaux

Pour établir une connexion réseau, chaque interface doit être configurée avec au minimum :

  • Une adresse IP (IPv4 ou IPv6),
  • Un masque de sous-réseau (255.255.255.0 ou /24),
  • Une passerelle (gateway) pour sortir du réseau local,
  • Un ou plusieurs serveurs DNS pour résoudre les noms de domaine.

Ces éléments peuvent être définis manuellement (IP statique) ou récupérés automatiquement via DHCP.

IPv4 vs IPv6

Linux gère IPv4 et IPv6 en parallèle. Les commandes et fichiers de configuration permettent souvent de traiter les deux.

Afficher les IP assignées :

Terminal window
ip -4 addr # Pour IPv4
ip -6 addr # Pour IPv6

Il est essentiel de savoir si votre réseau interne ou vos fournisseurs exigent l’une ou l’autre des versions.

Configuration IP : statique vs DHCP

Configurer une adresse IP sous Linux est une étape incontournable. Selon le contexte — serveur, poste de travail, machine virtuelle, conteneur — je dois décider si l’interface doit obtenir ses paramètres automatiquement via DHCP ou être configurée de manière statique.

Définir une adresse IP statique

Attribuer une IP fixe permet de garantir que la machine sera toujours accessible à la même adresse. C’est indispensable pour :

  • les serveurs (web, DNS, base de données…),
  • les équipements réseau (routeurs, switchs),
  • ou tout système exposé.

Configurer une IP via DHCP

Le DHCP (Dynamic Host Configuration Protocol) est souvent utilisé sur les postes de travail, les VMs temporaires ou en lab. Il permet d’attribuer automatiquement une adresse IP et les paramètres réseau.

Choisir entre statique et DHCP

Cas d’usageRecommandation
Serveur en productionIP statique
Poste utilisateur / laptopIP via DHCP
Environnement de test/VMDHCP ou statique
Accès distant / SSHIP fixe

Il faut aussi vérifier que l’adresse IP statique est réservée sur le serveur DHCP ou exclue du pool pour éviter les conflits.

Diagnostic rapide

Quelques commandes utiles :

Terminal window
ping 192.168.1.1 # Tester la passerelle
dig google.com # Tester la résolution DNS
ip r # Vérifier la route par défaut
systemctl restart networking # Relancer les services réseau

Les outils de configuration réseau sous Linux

Sous Linux, il n’existe pas un seul outil universel pour configurer le réseau. Le choix dépend de la distribution, de l’usage (serveur ou desktop) et des préférences d’administration. Voici les trois outils que je rencontre le plus souvent : Netplan, systemd-networkd et NetworkManager.

Netplan : l’interface unifiée pour Ubuntu

Introduit par Ubuntu, Netplan est une surcouche de configuration qui délègue à networkd ou NetworkManager l’application des paramètres. Il utilise des fichiers YAML dans /etc/netplan/.

Exemple d’un fichier Netplan pour une IP statique :

network:
version: 2
ethernets:
eth0:
addresses:
- 192.168.1.10/24
gateway4: 192.168.1.1
nameservers:
addresses: [1.1.1.1, 8.8.8.8]

Pour appliquer :

Terminal window
netplan apply

Plus d’info Netplan.

systemd-networkd : minimaliste et serveur-friendly

systemd-networkd fait partie de systemd et permet une configuration réseau légère et déclarative, sans dépendance graphique. Idéal pour les serveurs.

Les fichiers sont situés dans :

Terminal window
/etc/systemd/network/

Avec des fichiers .network, .netdev pour décrire interfaces, VLAN, bonds…

Activation :

Terminal window
systemctl enable --now systemd-networkd

NetworkManager : pour les postes de travail

NetworkManager est pensé pour la mobilité, les connexions dynamiques et l’intégration avec les environnements graphiques. Il est utilisé par défaut sur Fedora, Ubuntu Desktop, et d’autres.

En ligne de commande :

Terminal window
nmcli device show
nmtui # Interface texte interactive

Il permet aussi de gérer facilement le Wi-Fi, les VPN, et plusieurs profils de configuration.

À retenir :

  • Netplan = standard Ubuntu, simple mais rigide.
  • systemd-networkd = robuste, scriptable, parfait pour les serveurs.
  • NetworkManager = flexible, idéal pour le bureau et la mobilité.

Conclusion

Maîtriser la configuration réseau sous Linux, ce n’est pas seulement savoir attribuer une IP ou relancer une interface. C’est comprendre les mécanismes sous-jacents, choisir les bons outils selon le contexte, et anticiper les erreurs grâce à une configuration claire, stable et documentée.

Que ce soit avec Netplan sur un serveur Ubuntu, NetworkManager sur un laptop Fedora, ou systemd-networkd sur une VM minimaliste, chaque outil a sa place.