Rocky Linux / Configurer une adresse IP avec nmcli
Sur Rocky Linux, utilisez nmcli pour modifier les adresses IP (Internet Protocol) d’un profil de connexion géré par NetworkManager. Identifiez d’abord le profil actif et son interface, puis préparez et testez le nouveau profil avant de le rendre automatique au démarrage. Sur un serveur distant, l’activation peut couper SSH (Secure Shell) : un accès à la console ou une autre voie de gestion vérifiée est nécessaire pour ce parcours.
Identifier le profil qui porte l’adresse IP
NetworkManager enregistre des profils de connexion ; un profil actif applique ses paramètres à une interface. Le nom du profil et celui du périphérique sont différents. Commencez par relever leur correspondance et les adresses et routes réellement actives :
nmcli device status
nmcli connection show --active
ip -brief address
ip route
Dans les exemples, System eth0 désigne le profil existant et ens3 son interface. Remplacez ces deux valeurs par celles de votre machine ; le nom du profil peut conserver « eth0 » même si le périphérique s’appelle autrement. Si plusieurs profils ont le même nom, utilisez leur UUID (Universally Unique Identifier) pour lever l’ambiguïté.
Ce parcours concerne une connexion Ethernet simple gérée par NetworkManager. Pour un pont, une agrégation ou un VLAN (réseau local virtuel), identifiez le profil qui porte réellement l’adresse, au lieu de modifier un port membre. Une configuration générée par l’environnement cloud peut aussi être réappliquée au démarrage : vérifiez la méthode de gestion prévue par votre fournisseur. Le guide réseau de Rocky Linux présente ces outils.
Conserver le profil existant et préparer une copie
Relevez les paramètres actuels, notamment les adresses, routes, DNS et la valeur de connection.autoconnect. DNS signifie Domain Name System, le système qui résout les noms en adresses. Conservez ces relevés et l’accès au profil original dans un emplacement protégé ; ne publiez pas les détails internes du réseau.
nmcli connection show 'System eth0'
nmcli -g connection.autoconnect connection show 'System eth0'
nmcli connection show
Choisissez un nom de copie encore inutilisé, ici System eth0-static. Clonez le profil puis désactivez immédiatement l’activation automatique de la copie pendant les essais. Exécutez la seconde commande uniquement si le clonage a réussi, et vérifiez son résultat avant de poursuivre :
sudo nmcli connection clone 'System eth0' 'System eth0-static'
sudo nmcli connection modify 'System eth0-static' connection.autoconnect no connection.interface-name ens3
nmcli connection show 'System eth0-static'
Le réglage connection.interface-name ens3 lie la copie à l’interface vérifiée ; remplacez cette valeur avant exécution. La copie possède un nouvel UUID et reprend les autres propriétés du profil, y compris celles qui ne concernent pas l’adresse IP. Le profil original reste disponible pour le retour arrière ; ce clonage local ne remplace pas une sauvegarde indépendante du système. nmcli connection export sert aux connexions VPN (réseaux privés virtuels) prises en charge et n’est pas un export générique de profil Ethernet, comme le précise le manuel de nmcli.
Configurer une IPv4 fixe dans la copie
Faites valider l’adresse libre, la longueur du préfixe, la passerelle et les serveurs DNS par l’administrateur réseau. Les valeurs de 192.0.2.0/24 ci-dessous sont réservées à la documentation et doivent toutes être remplacées. Le préfixe /24 décrit la taille du réseau ; il ne doit pas être choisi au hasard.
sudo nmcli connection modify 'System eth0-static' \
ipv4.method manual \
ipv4.addresses '192.0.2.20/24' \
ipv4.gateway '192.0.2.1' \
ipv4.dns '192.0.2.53 192.0.2.54'
La commande remplace la liste d’adresses IPv4 et la liste DNS du profil d’essai par ces valeurs. Elle ne modifie pas la configuration IPv6 copiée. Une passerelle doit être joignable depuis l’interface selon la topologie prévue ; elle ne crée pas une connectivité physique qui n’existe pas. Si le profil a ipv4.never-default yes, sa passerelle ne sera pas utilisée comme route par défaut par NetworkManager. Vérifiez aussi les routes manuelles et les métriques héritées ; ne les effacez pas sans connaître leur rôle.
À ce stade, le profil est enregistré mais l’adresse active n’est pas encore remplacée. Relisez les paramètres, puis activez la copie depuis la console préparée. Cette activation remplace le profil utilisé sur l’interface et peut interrompre la connexion SSH en cours :
nmcli connection show 'System eth0-static'
sudo nmcli connection up 'System eth0-static' ifname ens3
Vérifier le résultat avant de choisir le démarrage automatique
nmcli connection show --active
ip -brief address show dev ens3
ip route
nmcli device show ens3
ip route get 192.0.2.1
Remplacez ens3 et la destination d’exemple. Le profil actif doit être la copie, l’interface doit porter l’adresse et le préfixe prévus, et les routes doivent correspondre à la topologie. Dans nmcli device show, examinez les adresses et DNS actifs. Une recherche ip route get indique une décision de routage, pas la réussite d’une connexion. Le guide de consultation des adresses IP Linux explique cette différence.
- Depuis un poste autorisé, ouvrez une nouvelle connexion vers la nouvelle adresse et le port du service voulu, par exemple SSH. Une ancienne session encore ouverte ne suffit pas à valider la nouvelle configuration.
- Testez une ressource de réseau et un nom réellement utilisés par l’application. Avec un nom connu de votre réseau,
getent ahosts nom-reelvérifie la résolution fournie aux applications ; remplaceznom-reelpar un nom existant. - Vérifiez les routes, règles de pare-feu, listes de contrôle d’accès et cibles de supervision qui dépendent de l’ancienne adresse. Gardez la console disponible jusqu’à la fin.
Les propriétés générales des profils NetworkManager expliquent la sélection automatique. Après ces contrôles, si la copie doit remplacer le profil original au démarrage, activez son autoconnection et désactivez celle de l’ancien profil. Notez les valeurs précédentes pour pouvoir les restaurer :
sudo nmcli connection modify 'System eth0-static' connection.autoconnect yes
sudo nmcli connection modify 'System eth0' connection.autoconnect no
Ces paramètres choisissent les candidats à l’activation automatique ; ils ne constituent pas un test du démarrage complet. Vérifiez qu’aucun autre profil concurrent ne vise cette interface. Si vous validez ensuite par un redémarrage planifié, gardez l’accès console et refaites les contrôles.
Revenir au profil précédent si le test échoue
Depuis la console, réactivez le profil conservé. Ne supprimez pas la connexion avant d’avoir récupéré l’accès :
sudo nmcli connection up 'System eth0' ifname ens3
Si vous aviez déjà changé les paramètres de démarrage automatique, désactivez celui de la copie puis rétablissez la valeur originale de l’ancien profil. L’exemple suivant suppose que cette valeur était yes ; remplacez-la par no si votre relevé initial indiquait no :
sudo nmcli connection modify 'System eth0-static' connection.autoconnect no
sudo nmcli connection modify 'System eth0' connection.autoconnect yes
Contrôlez de nouveau le profil actif, l’adresse et la connexion depuis un autre poste. Un profil DHCP peut recevoir une adresse différente lors de sa réactivation : recherchez l’adresse attribuée au lieu de supposer que l’ancienne sera conservée. Laissez le profil d’essai désactivé tant que la cause de l’échec n’est pas corrigée.
Utiliser DHCP pour IPv4
Cette branche est une alternative à l’IPv4 fixe. DHCP (Dynamic Host Configuration Protocol) fournit automatiquement une adresse et d’autres paramètres si un service DHCP est accessible sur ce réseau. Il ne s’agit pas d’un moyen universel de réparer une configuration inconnue ; pour annuler l’essai précédent, utilisez le profil conservé.
Pour faire utiliser DHCP au profil d’essai, retirez les valeurs manuelles et autorisez à nouveau les DNS automatiques :
sudo nmcli connection modify 'System eth0-static' \
ipv4.method auto \
ipv4.addresses '' \
ipv4.gateway '' \
ipv4.dns '' \
ipv4.ignore-auto-dns no
sudo nmcli connection up 'System eth0-static' ifname ens3
Réactivez uniquement depuis la voie de gestion prévue puis refaites les contrôles. Les routes statiques et les autres propriétés copiées ne sont pas toutes remises à zéro par ce bloc. Par exemple, ipv4.ignore-auto-routes yes ignore les routes reçues automatiquement ; examinez ce choix selon la politique réseau.
Si l’adresse doit venir de DHCP mais les DNS doivent être imposés pour cette famille IP, configurez ipv4.ignore-auto-dns yes avec la liste ipv4.dns voulue. Pour retrouver les DNS automatiques, revenez à no et retirez la liste manuelle. Les propriétés IPv4 de NetworkManager détaillent ces interactions. Les DNS provenant d’IPv6 ou d’autres profils actifs peuvent encore participer à la résolution ; ce réglage IPv4 seul ne définit pas toute la politique DNS de la machine.
Choisir une configuration IPv6
Conserver ou retrouver la configuration automatique
Si l’IPv6 actuelle fonctionne, vous pouvez la conserver pendant le changement IPv4. La méthode auto utilise les annonces des routeurs et, selon le réseau, les informations DHCPv6 ; ce n’est pas simplement l’équivalent IPv6 d’une demande DHCPv4. Pour revenir depuis une configuration IPv6 manuelle à ce mode sur le profil d’essai :
sudo nmcli connection modify 'System eth0-static' \
ipv6.method auto \
ipv6.addresses '' \
ipv6.gateway '' \
ipv6.dns '' \
ipv6.ignore-auto-dns no
Cette commande prépare le profil ; réactivez-le depuis la console pour appliquer le changement puis vérifiez les adresses et routes IPv6. Les autres routes ou options manuelles restent à examiner. Ne désactivez pas IPv6 sur un serveur utilisé sans vérifier les services et dépendances concernés.
Définir une adresse IPv6 fixe
Pour une configuration manuelle fournie par l’administrateur, remplacez toutes les valeurs d’exemple suivantes. 2001:db8::/32 est réservé à la documentation :
sudo nmcli connection modify 'System eth0-static' \
ipv6.method manual \
ipv6.addresses '2001:db8:100::20/64' \
ipv6.gateway '2001:db8:100::1' \
ipv6.dns '2001:db8:100::53'
Activez ensuite le profil depuis la voie de gestion préparée et contrôlez le résultat avec ip -6 address show dev ens3 et ip -6 route, en adaptant le périphérique. Les propriétés IPv6 de NetworkManager précisent les méthodes et paramètres disponibles. Ne lancez pas les branches automatique et manuelle comme une seule procédure.
Modifier le même profil avec le menu nmtui
sudo nmtui
- Ouvrez Modifier une connexion (Edit a connection) et sélectionnez le profil d’essai, pas le profil conservé pour le retour arrière.
- Choisissez la méthode IPv4 ou IPv6 voulue. Renseignez les adresses avec préfixe, la passerelle et les DNS fournis par l’administrateur. Examinez aussi le choix de connexion automatique.
- Validez l’enregistrement. Cette étape ne garantit pas à elle seule que les paramètres sont actifs.
- Depuis la console préparée, utilisez Activer une connexion (Activate a connection) pour réactiver le profil choisi ; s’il est déjà actif, désactivez puis réactivez seulement ce profil depuis la console. Refaites les contrôles avec
nmclietip.
Si nmtui n’est pas installé dans une image minimale, utilisez nmcli ou le paquet prévu par la distribution. Les deux outils éditent les profils NetworkManager ; ils ne constituent pas deux configurations réseau indépendantes.
Distinguer les causes d’une connexion impossible
| Observation | Contrôle utile |
|---|---|
| La mauvaise adresse reste active | Comparer le profil modifié et celui affiché par nmcli connection show --active. |
| Pas de route vers la destination | Vérifier passerelle, routes, never-default, métriques et interface choisie. |
| Une adresse fonctionne mais un nom échoue | Comparer les DNS actifs et le résultat de getent ahosts avec un nom connu. |
| La route existe mais le service ne répond pas | Vérifier le port d’écoute, le pare-feu, les règles cloud et l’authentification du service. |
| NetworkManager ne gère pas l’interface | Examiner nmcli device status, les autres outils de gestion et systemctl status NetworkManager. |
Recherchez aussi une adresse déjà utilisée, une différence de VLAN ou un filtrage du routeur amont. Une passerelle qui ne répond pas au ping n’est pas nécessairement en panne : elle peut filtrer ce protocole. Quand NetworkManager gère le DNS, /etc/resolv.conf peut être régénéré ; corrigez les paramètres du profil et le résolveur effectivement utilisés plutôt qu’une seule modification manuelle de ce fichier.




