Aller au contenu
Administration Linux medium

Les fondamentaux du réseau Linux

12 min de lecture

Cette page ouvre le module Réseau du parcours Linux. Elle vous donne le modèle mental commun à toutes les leçons qui suivent : une interface porte une adresse IP, une table de routage décide par où sortent les paquets, un résolveur DNS traduit les noms en adresses. Vous repartez d'ici en sachant lire l'état réseau d'un serveur, choisir l'outil de configuration correspondant à votre distribution, et savoir dans quelle leçon aller chercher la manipulation précise. Les commandes de configuration détaillées vivent dans les leçons dédiées, pas ici.

  • Lire l'état réseau d'un serveur avec ip et repérer l'interface qui porte le trafic.
  • Distinguer les quatre briques indispensables : interface, adresse, route par défaut, DNS.
  • Choisir entre adressage statique et DHCP selon le rôle de la machine.
  • Identifier l'outil de configuration réellement en place : systemd-networkd, Netplan ou NetworkManager.
  • Appliquer un changement réseau avec la bonne commande selon la distribution, sans couper votre session SSH.
  • Situer chaque leçon du module et ce qu'elle couvre.

Le module suit une progression volontaire : d'abord observer avec ip, ensuite configurer de façon persistante avec l'outil de votre distribution, puis diagnostiquer quand cela ne répond plus, et enfin transférer des fichiers entre machines. Suivez cet ordre si vous débutez : chaque leçon suppose acquise la précédente. Si vous cherchez une manipulation précise, sautez directement à la carte concernée.

Avant de modifier quoi que ce soit, il faut savoir ce qui est déjà en place. Toute connectivité Linux repose sur quatre éléments, et un incident réseau vient presque toujours de l'un d'eux. Une interface (la carte réseau, physique ou virtuelle) porte une ou plusieurs adresses IP avec leur masque de sous-réseau. La table de routage contient au minimum une route par défaut vers la passerelle, sans laquelle rien ne sort du réseau local. Le résolveur DNS traduit les noms en adresses. Retenez cet ordre : c'est celui du diagnostic.

Chaque carte réseau porte un nom, et ce nom dépend de la convention en vigueur sur la machine. Les anciens eth0, eth1 suivaient l'ordre de détection matérielle, ce qui rendait le nom instable au redémarrage. Les noms prédictibles de systemd (enp0s3, ens33) dérivent de la position sur le bus PCI et ne bougent plus. Les interfaces sans fil apparaissent en wlan0 ou wlp3s0. Ne codez jamais eth0 en dur dans un script sans vérifier le nom réel de la machine cible.

La commande ip a affiche l'inventaire complet, interfaces et adresses confondues :

Fenêtre de terminal
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

Trois informations comptent dans cette sortie. L'état UP signale que le lien est actif ; une interface DOWN explique à elle seule une panne totale. L'adresse inet donne l'IPv4 et son masque (/20 ici, soit 255.255.240.0). Le scope global indique une adresse routable, par opposition au scope host de la boucle locale lo. Toutes les options de la commande sont détaillées dans la leçon ip.

Une adresse seule ne suffit pas à joindre Internet. Il faut aussi une route par défaut, que vous vérifiez avec ip r : la ligne default via doit pointer vers la passerelle de votre sous-réseau. Il faut enfin une résolution DNS fonctionnelle, sinon les adresses IP répondent mais aucun nom de domaine ne se résout, ce qui produit le grand classique du « le réseau marche mais rien ne marche ».

Fenêtre de terminal
ip r # La route par défaut existe-t-elle ?
ping -c 3 192.168.1.1 # La passerelle répond-elle ?
dig +short debian.org # Le DNS résout-il un nom ?
ss -tulpn # Quels services écoutent, sur quels ports ?

Ces quatre commandes forment votre premier réflexe de diagnostic, dans cet ordre. Si ip r ne montre aucune route default, inutile de chercher plus loin côté DNS. Si ping passe sur l'IP mais que dig ne renvoie rien, le problème est strictement DNS. La méthode complète, avec les cas où le paquet part mais ne revient pas, est traitée dans Diagnostiquer un problème réseau.

Une interface reçoit ses paramètres soit automatiquement via DHCP (Dynamic Host Configuration Protocol), soit manuellement en statique. Ce choix n'est pas cosmétique : il conditionne la façon dont votre serveur est joignable, et donc la fiabilité de vos enregistrements DNS, de vos règles de filtrage et de vos accès SSH. Un serveur dont l'adresse change au gré des baux DHCP est un serveur qu'on finit par perdre.

Cas d'usageRecommandation
Serveur en production (web, DNS, base de données)IP statique
Poste utilisateur, portableDHCP
VM de test, environnement jetableDHCP (statique si le service est exposé)
Machine accessible en SSH depuis l'extérieurIP fixe

En statique, vérifiez toujours que l'adresse choisie est exclue du pool DHCP ou réservée sur le serveur DHCP. Sans cette précaution, le serveur distribuera un jour la même adresse à une autre machine, et vous récolterez un conflit d'adresse intermittent, l'une des pannes les plus pénibles à diagnostiquer parce qu'elle n'apparaît qu'au renouvellement d'un bail.

Il n'existe pas d'outil universel de configuration réseau sous Linux. Trois mécanismes se partagent le terrain, et la règle d'or est qu'un seul doit piloter une interface donnée. Faire cohabiter NetworkManager et systemd-networkd sur la même carte, c'est se garantir une configuration qui « revient toute seule » après un redémarrage.

