{{tag>netadmin sysadmin linux réseau}}
:TODO_DOCUPDATE:
====== Renommer une interface réseau ======
La note [[sysadmin:linux:nomenclature-des-interfaces-reseau|nomenclature des interfaces]] détaille le système de nommage des interfaces réseau appliqué par udev.
===== La commande ip =====
Via la commande **ip** (paquet iproute2) on peut associer un nom supplémentaire à l'interface
# Affecte le nom nat0 à l'interface enp1s0
ip link property add dev enp1s0 altname nat0
# Supprime le nom alternatif
ip link property del dev enp1s0 altname nat0
Ou renommer l'interface
# renomme l'interface (doit être désactivée)
ip link set enp1s0 name nat0
Ces modifications sont transitoires et ne seront pas gardées après redémarrage.
On peut également s'appuyer sur le fichier de configuration ''/etc/network/interfaces''
rename enp1s0=nat0
auto nat0
iface nat0 inet static
address 192.168.1.200
netmask 255.255.255.0
===== systemd =====
**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
Dans certains cas, le renommage des interfaces a pour conséquence de faire échouer le chargement des règles de filtrage du pare-feu effectué par le service **nftables.service** au démarrage de la machine.
L'interface renommée utilisée dans les règles n'est encore disponible au moment du chargement du pare-feu. Voir la note [[sysadmin:linux:systemd:troubleshooting:echec_de_chargement_ruleset_nftables| Echec du chargement du ruleset nftables par systemd au démarrage]].
===== udev =====
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
Si la règle n'est pas appliquée, redémarrer la machine.
===== Références =====
* http://www.debianhelp.co.uk/udev.htm
* https://staging.forty.sh/posts/2021-01-15-renaming-network-interfaces/
* [[https://wiki.debian.org/NetworkInterfaceNames|Nommage des interfaces réseau (debian.org)]]
* [[https://unix.stackexchange.com/questions/391535/how-to-add-an-alternative-name-for-the-interface|Comment ajouter un nom alternatif à une interface (unix.stackexchange.com) (en)]]