- 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.
La configuration d'une IP statique sous Linux n'est pas une astuce unique, mais un ensemble de techniques qui dépendent de la distribution, de la version et de la pile réseau que vous avez activées ; Il n’existe pas de commandement universel unique cela résout le problème dans tous les cas et de manière persistante.
De plus, il existe deux paramètres distincts : les paramètres temporaires (qui disparaissent au redémarrage du réseau ou du système) et les paramètres persistants (qui sont enregistrés dans des fichiers ou des profils et survivent aux redémarrages). Dans les familles Debian/Ubuntu, vous pouvez appuyer sur / etc / network / interfaces ou utilisez Netplan ; dans Red Hat/Rocky/AlmaLinux NetworkManager et ifcfg sont les règles ; dans Arch Linux, vous pouvez utiliser netctl ou systemd-networkd, et dans chacun d'eux, nmcli/nmtui brille comme une alternative moderne.
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 avec le temps et ne dépend pas non plus d’un serveur DHCP ; est la clé pour les serveurs, redirection de port, tunnels, accès à distance (SSH, VPN), NAS et services avec DDNS.
Dans les environnements domestiques ou de laboratoire, il est généralement suffisant IP dynamique (DHCP), mais lorsque vous souhaitez de la stabilité ou publier des services internes, vous fixez l'IP pour qu'elle ne change pas ; Cela évite les « surprises » comme ça toupie attribuez une autre adresse et la redirection de port cessera de fonctionner.

Avant de toucher quoi que ce soit : identifiez l'interface et faites une sauvegarde
La première chose à faire est de savoir quelle interface vous allez configurer (câble : commence généralement par e, comme enp0s3/enp2s0/eth0 ; wifi : commence par w, comme wlan0/wlp3s0) ; pour lister les interfaces avec les couleurs que vous pouvez utiliser ip -c lien afficher et pour voir les adresses, ip -c adresse afficher. Si vous travaillez dans Machines virtuelles, vérifiez le Types de réseaux dans VirtualBox et VMware pour choisir les paramètres appropriés.
Si vous préférez une sortie classique, c'est également valable. ifconfig -a (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 avez déjà une IP statique.
Avant de modifier les fichiers système, enregistrez une sauvegarde : par exemple, copiez / etc / network / interfaces à votre $HOME avec une date afin d'avoir un « plan B » au cas où vous feriez une erreur.
sudo cp /etc/network/interfaces ~/interfaces.$(date +%Y%m%d).bk
Dans de nombreuses opérations, vous aurez besoin de privilèges administratifs ; vous pouvez vous connecter en tant que racine ou mettre avant sudo à chaque commande, ce qui est essentiel lors de la modification des fichiers de configuration réseau.
Debian et dérivés : méthode classique avec /etc/network/interfaces
Dans Debian 11 et les versions précédentes, il est courant de gérer le réseau avec le fichier / etc / network / interfaces; localisez d'abord 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
Trouvez vos blocs d'interface. S'ils étaient configurés sur DHCP (par exemple, allow-hotplug eth0 + iface eth0 inet dhcp), définissez-les sur statique ; la syntaxe habituelle est la suivante : voiture 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 scénarios, vous verrez également des champs tels que réseau et diffusion (192.168.1.0 et 192.168.1.255 sur /24) ; ceux-ci ne sont pas toujours obligatoires, mais vous pouvez les inclure si votre guide ou modèle le permet. l'essentiel Il s'agit de l'adresse, du masque de réseau, de la passerelle et du DNS.
Enregistrez et redémarrez le service réseau pour appliquer ; sur Debian standard, cela fonctionne bien. systemctl redémarre le service réseau et validez ensuite avec ip addr que l'IP est bien celle que vous avez définie.
sudo systemctl restart networking.service
ip -c addr show eth0
Sur les variantes d'Ubuntu, vous pouvez trouver des unités ifup spécifiques à l'interface (par exemple, ifup@enp2s0) ; si vous n'êtes pas sûr, revenez au modèle général avec networking.service ; L'idée est de recharger la batterie du réseau pour que le changement prenne effet.
Serveur Ubuntu moderne : Netplan étape par étape
Depuis Ubuntu 17.10, et surtout dans 20.04 LTS et versions ultérieures, Netplan gère la configuration du réseau en lisant les fichiers YAML dans /etc/netplan/*.yaml; la syntaxe est sensible à l'indentation et aux espaces.
Vérifiez le fichier actuel (par exemple, 00-installer-config.yaml ou 50-cloud-init.yaml) et confirmez l'état actuel ; par défaut, vous devriez voir quelque chose comme ceci : dhcp4 : vrai, ce qui signifie que l'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 YAML et désactivez DHCP en changeant dhcp4 : true en dhcp4 : no (ou false), en ajoutant des adresses (avec masque en notation CIDR), gateway4 et nameservers ; respecte les indentations, car un espace de moins peut interrompre 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 cela peut arriver), vous pouvez régénérer les fichiers de base avec sudo netplan générer et ensuite appliquer ; dans des conditions normales il suffira de lancer appliquer et vérifier.
sudo netplan apply
ip addr
Si les modifications échouent, Netplan vous avertira et ne laissera pas le réseau « interrompu ». Vérifiez la syntaxe YAML et exécutez à nouveau « apply » lorsque vous avez terminé. la commande « ip a » est votre allié pour vérifier le statut après chaque ajustement.
Red Hat, Rocky et AlmaLinux : ifcfg et NetworkManager (nmcli/nmtui)
Sur les systèmes basés sur RPM, les fichiers ifcfg coexistent toujours dans /etc/sysconfig/scripts-réseau/ avec NetworkManager comme couche de gestion ; vous pouvez le faire à l'ancienne en modifiant l'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 afficher l'interface ; enregistrez et redémarrez le service réseau et vérifiez avec l'adresse IP qu'il est reflété ; donc ça reste persistant. Si vous avez besoin de plus de contexte sur le Adresse MAC et masque de réseau, vérifiez cette référence.
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 semi-graphique dans terminal, installez l'interface utilisateur graphique NetworkManager et utilisez son assistant ; c'est pratique pour vous assurer de ne manquer aucun champ ; puis redémarrez NetworkManager si vous le jugez nécessaire.
sudo dnf install NetworkManager-tui
nmtui
sudo systemctl restart NetworkManager
Arch Linux : netctl ou systemd-networkd
Dans Arch, vous avez deux chemins largement utilisés : netctl (profils inspirés de systemd) ou aller « nu » avec systemd-networkd; les deux sont valables et le choix dépend de votre environnement.
En utilisant netctl, copiez l'exemple de profil ethernet-static dans /etc/netctl/ avec le nom de votre interface, modifiez l'adresse, masque (dans CIDR), passerelle et DNS ; puis activez et lancez 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 essentiel d’éviter les conflits ici.
sudo systemctl stop dhcpcd
sudo systemctl disable dhcpcd
Avec systemd-networkd, vous créez un fichier .network qui correspond à votre interface dans /etc/systemd/network/, spécifiez l'IP, la passerelle et le DNS, et activez le service ; après le redémarrage, vérifiez avec l'adresse IP.
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 netctl@enp2s0.service # si venías de netctl
sudo systemctl enable systemd-networkd
sudo systemctl start systemd-networkd
Avant de le fermer, vérifiez à nouveau qu’il ne reste aucun profil ou service concurrent ; systemctl liste-unités-fichiers vous aide à détecter les unités netctl résiduelles ou les clients DHCP.
Interface graphique et alternatives sur les postes de travail Linux
Si vous êtes dans un environnement avec une interface graphique (GNOME, KDE, etc.), vous pouvez ouvrir les « Connexions réseau » et dans la connexion filaire ou sans fil choisir la méthode « Manuelle » (IPv4), en remplissant Adresse, Masque et Passerelle ; Vous pouvez également définir DNS sur ce même écran.
Cette approche est pratique pour les ordinateurs des utilisateurs et fonctionne avec NetworkManager en dessous ; cependant, il est utile de connaître les méthodes de la console pour serveurs et administrations à distance, où l'interface graphique n'est pas toujours disponible ou recommandée.
Appliquer les modifications : redémarrages du service et du système
Après l'édition, il suffit généralement de redémarrer le démon réseau : sur Debian/Ubuntu classique, systemctl redémarre le service réseau; dans Netplan, netplan s'applique ; dans NetworkManager, systemctl restart NetworkManager ou désactivez/activez le profil avec nmcli.
# Debian/Ubuntu tradicional
sudo systemctl restart networking.service
# Netplan
sudo netplan apply
# NetworkManager
sudo systemctl restart NetworkManager
Sur les distributions avec l'ancien ifcfg, utilisez systemctl redémarrer le réseau; sur Arch avec netctl, netctl restart ou arrêter/démarrer ; si le service de redémarrage n'est pas disponible, vous pouvez redémarrer l'ordinateur avec systemctl reboot ou l'arrêter 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 appliquée avec ip -c adresse afficher et que la route par défaut pointe vers la passerelle que vous avez définie ; si tout est correct, passez au test de connectivité.
Commencez par envoyer un ping à la passerelle (par exemple, 192.168.1.1), puis à un domaine (google.com) pour vérifier également la résolution DNS ; si le ping par IP fonctionne mais pas par nom, vérifiez votre Serveurs DNS.
ip -c addr show enp0s3
ping -c 4 192.168.1.1
ping -c 4 google.com
En cas de problème, revenez à la source : vérifiez le fichier que vous avez touché (/etc/network/interfaces ou YAML de Netplan), confirmez qu'il n'y a pas de clients DHCP actifs qui l'écrasent et répétez le cycle. appliquer et vérifier.
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 de laisser une IP fixe, et elles dépendent du gestionnaire de réseau et de la distribution ; ce qui existe, c'est une commande générique pour attribuer une IP temporairement, par exemple avec ajouter une adresse IP.
# 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 la faire survivre aux redémarrages, vous devez éditer les fichiers (interfaces, ifcfg, Netplan) ou utiliser des outils de profilage comme nmcli/nmtui ; c'est pourquoi les enseignants Ils demandent généralement la méthode de votre distribution, pas une « commande unique ».
Notes et nuances utiles à retenir
Dans le monde du RPM, BOOTPROTO=»aucun» Spécifiez l'adresse IP manuelle et BOOTPROTO = « dhcp » active l'acquisition automatique ; les champs IPADDR0/PREFIX0/GATEWAY0/DNS1 autorisent plusieurs entrées avec les suffixes 0, 1 ou 2 si nécessaire.
Dans Debian classique, la clé est d'utiliser « inet static » et de ne pas oublier la passerelle et les serveurs de noms DNS ; dans Netplan, surveillez l'indentation et rappelez-vous que les masques sont au format CIDR. adresses (par exemple, /24 pour 255.255.255.0).
Si vous travaillez avec des appareils exotiques ou des laboratoires vintage, vous disposez peut-être de versions pas si récentes (comme Debian 11 sur un Pine A64 SBC) et la méthode d'interface classique résoudra votre problème ; adapte la méthode à ce qui fonctionne réellement de manière stable sur votre ordinateur.
Enfin, si quelque chose cesse de répondre à distance après l’application des modifications du réseau, attendez que le service se recharge et vérifiez les itinéraires à partir de la console locale ; sauvegarder à partir du fichier d'origine vous évite d'avoir à revenir rapidement en arrière.
Avec tout ce qui précède, vous disposez déjà d'une carte complète par familles et outils : méthode classique dans Debian/Ubuntu, YAML avec Netplan pour les serveurs modernes, ifcfg et NetworkManager dans Red Hat/Rocky/Alma et profils netctl ou systemd-networkd dans Arch ; choisir l'itinéraire qui correspond à votre distribution et à votre contexte, n'oubliez pas de vérifier l'adresse IP et le ping, et n'oubliez pas le DNS si vous manquez de noms.
Écrivain passionné par le monde des octets et de la technologie en général. J'aime partager mes connaissances à travers l'écriture, et c'est ce que je vais faire dans ce blog, vous montrer toutes les choses les plus intéressantes sur les gadgets, les logiciels, le matériel, les tendances technologiques et plus encore. Mon objectif est de vous aider à naviguer dans le monde numérique de manière simple et divertissante.
