systemd se charge d'initialiser les interfaces réseau, sur les distribution récentes on peut utiliser les fichiers de configuration .link
Créer un fichier dans /etc/systemd/network/
#/etc/systemd/network/10-renaming-lan.link [Match] MACAddress=01:23:45:67:89:ab [Link] Name=lan0
Pour des informations détaillées sur les fichiers .link, confère manuel :
man -S 5 systemd.link
Modifier le fichier de configuration /etc/network/interfaces
pour qu'il utilise le nouveau nom :
# The primary network interface allow-hotplug lan0 iface lan0 inet dhcp
Redémarre le service réseau :
systemctl restart networking.service
L'interface renommée utilisée dans les règles n'est encore disponible au moment du chargement du pare-feu. Voir la note Echec du chargement du ruleset nftables par systemd au démarrage.
Afficher le nom auto-assigné par le système:
# lister les interfaces réseau ip a
Pour l'exemple on considère que l'interface est nommée “wlan0”. Lister les attributs du node
udevadm info -a -p /sys/class/net/wlan0
A partir des attributs listés on peut définir la règle udev permettant de renommer l'interface. Par convention les règles locales sont définies dans des fichiers nommés /etc/udev/rules.d/XX-local.rules
Dans cet exemple on a décidé d'utiliser la clé ATTR{address} pour identifier l'interface à renommer:
# Renomme l'interface dont l'adresse MAC est 00:aa:bb:cc:dd:ee SUBSYSTEM=="net", ATTR{address}=="00:aa:bb:cc:dd:ee", NAME="wifi"
Pour tester la règle:
udevadm test /sys/class/net/wlan0