Comment attribuer une adresse IP statique sous Linux : guide complet par distribution et outil

Dernière mise à jour: 16/10/2025
Auteur: Isaac
  • En Linux Il n’existe pas de commande universelle unique : la persistance dépend des interfaces, de Netplan, d’ifcfg ou de NetworkManager.
  • L’identification de l’interface et sa sauvegarde avant le montage sont essentielles pour éviter toute perte de connectivité.
  • Vérifiez toujours l'adresse IP, les itinéraires et le ping ; si le nom échoue, vérifiez vos paramètres DNS.

IP statique sous Linux

Configurer une adresse IP statique sous Linux ne se résume pas à une simple astuce, mais à un ensemble de techniques qui dépendent de la distribution, de la version et de la pile réseau activées ; il n’existe pas de commande universelle permettant de résoudre le problème dans tous les cas et de manière permanente.

De plus, il existe deux types de configurations : les paramètres temporaires (perdus lors d’un redémarrage du réseau ou du système) et les paramètres persistants (enregistrés dans des fichiers ou des profils et conservés après un redémarrage). Sous Debian/Ubuntu, vous pouvez modifier `/etc/network/interfaces` ou utiliser Netplan ; sous Red Hat/Rocky/AlmaLinux, NetworkManager et `ifcfg` sont les méthodes privilégiées ; sous Arch Linux, vous pouvez utiliser `netctl` ou `systemd-networkd` ; et sous toutes ces distributions, `nmcli`/`nmtui` constitue une alternative moderne et performante.

Qu'est-ce qu'une IP statique et pourquoi cela pourrait-il vous intéresser ?

Une adresse IP statique est une adresse qui ne change pas dans le temps et qui ne dépend pas d'un serveur DHCP ; elle est essentielle pour les serveurs , la redirection de ports, les tunnels, l'accès à distance ( SSH , VPN ), les NAS et les services avec DDNS.

Dans un environnement domestique ou de laboratoire, une adresse IP dynamique (DHCP) est généralement suffisante, mais lorsque vous souhaitez de la stabilité ou publier des services internes, vous fixez l'adresse IP afin qu'elle ne change pas ; cela évite les « surprises » telles que l'attribution d'une adresse différente par le routeur et l'arrêt du fonctionnement du transfert de port.

Configurer le réseau sous Linux

Avant de toucher quoi que ce soit : identifiez l'interface et faites une sauvegarde

La première étape consiste à déterminer l'interface à configurer (filaire : commence généralement par « e », comme enp0s3/enp2s0/eth0 ; Wi-Fi : commence par « w », comme wlan0/wlp3s0). Pour afficher la liste des interfaces par couleur, utilisez la commande `ip -c link show` , et pour afficher leurs adresses, utilisez `ip -c addr show` . Si vous utilisez des machines virtuelles , consultez les types de réseau disponibles dans VirtualBox et VMware afin de choisir la configuration appropriée.

Si vous préférez un affichage classique, `ifconfig -a` est également valable (sur les distributions modernes, vous devrez peut-être installer net-tools) ; vérifiez l’interface cible et confirmez si elle est actuellement sous DHCP ou si elle possède déjà une adresse IP statique.

Avant de modifier les fichiers système, effectuez une sauvegarde : par exemple, copiez /etc/network/interfaces dans votre répertoire $HOME en indiquant la date afin d’avoir un « plan B » en cas d’erreur.

sudo cp /etc/network/interfaces ~/interfaces.$(date +%Y%m%d).bk

Dans de nombreuses opérations, vous aurez besoin de privilèges d'administrateur ; vous pouvez vous connecter en tant que root ou ajouter sudo à chaque commande, ce qui est essentiel lors de la modification des fichiers de configuration réseau.

Réseau statique sous Linux

Debian et dérivés : méthode classique avec /etc/network/interfaces

Dans Debian 11 et les versions antérieures, il est courant de gérer le réseau avec le fichier /etc/network/interfaces ; commencez par localiser l'interface (par exemple, eth0 ou enp2s0) et modifiez le fichier avec votre éditeur préféré.

sudo vim /etc/network/interfaces
# o
sudo nano /etc/network/interfaces

Recherchez les blocs de configuration de votre interface. Si elle est configurée en DHCP (par exemple, allow-hotplug eth0 + iface eth0 inet dhcp), modifiez-la en statique ; la syntaxe habituelle comprend auto <interface> et un bloc « inet static ».