systemd-networkd est le composant réseau de systemd. Déclaratif, léger, sans dépendance graphique, il lit des fichiers .network et .netdev dans /etc/systemd/network/. C'est le moteur qui applique réellement la configuration sur un Ubuntu Server, même si vous ne l'écrivez jamais directement.

Netplan est la surcouche YAML d'Ubuntu. Vous écrivez un fichier dans /etc/netplan/, et Netplan génère la configuration pour le moteur sous-jacent (networkd sur serveur, NetworkManager sur desktop). Un exemple minimal d'IP statique :

network:
version: 2
ethernets:
eth0:
addresses:
- 192.168.1.10/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [1.1.1.1, 8.8.8.8]

La route par défaut se déclare bien dans un bloc routes:. L'ancienne clé gateway4: est dépréciée depuis Netplan 0.103 : elle fonctionne encore mais déclenche un avertissement à chaque netplan apply, et elle finira par disparaître. Si vous recopiez un tutoriel qui l'utilise, migrez-la. Les permissions du fichier, le rollback automatique et les cas bond/VLAN sont couverts dans Configurer le réseau avec Netplan.

NetworkManager est le gestionnaire par défaut de RHEL et de ses dérivés, ainsi que des postes de travail Fedora et Ubuntu Desktop. Il raisonne en connexions (des profils nommés), pas en fichiers plats, et se pilote avec nmcli en ligne de commande ou nmtui en interface texte. C'est aussi l'outil attendu à l'examen RHCSA. La création de profils, l'IP statique et la persistance après reboot sont détaillées dans Configurer le réseau avec NetworkManager.

OutilOù vous le trouvezQuand le préférer
systemd-networkdUbuntu Server, images cloud minimalesServeurs, conteneurs, configuration scriptée
NetplanUbuntu (surcouche de networkd)Toute machine Ubuntu récente
NetworkManagerRHEL, Rocky, Fedora, postes de travailRHEL/RHCSA, Wi-Fi, VPN, profils multiples

C'est ici que beaucoup de tutoriels se trompent. La commande systemctl restart networking n'est pas générique : le service networking.service appartient à ifupdown, la pile historique de Debian avec /etc/network/interfaces. Il n'existe pas sur une Ubuntu Server récente (Netplan et systemd-networkd), ni sur RHEL (NetworkManager). La lancer sur ces systèmes renvoie simplement Unit networking.service not found. La bonne commande dépend de l'outil qui pilote l'interface.

Distribution / pileAppliquer la configuration
Ubuntu (Netplan)sudo netplan apply
Ubuntu / images minimales (systemd-networkd seul)sudo systemctl restart systemd-networkd
RHEL, Rocky, Fedora (NetworkManager)sudo nmcli connection reload puis sudo nmcli connection up enp1s0
RHEL, en dernier recourssudo systemctl restart NetworkManager
Debian avec ifupdown (/etc/network/interfaces)sudo systemctl restart networking

Sur RHEL, préférez nmcli connection up au redémarrage complet de NetworkManager : recharger un profil ne touche qu'une interface, alors que redémarrer le service réapplique tout, y compris ce que vous n'aviez pas l'intention de changer. Sur Ubuntu, sudo netplan try applique la configuration puis la rembobine automatiquement au bout de 120 secondes si vous ne confirmez pas : c'est le filet de sécurité qui vous sauve quand vous travaillez à distance en SSH sur la seule interface de la machine.

Un module doit annoncer ses limites. Le parcours réseau s'arrête à la configuration et au diagnostic de la connectivité : il ne comporte aucune leçon sur le filtrage pare-feu, alors que ufw, firewalld et nftables sont des compétences attendues au LFCS et au RHCSA. C'est un manque assumé du parcours Linux à ce stade, pas un sujet couvert ailleurs dans le module.

En attendant qu'une leçon dédiée rejoigne ce parcours, les guides de la section Sécuriser traitent le sujet de manière autonome : Introduction aux pare-feux sous Linux pour le modèle mental, UFW côté Ubuntu, Firewalld côté RHEL, et nftables pour le moteur qui se trouve dessous. Le bonding, les VLAN et le routage avancé ne sont pas non plus traités dans ce module.

  • Une connectivité repose sur quatre briques : interface UP, adresse IP avec masque, route par défaut, résolution DNS. Diagnostiquez-les dans cet ordre.
  • ip a, ip r, ping, dig et ss -tulpn suffisent à cadrer 90 % des incidents avant d'ouvrir un fichier de configuration.
  • Statique pour les serveurs, DHCP pour les postes. Une IP statique doit toujours être exclue du pool DHCP, sinon conflit d'adresse garanti.
  • Un seul outil pilote une interface : systemd-networkd, Netplan ou NetworkManager. Les faire cohabiter produit des configurations qui reviennent après reboot.
  • En Netplan, la route par défaut s'écrit dans un bloc routes: ; la clé gateway4: est dépréciée.
  • systemctl restart networking n'existe que sur Debian avec ifupdown. Sur Ubuntu, c'est netplan apply ; sur RHEL, nmcli connection up.
  • En SSH, une configuration réseau ratée vous coupe la session : utilisez netplan try ou gardez une console de secours.
  • Le module ne traite pas le pare-feu : ufw, firewalld et nftables se travaillent dans la section Sécuriser.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn