Mécanismes de dénomination et intérêt technique
Les distributions Linux modernes utilisent par défaut un système de nommage prédictible basé sur la topologie matérielle et les informations fournies par le firmware. Cette approche garantit l'unicité des interfaces (ex: ens33, enp2s0) mais introdiut une variabilité incompatible avec les déploiements automatisés et les scripts de configuration standardisés. Forcer l'utilisation de la nomenclature traditionnelle (eth0, eth1) restaure une prédictibilité totale, simplifiant ainsi la gestion des infrastructures à grande échelle.
Configuration persistante sur les systèmes RHEL/CentOS/Fedora
Cette procédure désactive les règles udev de nommage prédictible et met à jour les scripts réseau du système.
1. Injcetion des paramètres d'amorçage
L'option net.ifnames=0 doit être ajoutée à la ligne de commande du noyau pour inhiber la génération dynamique des identifiants.
# Éditer le fichier de configuration GRUB
sudo vi /etc/default/grub
# Modifier la ligne suivante :
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet net.ifnames=0 biosdevname=0"
2. Migration des fichiers de configuration réseau
Les profils réseau résident dans /etc/sysconfig/network-scripts/. Un script de traitement par lots permet de renommer les fichiers et d'actualiser les variables internes sans intervention manuelle.
#!/bin/bash
INTERFACE_ACTUELLE="enp3s0"
NOUVELLE_INTERFACE="eth0"
REPERTOIRE_CONF="/etc/sysconfig/network-scripts"
# Renommer le fichier de configuration
sudo mv "${REPERTOIRE_CONF}/ifcfg-${INTERFACE_ACTUELLE}" "${REPERTOIRE_CONF}/ifcfg-${NOUVELLE_INTERFACE}"
# Remplacer les occurrences dans le contenu du fichier
sudo sed -i "s/${INTERFACE_ACTUELLE}/${NOUVELLE_INTERFACE}/g" "${REPERTOIRE_CONF}/ifcfg-${NOUVELLE_INTERFACE}"
3. Régénération du chargeur d'amorçage
La cible de sortie dépend du mode de démarrage détecté par le système d'exploitation.
if [ -d /sys/firmware/efi ]; then
sudo grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
else
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
fi
# Appliquer les modifications
sudo systemctl reboot
Configuration persistante sur Ubuntu/Debian
Les systèmes basés sur Debian utilisent Netplan pour la définition des interfaces. La logique de désactivation reste identique, mais la gestion des fichiers diffère.
1. Paramétrage du noyau
sudo vi /etc/default/grub
# Ajouter net.ifnames=0 biosdevname=0 à GRUB_CMDLINE_LINUX
sudo update-grub
2. Adaptation du schéma Netplan
Les configurations sont stockées dans /etc/netplan/. Il faut modifier l'identifiant racine dans le fichier YAML.
network:
version: 2
ethernets:
eth0: # Remplacer l'ancien nom ici
dhcp4: true
match:
macaddress: 00:50:56:xx:xx:xx
set-name: eth0
3. Application des règles
# Générer les règles udev et redémarrer le service réseau
sudo netplan generate
sudo netplan apply
sudo reboot
Modification éphémère (session uniquement)
Pour des tests ou des interventions ponctuelles sans persistance disque, la commande ip permet de réassigner l'interface en mémoire.
#!/bin/bash
SOURCE="enp3s0"
TARGET="eth0"
# Désactiver l'interface avant modification
sudo ip link set "$SOURCE" down
# Renommer dynamiquement
sudo ip link set "$SOURCE" name "$TARGET"
# Réactiver avec le nouvel identifiant
sudo ip link set "$TARGET" up
# Vérifier l'état
ip -br link show "$TARGET"
Cette méthode ne modifie aucun fichier système. Les paramètres sont réinitialisés automatiquement lors du prochain cycle d'initialisation.