Tutoriel Linux

Adresse IP fixe sur Debian : la méthode propre selon votre configuration réseau

Débutant5 min de lecture
À retenirLinux n'est pas réservé aux experts. Le bon point de départ : une distribution accessible, une sauvegarde propre et quelques commandes comprises.

Mettre une adresse IP fixe sur Debian peut sembler simple. En pratique, c’est le genre de modification qui peut vous couper l’accès SSH si vous éditez le mauvais fichier ou si vous redémarrez le mauvais service réseau.

Avant de toucher à la configuration, il faut donc identifier qui gère réellement la carte réseau : NetworkManager, systemd-networkd ou l’ancien fichier /etc/network/interfaces. La bonne méthode dépend de ce point.

Commencer par identifier l’interface et la passerelle

Sur Debian, commencez par relever l’interface réseau, l’adresse actuelle et la route par défaut :

ip addr
ip route

Vous cherchez surtout trois informations :

  • le nom de l’interface, par exemple enp0s3, ens18 ou eth0 ;
  • la passerelle, visible sur la ligne default via ;
  • le préfixe réseau, par exemple /24.

Exemple :

default via 192.168.1.1 dev enp0s3
inet 192.168.1.42/24 brd 192.168.1.255 scope global dynamic enp0s3

Ici, une configuration statique cohérente pourrait être 192.168.1.50/24 avec une passerelle 192.168.1.1. Adaptez toujours les valeurs à votre réseau, ne copiez pas ces adresses telles quelles sur un serveur en production.

Savoir quel outil gère le réseau

Avant de modifier quoi que ce soit, vérifiez les services présents :

systemctl is-active NetworkManager
systemctl is-active systemd-networkd
ls -l /etc/network/interfaces /etc/network/interfaces.d/ 2>/dev/null

Sur un poste Debian avec environnement graphique, NetworkManager est fréquent. Sur un serveur minimal, vous pouvez tomber sur systemd-networkd ou sur ifupdown avec /etc/network/interfaces.

Ne mélangez pas les méthodes. Si NetworkManager gère déjà l’interface, évitez de créer en même temps un fichier systemd-networkd pour la même carte. C’est le meilleur moyen d’obtenir une configuration incohérente au prochain redémarrage.

Si vous êtes connecté en SSH, ouvrez une seconde session avant de continuer. Gardez aussi un accès console si la machine est distante. Si SSH ne répond plus après une modification, notre guide pour réinstaller SSH proprement sur Ubuntu donne aussi de bons réflexes de vérification côté service et pare-feu.

Méthode NetworkManager avec nmcli

Si NetworkManager est actif, commencez par trouver le nom de la connexion :

nmcli connection show

Vous pouvez ensuite passer la connexion en IPv4 statique. Exemple avec une connexion nommée Wired connection 1 :

sudo nmcli connection modify "Wired connection 1" 
  ipv4.addresses 192.168.1.50/24 
  ipv4.gateway 192.168.1.1 
  ipv4.dns "1.1.1.1 8.8.8.8" 
  ipv4.method manual

Puis rechargez la connexion :

sudo nmcli connection up "Wired connection 1"

Sur une machine distante, cette commande peut couper la session pendant quelques secondes. Si vous changez aussi le réseau ou la passerelle, faites la manipulation depuis une console locale ou un accès d’administration hors bande.

Méthode systemd-networkd

Si votre Debian utilise systemd-networkd, la configuration passe souvent par un fichier dans /etc/systemd/network/. Exemple pour l’interface enp0s3 :

sudo nano /etc/systemd/network/20-wired.network

Contenu possible :

[Match]
Name=enp0s3

[Network]
Address=192.168.1.50/24
Gateway=192.168.1.1
DNS=1.1.1.1
DNS=8.8.8.8

Vérifiez ensuite les permissions du fichier :

sudo chmod 644 /etc/systemd/network/20-wired.network

Puis rechargez prudemment :

sudo networkctl reload
sudo systemctl restart systemd-networkd

Là encore, ne faites pas ça à l’aveugle sur un serveur dont vous n’avez que SSH. Un mauvais nom d’interface ou une passerelle incorrecte peut suffire à vous sortir de la machine.

Méthode /etc/network/interfaces

Sur certaines installations Debian, notamment plus anciennes ou très minimales, le réseau est encore géré par /etc/network/interfaces. Sauvegardez le fichier avant modification :

sudo cp /etc/network/interfaces /etc/network/interfaces.bak

Exemple de configuration statique :

auto enp0s3
iface enp0s3 inet static
    address 192.168.1.50/24
    gateway 192.168.1.1
    dns-nameservers 1.1.1.1 8.8.8.8

Selon les paquets installés, la ligne DNS peut nécessiter resolvconf ou être remplacée par une configuration DNS séparée. Sur Debian récent, ne supposez pas que cette méthode est active simplement parce que le fichier existe.

Pour appliquer, préférez une fenêtre de maintenance :

sudo systemctl restart networking

Vérifier que l’adresse fixe fonctionne

Après modification, ne vous contentez pas de voir la session SSH encore ouverte. Vérifiez l’adresse, la route, le DNS et la sortie réseau :

ip addr show enp0s3
ip route
resolvectl dns 2>/dev/null || cat /etc/resolv.conf
ping -c 3 192.168.1.1
ping -c 3 1.1.1.1
curl -I https://www.debian.org/

Si le ping vers la passerelle fonctionne mais pas vers Internet, regardez la route par défaut. Si Internet fonctionne par adresse IP mais pas par nom de domaine, le problème vient probablement du DNS.

Pour les détails de référence, vous pouvez consulter la documentation Debian sur la configuration réseau, la documentation nmcli et la page du manuel systemd.network.

Avant de fermer votre session SSH

Je vous conseille de faire un dernier test depuis un autre terminal :

ssh [email protected]

Si la nouvelle connexion fonctionne, que la route par défaut est correcte et que le DNS répond, vous pouvez fermer l’ancienne session. Si quelque chose cloche, revenez immédiatement à la sauvegarde plutôt que d’empiler d’autres modifications.

Une adresse IP fixe doit rendre le serveur plus prévisible, pas plus fragile. Le bon ordre reste toujours le même : identifier le gestionnaire réseau, sauvegarder, modifier une seule méthode, appliquer, puis vérifier.

sudo apt update && sudo apt upgrade