auto eth0
iface eth0 inet static
    address 192.168.1.25       # IP del equipo
    netmask 255.255.255.0      # Máscara (equivale a /24)
    gateway 192.168.1.1        # Puerta de enlace
    dns-nameservers 192.168.1.1 1.1.1.1 8.8.8.8

Dans certains cas, vous verrez également des champs tels que réseau et diffusion (192.168.1.0 et 192.168.1.255 dans /24) ; ils ne sont pas toujours nécessaires, mais vous pouvez les inclure si votre guide ou modèle les inclut ; les champs essentiels sont l’adresse, le masque de sous-réseau, la passerelle et le DNS.

  Méthodes pour permettre le choix du destinataire de l'expédition au courrier dans Excel et Phrase

Enregistrez et redémarrez le service réseau pour appliquer les modifications ; sur Debian standard, il suffit d'utiliser la commande systemctl restart networking.service puis de vérifier avec ip addr que l'adresse IP est bien celle que vous avez définie.

sudo systemctl restart networking.service
ip -c addr show eth0

Dans des distributions comme Ubuntu, vous pouvez trouver des unités ifup spécifiques à l'interface (par exemple, ifup@enp2s0) ; en cas de doute, utilisez le modèle général avec networking.service ; l'idée est de recharger la pile réseau pour que la modification soit prise en compte.

Serveur Ubuntu moderne : Netplan étape par étape

