Eth0 ou eth1 : qui décide? (résolu)

Suite à un changement de cartes mère/réseau ma carte ethernet s’appelle eth1.
Avant le changement de cartes, j’avais eth0 (ethernet) et wlan0 (wifi bien sûr).
Maintenant j’ai eth1 et wlan0.

J’ai qlqs scripts qui supposaient que c’est eth0 : J’ai changé ça mais je me demande comment on gère ça proprement:
Pourquoi une carte réseau correspond elle à eth0 alors que ça devient eth1 si on change juste la carte?
Est un bug que de se retrouver avec une eth1 et pas de eth0 ?

C’est un peu *** car bon si on change de carte on ne peux pas non plus utliser la mac pour identifier une interface dans un script…

Ah ca, c’est couillon effectivement… je sais pas vraiment d’ou ca vient.
Probable que le systeme a gardé une “memoire” de l’ancienne carte et, en voyant la nouvelle, lui a attribué le n° suivant ?

Estime toi heureux d’etre sous linux et pas BSD, la situation est bien pire car le nom des cartes depend en plus du driver utilisé. C’est une vraie misere pour scripter…

Perso, j’ai tres rarement ete confronté a ce genre de cas (une fois) et j’etais passé par un alias pour etre tranquille par la suite. Je bosse essentiellement avec des serveurs et ce genre de modification materielle n’existe pas :o n remplace par du matos strictement identique :neutre:

Oui en effet c’est couillon.
Je pense que c’est une règle udev qui gère ça…mais je ne connais pas les détails.
DeviceKit doit aussi compliqué la chose…

“Estime toi heureux d’etre sous linux et pas BSD, la situation est bien pire car le nom des cartes depend en plus du driver utilisé. C’est une vraie misere pour scripter…”
Oui en effet! …“heureusement” c’est un laptop et je ne suis pas assez joueur pour lui mettre autre chose qu’un linux.

Je crois que je vais ouvrir un bug (ou du moins en wishlist) : Il serait bon que l’unique interface ethernet d’une machine s’appelle eth0 non?

Au passage est ce que qlqn sait comment çase passe quand on a 2 interfaces ethernet (ou plus)?
La numérotation est au petit bonheur la chance?

Pour le wifi c’est le même souc : j’ai vu du wifi correspondant à “eth1” puis à “wlan0” (suite à une mise à jour de la distrib et donc du pilote…)

Est ce qu’il y a des règles (du moins pour les linux) ? (un peu comme Freedesktop.org)??

k2p : j’adore ta signature :slight_smile:

J’avais cherche une fois et je crois que c’est pas trop compliqué a changer (mais j’avais abandonne de mon cote car c’etait sur un serveur en prod et je pouvais pas trop bidouiller le reseau vu que j’etais a distance :paf: )
Avec du debian, je crois meme que ca peut se modifier dans /etc/network/interfaces

ca depend… si tu disposes d’une machine avec 2 interfaces eth0 et eth1 qui fonctionnent et que tu retires eth0 pour x raison, je pense pas que ca serait une bonne idee que eth1 se renomme toute seule par magie :neutre:
Mais on a connu a peu pres le meme probleme avec la denomination des disques durs (hdX, sdX) et aujourd’hui, y’a un n° unique basé sur le matos qui est utilisé. Le sdX n’est plus qu’un alias…
Certaines distribs (opensuse entre autres) identifient les cartes par la mac et pas le n° eth.

Je crois que c’est l’ordre de detection des cartes qui entre en jeu… et la detection doit venir par l’ordre de chargement des drivers :neutre:

Suivant les drivers, ca a longtemps ete le bazar aussi avec l’identification des cartes wifi mais depuis 1 ou 2 ans, c’est eth qui est utilisé. Il reste peut etre encore qq exceptions ?

:slight_smile:

Ha oui il existe encore des exceptions :frowning:
Sur un laptop sony très récent j’ai du wlan0 et pourtant ce n’est pas une carte exotique :
02:00.0 Network controller: Intel Corporation WiFi Link 6000 Series (rev 35) (rien que le rev35 en dit long huhu).

Sinon oui on peut toujours faire des alias dans les fichiers de config et paf.

Pour les disques dur, je crois que tu parles des UUID : fr.wikipedia.org…
Si oui les UUID ont réglé des pbs en effet (par exemple des pbs de disque dur usb présent ou non au boot).

Tiens en lisant la page que je cite je vois ça : “Mais au vu du nombre de combinaisons possibles (4.10³? par version), l’unicité garde « une haute probabilité ».”
C’est très très faux. Il suffit que l’algo de hachage soit très mauvais pour que la proba de colision soit bien plus grande que 1/(nb de combinaison)

Effectivement, c’est udev le “fautif”.
Il suffit d’éditer le fichier /etc/udev/rules.d/70-persistent-net.rules (peut varier selon les distribs), supprimer l’entrée correspondant à l’ancienne carte réseau, et modifier la nouvelle entrée pour repasser en eth0.

Avant :

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x8086:0x107c (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1b:21:37:f9:de", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x10ef (e1000e) (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="b8:ac:6f:a3:b8:dc", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

Après :

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x8086:0x10ef (e1000e) (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="b8:ac:6f:a3:b8:dc", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

Ok merci.
En fonction des cas, on peut vouloir que ca reste (même si ce cas est rare) ou que ca parte.
Ce n’est donc pas un bug mais un feature hihi :slight_smile:

Arf quand même…le seul cas où l’on veut que ca reste, c’est quand on plusieurs interfaces, qu’on en vire une physiquement et qu’on le rebranche après…c’est plutôt rare…
Si on rebranche une autre carte, ça ne marchera pas car la mac n’est pas la même.

Bref, il n’y a pas de solution idéale…mais on vit avec sans pb.