Depuis Systemd / Udev 197 les noms désignant les cartes réseaux ont changé et l'on ne trouve plus les classiques ethx ou wlanx mais des adresses comme par exemple enp9s0 pour de l'ethernet et wlp6s0 pour du wifi. Ces désignations sont dites « predictables» et sont sensées être rendues fixes. Personnellement il me semble que c'était déjà le cas auparavant et qu'il existait pour cela un fichier du genre /etc/udev/rules.d/70-persistent-net.rules qui justement mentionnait l'adresse MAC et le nom en conséquence. Or ce fichier n'est plus présent en standard avec les nouvelles versions.
J'y vois par contre un avantage certain, c'est que si l'on change de carte réseau le nom de l'interface n'est pas modifié.
Dans la majorité des cas ces nouvelles évolutions apportées au cours des mises à jour ou si on installe un nouveau système ne porteront pas à conséquence et l'on utilisera alors les désignations du genre enp7s0 ou autres.
Cependant cela peut être gênant si l'on a configuré un réseau complexe avec serveur ou autre et l'on préfère garder la désignation eth0 pour ne pas avoir à tout adapter. C'est possible. Malgré les diverses documentations parcourues j'ai eu du mal à trouver une solution fonctionnelle et qui ne serait pas obsolète avec les futures mises à jour. Je détaille les solutions pour Debian / Ubuntu et pour Archlinux.
Retrouver l'ancienne désignation eth0 :
Il faut pour cela passer au noyau les paramètres de boot net.ifnames=0 biosdevname=0 dans /etc/default/grub pour avoir la ligne :
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
On passera ensuite la commande update-grub ou le mkconfig sur archlinux.
Après reboot on retrouve la désignation eth0 et/ou wlan0.
Ces paramètres sont aussi à utiliser lors d'une nouvelle installation pour retrouver dès le départ les anciennes interfaces.
Désignation personnalisée :
Pour x ou y raisons on peut souhaiter avoir un nom d'interface qui nous parle, du genre net0, net1, lan0, lan1, ou tout autre. Je n'ai pas trouvé de solution identique sur Debian / Ubuntu et Archlinux.
Sur Debian / Ubuntu :
j'ai crée le fichier /etc/systemd/network/10-internet.link contenant le groupe Match avec l'adresse mac de la carte, adresse récupérée par la commande ip link ou l'ancien ifconfig et le groupe Link avec le nom souhaité, ce qui donne :
:~$ cat /etc/systemd/network/10-internet.link
[Match]
MACAdress=08:00:27:05:ff:14
[Link]
Name=lan0
Sur Archlinux cette solution ne fonctionnant pas j'ai créé une règle udev (qui n'était pas prise en compte sous Ubuntu), règle placée dans le fichier /etc/udev/rules.d/10-net.rules et qui se présente ainsi :
:~$ cat /etc/udev/rules.d/10-net.rules
SUBSYSTEM=="net", ATTRS{address}=="00:1d:72:b0:91:8b", NAME="lan0"
Pour ce billet j'ai utilisé en partie les renseignements trouvés sur :
https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/https://www.freedesktop.org/software/systemd/man/systemd.link.html
Comme vous pouvez le voir j'ai du adapter car les procédures préconnisées n'étaient pas toutes concluantes.