Depuis Ubuntu 17.10, et plus particulièrement dans la version 20.04 LTS et les versions ultérieures, Netplan gère la configuration réseau en lisant les fichiers YAML dans /etc/netplan/*.yaml ; la syntaxe est sensible à l'indentation et aux espaces.

Vérifiez le fichier actif (par exemple, 00-installer-config.yaml ou 50-cloud-init.yaml) et confirmez l'état actuel ; par défaut, vous verrez quelque chose comme dhcp4: true , ce qui signifie que l'adresse IP est obtenue par DHCP.

cat /etc/netplan/00-installer-config.yaml
# Ejemplo típico por defecto:
# network:
#   ethernets:
#     enp0s3:
#       dhcp4: true
#   version: 2

Modifiez le fichier YAML et désactivez le DHCP en remplaçant dhcp4: true par dhcp4: no (ou false), en ajoutant les adresses (avec masque en notation CIDR), gateway4 et nameservers ; respectez les indentations , car un espace en moins peut perturber l’analyse.

sudo nano /etc/netplan/00-installer-config.yaml

network:
  ethernets:
    enp0s3:
      dhcp4: no
      addresses: 
      gateway4: 192.168.1.1
      nameservers:
        addresses: 
  version: 2

Si le répertoire ne contient aucun fichier (rare, mais possible), vous pouvez régénérer les fichiers de base avec `sudo netplan generate` puis appliquer ; dans des conditions normales, exécutez simplement `apply` et vérifiez.

sudo netplan apply
ip addr

Si les modifications échouent, Netplan vous en informera et empêchera le réseau de devenir « hors service » ; vérifiez la syntaxe YAML et exécutez à nouveau la commande « apply » une fois que vous l’avez ; la commande « ip a » vous permettra de vérifier l’état après chaque modification.

Red Hat, Rocky et AlmaLinux : ifcfg et NetworkManager (nmcli/nmtui)

Dans les systèmes basés sur RPM, les fichiers ifcfg coexistent toujours dans /etc/sysconfig/network-scripts/ avec NetworkManager comme couche de gestion ; vous pouvez le faire à l’ancienne en modifiant le fichier ifcfg de votre interface.

sudo nvim /etc/sysconfig/network-scripts/ifcfg-enp0s2

TYPE="Ethernet"
BOOTPROTO="none"
NAME="enp0s2"
ONBOOT="yes"
HWADDR="08:00:27:80:63:19"
IPADDR0="192.168.225.150"
PREFIX0="24"
GATEWAY0="192.168.225.1"
DNS1="8.8.8.8"

Assurez-vous de définir BOOTPROTO="none" pour indiquer que vous n'utilisez pas DHCP et ONBOOT="yes" pour activer l'interface ; enregistrez et redémarrez le service réseau, puis vérifiez avec la commande ip addr que l'adresse IP s'affiche correctement ; cela la rendra permanente . Pour plus d'informations sur l' adresse MAC et le masque de sous-réseau , veuillez consulter la documentation correspondante.

sudo systemctl restart network
ip a s enp0s2

Avec NetworkManager, vous pouvez préférer nmcli, qui est pratique et déclaratif ; modifier le profil de connexion (il ne correspond pas toujours au nom de l'interface) en spécifiant ip4, gw4 et DNS, puis activer le profil.

nmcli connection show
sudo nmcli connection modify "eth0" ip4 192.168.1.20/24 gw4 192.168.1.101 ipv4.dns 8.8.8.8
sudo nmcli connection up "eth0"

Si vous souhaitez un mode terminal semi-graphique , installez l'interface utilisateur en temps réel de NetworkManager et utilisez son assistant ; cela vous permettra de vérifier que vous ne manquez aucun champ ; puis redémarrez NetworkManager si nécessaire.

sudo dnf install NetworkManager-tui
nmtui
sudo systemctl restart NetworkManager

Arch Linux : netctl ou systemd-networkd

Sous Arch, deux solutions courantes s'offrent à vous : netctl (profils inspirés de systemd) ou une approche « sans configuration » avec systemd-networkd ; les deux sont valables et le choix dépend de votre environnement.

  Quels sont les meilleurs programmes pour apprendre à chanter ?

À l'aide de netctl, copiez l'exemple de profil ethernet-static dans /etc/netctl/ en remplaçant le nom de votre interface, l'adresse, le masque (en CIDR) , la passerelle et le DNS par les valeurs appropriées ; puis activez et démarrez le profil.

sudo cp /etc/netctl/examples/ethernet-static /etc/netctl/enp2s0
sudo nvim /etc/netctl/enp2s0

Description='A basic static ethernet connection'
Interface=enp2s0
Connection=ethernet
IP=static
Address=('192.168.1.102/24')
Gateway=('192.168.1.1')
DNS=('8.8.8.8' '8.8.4.4')

sudo netctl enable enp2s0
sudo netctl start enp2s0

Si vous aviez un client DHCP en cours d'exécution (tel que dhcpcd), arrêtez et désactivez ses unités afin qu'elles n'écrasent pas vos paramètres statiques ; il est crucial d'éviter les conflits à ce niveau.

sudo systemctl stop dhcpcd
sudo systemctl disable dhcpcd

À l'aide de systemd-networkd, créez un fichier .network correspondant à votre interface dans /etc/systemd/network/ , spécifiez l'adresse IP, la passerelle et le DNS, puis activez le service ; après le redémarrage, vérifiez avec ip addr.

sudo nvim /etc/systemd/network/enp2s0.network


Name=enp2s0


Address=192.168.1.102/24
Gateway=192.168.1.1
DNS=8.8.8.8
DNS=8.8.4.4

sudo systemctl disable [email protected]  # si venías de netctl
sudo systemctl enable systemd-networkd
sudo systemctl start systemd-networkd

Avant de le fermer, vérifiez qu'il ne reste aucun profil ou service concurrent ; la commande systemctl list-unit-files vous aide à détecter les unités netctl ou les clients DHCP résiduels.

Interface graphique et alternatives sur les postes de travail Linux

Si vous vous trouvez dans un environnement doté d'une interface graphique (GNOME, KDE, etc.), vous pouvez ouvrir « Connexions réseau » et, dans la connexion filaire ou sans fil, choisir la méthode « Manuelle » (IPv4), en renseignant l'adresse, le masque et la passerelle ; vous pouvez également définir le DNS sur ce même écran.

Cette approche est pratique pour les équipes d'utilisateurs et fonctionne avec NetworkManager en arrière-plan ; cependant, il reste utile de connaître les méthodes de console pour les serveurs et les administrations à distance , lorsque l'interface graphique n'est pas toujours disponible ou recommandée.

Appliquer les modifications : redémarrages du service et du système

Après modification, il suffit généralement de redémarrer le démon réseau : sous Debian/Ubuntu classique, systemctl restart networking.service ; sous Netplan, netplan apply ; sous NetworkManager, systemctl restart NetworkManager ou désactiver/activer le profil avec nmcli.

# Debian/Ubuntu tradicional
sudo systemctl restart networking.service

# Netplan
sudo netplan apply

# NetworkManager
sudo systemctl restart NetworkManager

Dans les distributions utilisant l'ancien format ifcfg, utilisez systemctl restart network ; sous Arch avec netctl, utilisez netctl restart <profil> ou stop/start ; si le service de redémarrage est indisponible, vous pouvez redémarrer l'ordinateur avec systemctl reboot ou l'éteindre avec systemctl poweroff.

sudo systemctl restart network
sudo netctl restart enp2s0
# Alternativas de control del sistema
sudo systemctl reboot
sudo systemctl poweroff

Vérification et test de connectivité

Vérifiez que l'adresse est bien appliquée avec la commande ip -c addr show <interface> et que la route par défaut pointe vers la passerelle que vous avez définie ; si tout correspond, procédez au test de connectivité.

  Comment désactiver la saisie prédictive sous Windows sans perdre la correction orthographique ?

Commencez par envoyer un ping à la passerelle (par exemple, 192.168.1.1) puis à un domaine ( google.com ) pour également vérifier la résolution DNS ; si le ping par adresse IP fonctionne mais pas par nom, vérifiez vos serveurs DNS.

ip -c addr show enp0s3
ping -c 4 192.168.1.1
ping -c 4 google.com

Si vous rencontrez des problèmes, retournez à la source : vérifiez le fichier que vous avez modifié (/etc/network/interfaces ou le YAML de Netplan), confirmez qu’aucun client DHCP actif ne le remplace, et répétez le cycle d’application et de vérification.

Existe-t-il une seule « commande magique » pour réparer l’IP sous Linux ?

Non, et voici le nœud du problème : sous Linux, il existe plusieurs façons d’attribuer une adresse IP statique, et elles dépendent du gestionnaire de réseau et de la distribution ; il existe cependant une commande générique pour attribuer une adresse IP temporairement, par exemple avec ip addr add.

# Asignación temporal (no persiste tras reiniciar red/sistema)
sudo ip addr add 192.168.1.50/24 dev enp0s3
sudo ip route add default via 192.168.1.1

Cette configuration n'est pas persistante ; pour qu'elle survive aux redémarrages, vous devez modifier des fichiers (interfaces, ifcfg, Netplan) ou utiliser des outils de profilage comme nmcli/nmtui ; c'est pourquoi les enseignants demandent généralement la méthode de votre distribution, et non une « commande unique ».

Notes et nuances utiles à retenir

Dans le monde RPM, BOOTPROTO="none" indique une adresse IP manuelle et BOOTPROTO="dhcp" active l'acquisition automatique d'une adresse IP ; les champs IPADDR0/PREFIX0/GATEWAY0/DNS1 permettent plusieurs entrées avec les suffixes 0, 1, 2 si nécessaire.

Dans Debian classique, l'essentiel est d'utiliser «inet static» et de ne pas oublier la passerelle et les serveurs de noms DNS ; dans Netplan, faites attention à l'indentation et rappelez-vous que les masques sont au format CIDR dans les adresses (par exemple, /24 pour 255.255.255.0).

Si vous travaillez avec des appareils exotiques ou des laboratoires « vintage », vous pouvez avoir des versions plus anciennes (comme Debian 11 sur des SBC Pine A64) et la méthode d'interface classique résoudra votre problème ; adaptez la méthode à ce qui fonctionne réellement de manière stable sur votre machine.

Enfin, si un élément cesse de répondre à distance après l'application de modifications réseau, attendez que le service se recharge et vérifiez les routes depuis la console locale ; une sauvegarde du fichier d'origine vous évitera des surprises lors d'une restauration rapide.

Avec tout ce qui précède, vous disposez désormais d'une carte complète par familles et outils : méthode classique sous Debian/Ubuntu, YAML avec Netplan pour les serveurs modernes, ifcfg et NetworkManager sous Red Hat/Rocky/Alma, et profils netctl ou systemd-networkd sous Arch ; choisissez le chemin qui convient à votre distribution et à votre contexte, n'oubliez pas de vérifier avec ip addr et ping, et n'oubliez pas le DNS si vous ne parvenez pas à résoudre les noms.

Comment configurer une IP statique sur Debian, Arch, Ubuntu, openSUSE et Fedora
Article connexe:
Comment configurer une adresse IP statique sur Debian, Arch, Ubuntu, openSUSE et Fedora