Bonjour,
Le 21/04/2022 à 11:12, Jerome Kieffer a écrit :
> Bonjour,
>
> Je suis sur une machine debian11 assez standard et à jours. Suite à
> un reboot, les interfaces reseau sont dans le mauvais ordre, i.e.
> eth0 et eth1 sont inversées.
>
> Pourtant c'est bien déclaré, et ce depuis des années dans le
> fichier: /etc/udev/rules.d/70-persistent-net.rules
>
> Est ce que vous avez une idée de ce qui a pu se passer ? merci de
> votre aide
c'est le problème classique des "predictive names"
Une mise à jour quelconque (kernel, module, librairie), ou un initramfs
à mis en vrac un mécanisme qui "tombait en marche" depuis des années.
D'après mes notes, à partir du 2020/06/01 sur mes Debian Testing j'ai
observé que le /etc/udev/rules.d/70-persistent-net.rules ne marchait
plus comme il le devait.
C'est amusant, car pas plus tard que ce matin je travaillai à nouveau
sur ce sujet, à propos d'un adaptateur USB/Ethernet qui avait un nom qui
ne me plaisait pas.
D'après
https://superuser.com/questions/1431018/network-interface-names-via-udev-for-usb-nics
, la solution peut passer par systemd-udev, et son
/etc/systemd/network/*.link . Voir /usr/share/doc/udev/README.Debian.gz
pour le détail.
J'ai mis cela en place ce matin, et cela a marché en "hot plug". Par
contre, je n'ai pas la possibilité de rebooter la machine tout de suite,
donc je ne sais pas encore si cela résiste au reboot ... :)
Sinon, l'autre possibilité est de passer par le
/etc/udev/rules.d/70-persistent-net.rules . Mais attention au
commentaire qui dit que le paramètre ATTR est CASE SENSIVIVE !!
Enfin, une toute autre approche (3ème solution):
- se résigner à accepter le "predicitive naming" (outch, pour les vieux
Linuxiens que nous somme cela fait mal ... :) )
- mais retrouver nos chers eth0, eth1, eth2, ... grâce au "rename" du
"/etc/network/interfaces". Exemple chez moi:
# less /etc/network/interfaces
rename enp3s0=eth0
rename enp1s5=eth1
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address a.b.c.d
netmask 255.255.255.0
network a.b.c.0
broadcast a.b.c.255
dns-search aaaaaa
auto eth1
iface eth1 inet static
address e.f.g.h
netmask 255.255.255.0
network e.f.g.0
broadcast e.f.g.255
dns-search aaaaaa
On voit dans journalctl les renomages d'interfaces réseaux lors du boot:
# journalctl |grep renamed
avril 20 00:32:32 aaa kernel: r8169 0000:01:05.0 enp1s5: renamed from
eth0
avril 20 00:32:32 aaa kernel: r8169 0000:03:00.0 enp3s0: renamed from
eth1
avril 20 00:32:39 aaa kernel: r8169 0000:03:00.0 eth0: renamed from
enp3s0
avril 20 00:32:39 aaa kernel: r8169 0000:01:05.0 eth1: renamed from
enp1s5
Cordialement,
Olivier
--
~~~~~~~ _____/\_____ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix / _ \/ _ \ Olivier Allard-Jacquin
/ / \ / \ \ Web: http://olivieraj.free.fr/
/___/ / \ \___\ Mail: olivieraj@???
~~~~ ///// ///\\\ \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!