Réseau CentOS 7.9 : ifcfg, nmcli et précautions de migration
EdwardMoon
La configuration réseau de CentOS 7.9 relève désormais de la récupération et de la migration de serveurs existants. CentOS Linux 7 n'est plus pris en charge depuis le 30 juin 2024. Pour un nouveau serveur de production, utilisez une version prise en charge de Rocky Linux ou de RHEL. Gérez le réseau avec les profils de connexion NetworkManager. Ce guide corrige les exemples d'adresses IP et de diffusion, puis décrit la sauvegarde, l'application, la vérification et le retour arrière en préservant l'accès distant.
Les exemples utilisent le réseau documentaire 192.0.2.0/24. Avant toute application, remplacez l'IP, le préfixe, la passerelle, les DNS et le nom d'interface par les valeurs réelles. Vérifiez d'abord qu'une console ou une carte d'administration distante permet une récupération.

Vérifier la fin de vie et le périmètre de modification
CentOS 7 Vault archive d'anciens paquets ; il ne rétablit pas leur maintenance de sécurité. Isolez les serveurs exposés à Internet et, après avoir rétabli le réseau, migrez leurs ressources et leurs données vers un système pris en charge.Identifiez d'abord le composant qui gère la connexion : NetworkManager ou les anciens network-scripts. Notez la route par défaut, les DNS et les noms réels des interfaces pour éviter toute approximation pendant la récupération.
cat /etc/centos-release
systemctl is-active NetworkManager
nmcli general status
nmcli device status
nmcli connection show
ip -br address
ip route show
cat /etc/resolv.conf
Sauvegarder la configuration et préparer l'accès de secours
Appliquer directement les changements depuis une session SSH peut couper l'accès. Vérifiez la console, puis conservez la configuration réseau, les sorties de routage et de DNS ainsi que les profils NetworkManager dans la même sauvegarde.
STAMP=$(date +%Y%m%d-%H%M%S)
sudo install -d -m 0700 "/root/network-backup-${STAMP}"
sudo cp -a /etc/sysconfig/network-scripts "/root/network-backup-${STAMP}/"
nmcli -f all connection show | sudo tee "/root/network-backup-${STAMP}/nmcli-connections.txt" >/dev/null
ip address show | sudo tee "/root/network-backup-${STAMP}/ip-address.txt" >/dev/null
ip route show table all | sudo tee "/root/network-backup-${STAMP}/ip-route.txt" >/dev/null
cat /etc/resolv.conf | sudo tee "/root/network-backup-${STAMP}/resolv.conf.txt" >/dev/null
Ancien format de fichier ifcfg
Utilisez le format suivant uniquement si le serveur CentOS 7.9 lit encore les fichiers ifcfg. L'adresse et la passerelle appartiennent au même réseau d'exemple 192.0.2.0/24. Ne mélangez pas des réseaux différents pour l'IP et l'adresse de diffusion. Avec un préfixe CIDR, BROADCAST peut généralement être omis.
TYPE=Ethernet
BOOTPROTO=none
NAME=ens192
DEVICE=ens192
ONBOOT=yes
IPADDR=192.0.2.10
PREFIX=24
GATEWAY=192.0.2.1
DNS1=192.0.2.53
DEFROUTE=yes
IPV6INIT=yes
Le nom du fichier et DEVICE doivent correspondre à l'interface réelle. Avec plusieurs cartes réseau, examinez DEFROUTE et les fichiers de routes pour éviter des routes par défaut supplémentaires involontaires. Concevez séparément le routage par politiques si nécessaire.
# Modifier uniquement les paramètres nécessaires sans vider le fichier existant.
sudoedit /etc/sysconfig/network-scripts/ifcfg-ens192
sudo chown root:root /etc/sysconfig/network-scripts/ifcfg-ens192
sudo chmod 0600 /etc/sysconfig/network-scripts/ifcfg-ens192
sudo grep -Ev '^(#|$)' /etc/sysconfig/network-scripts/ifcfg-ens192
Appliquer uniquement le profil de connexion concerné
La procédure nmcli suivante exige que NetworkManager soit actif et gère l'interface cible. Vérifiez avec nmcli device status que ens192 n'est pas unmanaged. Sur un serveur utilisant uniquement network-scripts, n'exécutez pas ces commandes nmcli : utilisez depuis la console la procédure ifdown/ifup de l'interface concernée. Ne mélangez pas les deux modes de gestion sur une même interface.
Ne redémarrez pas l'ensemble du service réseau ou NetworkManager sur un serveur distant. Prévoyez d'abord une fenêtre de maintenance et un accès console, puis activez uniquement la connexion concernée. Conservez la session SSH actuelle jusqu'à validation d'une nouvelle session.sudo nmcli connection reload
nmcli connection show
sudo nmcli connection up ens192
Configuration avec NetworkManager et nmcli
Sous Rocky Linux 9 et RHEL 9, les profils NetworkManager constituent la méthode de référence. Les commandes suivantes placent le nom du profil existant dans une variable et modifient ensemble l'adresse IPv4 statique, la passerelle et les DNS.
CON='System ens192'
sudo nmcli connection modify "$CON" ipv4.method manual ipv4.addresses 192.0.2.10/24 ipv4.gateway 192.0.2.1 ipv4.dns 192.0.2.53 ipv4.never-default no
nmcli -f connection.id,ipv4.method,ipv4.addresses,ipv4.gateway,ipv4.dns connection show "$CON"
sudo nmcli connection up "$CON"
Dans les images cloud, cloud-init ou les agents du fournisseur peuvent réécrire les profils réseau. Consultez la politique de l'image et la documentation du fournisseur avant de modifier ces profils avec nmcli.
Vérifier l'adresse, les routes et le DNS
Un message de réussite de la commande ne suffit pas. Contrôlez d'abord le lien et l'adresse, puis la route par défaut, l'accès à la passerelle, la résolution DNS et les ports des services réels.
nmcli device status
nmcli -f GENERAL.STATE,IP4.ADDRESS,IP4.GATEWAY,IP4.DNS device show ens192
ip -br link show ens192
ip -br address show ens192
ip route get 192.0.2.1
ping -c 3 192.0.2.1
getent ahosts example.com
ss -lntup
Revenir à la configuration précédente
L'exemple de récupération suivant concerne lui aussi une connexion gérée par NetworkManager. Avec network-scripts, restaurez les fichiers sauvegardés puis appliquez-les depuis la console avec ifdown/ifup sur l'interface cible.
Restaurez les fichiers depuis la console, rechargez les profils et activez uniquement la connexion concernée. Avant tout écrasement, conservez aussi l'état défaillant dans un autre dossier pour faciliter l'analyse ultérieure.
sudo cp -a /etc/sysconfig/network-scripts "/root/network-failed-$(date +%Y%m%d-%H%M%S)"
sudo cp -a /root/network-backup-YYYYMMDD-HHMMSS/network-scripts/. /etc/sysconfig/network-scripts/
sudo nmcli connection reload
sudo nmcli connection up ens192
Liste de contrôle pour la migration
Suivez un ordre simple : sauvegardez la configuration complète, vérifiez l'accès console, modifiez uniquement le profil cible et testez une nouvelle session SSH depuis un autre terminal. Terminez par la migration vers un Linux pris en charge.
- Disposer d'un accès console ou à la carte d'administration et d'une sauvegarde préalable.
- Documenter interface, IP, préfixe, passerelle, DNS et routes statiques.
- Rechercher les doublons d'IP et les conflits de routes par défaut.
- Appliquer uniquement la connexion cible et conserver la session SSH existante.
- Valider une nouvelle session SSH et les contrôles de santé applicatifs.
- Maintenir le serveur CentOS 7 isolé pendant sa migration vers un Linux pris en charge.
Documentation officielle et articles associés
- Red Hat : réseau RHEL 9 et NetworkManager
- Fin de maintenance de CentOS Linux
- Récupération d'urgence avec CentOS 7 Vault
- Migrer de CentOS 7 vers une nouvelle installation Rocky Linux
- Installer Rocky Linux et appliquer les premiers réglages de sécurité
Avant de modifier la connexion cible, identifiez son gestionnaire et préparez le chemin de récupération. La validation doit couvrir séparément adresse, routage et DNS. Sur un serveur en fin de vie, poursuivez la remise en état du réseau jusqu'à l'achèvement du plan de migration.