OVH Cloud OVH Cloud

eth0 eth1 eth2...comment est-ce attribué ?

20 réponses
Avatar
Serge Sauton
Bonjour (et bonne année)

Je suis sous linux debian noyau 2.6
J'ai trois cartes réseau :

> lscpi | grep Ethernet
0000:00:04.0 Ethernet controller: nVidia Corporation nForce2 Ethernet
Controller (rev a1)
0000:01:08.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
RTL-8139/8139C/8139C+ (rev 10)
0000:02:01.0 Ethernet controller: 3Com Corporation 3C920B-EMB Integrated
Fast Ethernet Controller [Tornado] (rev 40)

J'en utilise deux : eth0 (la nforce2) pour mon réseau local et
eth1(Realtek) en dhcp :
> cat /etc/network/interfaces
auto eth0
iface eth0 inet static
address 172.16.0.1
netmask 255.255.255.0
network 172.16.0.0
broadcast 172.16.255.255
gateway 172.16.0.1
auto eth1
iface eth1 inet dhcp

Je souhaiterais utiliser la troisième pour un autre réseau local,
quelque chose du type :

auto eth2
iface eth2 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.255.255
gateway 192.168.0.1

Et ça ne fonctionne pas...en fait, j'ai l'impression que "eth2" est
"réservé" par le module eth1394 pour mes ports firewire :

> dmesg | grep eth

forcedeth.c: Reverse Engineered nForce ethernet driver. Version 0.56.
eth0: forcedeth.c: subsystem: 01043:80a7 bound to 0000:00:04.0
eth1: RealTek RTL8139 at 0x9000, 00:08:54:06:36:23, IRQ 209
eth1: Identified 8139 chip type 'RTL-8100B/8139D'
eth1394: eth2: IEEE-1394 IPv4 over 1394 Ethernet (fw-host0)
eth1394: eth3: IEEE-1394 IPv4 over 1394 Ethernet (fw-host1)
eth1: link up, 10Mbps, full-duplex, lpa 0x4061
eth0: no IPv6 routers present
eth1: no IPv6 routers present

de plus j'ai les messages d'erreurs suivants :
sit0: unknown hardware address type 776
eth3: unknown hardware address type 24
eth2: unknown hardware address type 24
sit0: unknown hardware address type 776
eth3: unknown hardware address type 24
eth2: unknown hardware address type 24



Si j'essaie de mettre eth4 à la place de eth2 dans le fichier
interfaces, un message m'indique qu'aucune interface réseau eth4 n'existe.

J'ai aussi essayé de charger le module associé en créant un fichier
/tc/modprobe.d/reseau :
alias eth2 3c59x

mais ça ne change rien...eth2 semble toujours réservé au firewire.

Comment faire donc pour qu'eth2 puisse être associé à ma troisième
interface réseau ? Ou tout du moins comment pouvoir utiliser cette
troisième carte réseau ?

Merci.

--
Serge Sauton

10 réponses

1 2
Avatar
JKB
Le 01-01-2007, à propos de
Re: eth0 eth1 eth2...comment est-ce attribué ?,
Nicolas George écrivait dans fr.comp.os.linux.configuration :
Serge Sauton wrote in message <45994899$0$320$:
Subject: eth0 eth1 eth2...comment est-ce attribué ?


Dans l'ordre où les cartes sont détectées. Du coup, compter dessus pour une
configuration robuste n'est vraiment pas une bonne idée. Il faut utiliser un
critère persistant, comme l'adresse MAC, pour attribuer des noms fiables.


Ouaips... Sauf quand chez Sun, toutes les adresses MAC de toutes les
interfaces Ethernet d'un serveur sont identiques. Sur une U80, j'ai
la hme sur la carte mère et huit hme (sur deux cartes quad), toutes
avec la même adresse MAC.

Par exemple, chez moi, j'ai ceci :

ssecem ~ $ cat /etc/udev/rules.d/0net.rules
# Integrated
ACTION=="add", SUBSYSTEM=="net", KERNEL=="eth*",
SYSFS{address}=="00:18:f3:04:74:ce", NAME="eth0"

# 3Com
ACTION=="add", SUBSYSTEM=="net", KERNEL=="eth*",
SYSFS{address}=="00:04:76:9b:2a:b2", NAME="eth1"

Les configurations par défaut d'udev ont parfois une règle qui crée des
règles persistantes pour les nouvelles cartes réseau, mais bof.


Surtout lorsqu'on se retrouve aves des eth1_rename et autres
joyeusetés...

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.


Avatar
Serge Sauton
Surtout lorsqu'on se retrouve aves des eth1_rename et autres
joyeusetés...


justement, j'ai une "joyeuseté" de ce type :

~ cat /etc/udev/rules.d/z25_persistent-net.rules
#realtek
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:08:54:06:36:23",
NAME="eth_pc-enfant"

#nforce2 nvidia
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:e0:18:f7:71:0c",
NAME="eth_freebox"

#3com
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:26:54:09::f8:75",
NAME="eth_libre"

#Inerfaces firewires
SUBSYSTEM=="net", DRIVERS=="?*",
ATTRS{address}=="00:e0:18:00:00:11:32:42", NAME="eth3"

SUBSYSTEM=="net", DRIVERS=="?*",
ATTRS{address}=="00:00:00:00:00:03:11:53", NAME="eth4"



et ceci :

~ ls /sys/class/net
eth2_rename/ eth3/ eth4/ eth_freebox/ eth_pc-enfant/ lo/ sit0/


donc "eth2_rename" à la place de "eth_libre".
Est-ce lié au problème que tu signalais Nicolas à propos du driver 3com
qui n'affiche pas la chaîne "eth" ?

Comment peut-on arranger ceci ?

Merci encore.

--
Serge Sauton

Avatar
Pascal Hambourg

Ouaips... Sauf quand chez Sun, toutes les adresses MAC de toutes les
interfaces Ethernet d'un serveur sont identiques. Sur une U80, j'ai
la hme sur la carte mère et huit hme (sur deux cartes quad), toutes
avec la même adresse MAC.


A première vue, je trouve que ce n'est pas une si mauvaise idée. Je ne
vois pas de bonne raison de relier plusieurs interfaces indépendantes et
actives simultanément d'une machine à un même réseau ethernet. Et ça
simplifie l'association d'interfaces en bonding ou en bridge : on n'a
plus besoin de se demander l'adresse MAC de quelle interface sera
adoptée pour l'ensemble. :-) (J'ai des mauvais souvenirs où le groupe
prenait l'adresse MAC de la dernière interface associée et donc
changeait à chaque nouvelle association, pas très pratique...)

Avatar
patpro ~ Patrick Proniewski
In article <endiqr$18if$,
Pascal Hambourg wrote:


Ouaips... Sauf quand chez Sun, toutes les adresses MAC de toutes les
interfaces Ethernet d'un serveur sont identiques. Sur une U80, j'ai
la hme sur la carte mère et huit hme (sur deux cartes quad), toutes
avec la même adresse MAC.


A première vue, je trouve que ce n'est pas une si mauvaise idée. Je ne
vois pas de bonne raison de relier plusieurs interfaces indépendantes et
actives simultanément d'une machine à un même réseau ethernet.


c'est l'excuse officielle de SUN ;)

patpro

--
http://www.patpro.net/


Avatar
Pascal Hambourg

A première vue, je trouve que ce n'est pas une si mauvaise idée. Je ne
vois pas de bonne raison de relier plusieurs interfaces indépendantes et
actives simultanément d'une machine à un même réseau ethernet.


c'est l'excuse officielle de SUN ;)


Serait-ce une mauvaise excuse, et si oui, pourquoi ?


Avatar
Nicolas George
Serge Sauton wrote in message <459a4056$0$319$:
donc "eth2_rename" à la place de "eth_libre".


C'est bizarre. Tu n'as aucune autre règle udev qui parle du nommage des
interfaces réseau ?

Est-ce lié au problème que tu signalais Nicolas à propos du driver 3com
qui n'affiche pas la chaîne "eth" ?


Non, non, ce n'est pas du tout un problème, juste une illustration du fait
que dmesg n'est pas une source fiable pour avoir une liste du matériel
détecté, surtout d'une manière facilement consultable.

Avatar
patpro ~ Patrick Proniewski
In article <endjq2$18po$,
Pascal Hambourg wrote:


A première vue, je trouve que ce n'est pas une si mauvaise idée. Je ne
vois pas de bonne raison de relier plusieurs interfaces indépendantes et
actives simultanément d'une machine à un même réseau ethernet.


c'est l'excuse officielle de SUN ;)


Serait-ce une mauvaise excuse, et si oui, pourquoi ?


c'est une bonne excuse. Et puis c'est pas la mort, une adresse MAC ça
peut se modifier de manière logicielle.

patpro

--
http://www.patpro.net/



Avatar
Serge Sauton
donc "eth2_rename" à la place de "eth_libre".


C'est bizarre. Tu n'as aucune autre règle udev qui parle du nommage des
interfaces réseau ?


~ ls /etc/udev/rules.d
020_libgphoto2_generic-ptp_support.rules@ z25_persistent-cd.rules
020_permissions.rules@ z25_persistent-net.rules
025_libgphoto2.rules@ z50_run.rules@
025_libsane.rules@ z55_hotplug.rules@
025_logitechmouse.rules@ z60_alsa-utils.rules@
035_kino.rules@
z60_xserver-xorg-input-wacom.rules@
udev.rules@ z75_cd-aliases-generator.rules@
z20_persistent-input.rules@ z99_hal.rules@
z20_persistent.rules@


j'ai fait une recherche de la chaîne "eth" dans chaun des fichiers et je
n'ai rien trouvé de plus...

~ for nom in /etc/udev/rules.d/* ; do; cat $nom | grep "eth" ;done
SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k"
SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k"
SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k"
SUBSYSTEM=="aoe", KERNEL=="revalidate", NAME="etherd/%k"
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:08:54:06:36:23",
NAME="eth_pc-enfant"
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:e0:18:f7:71:0c",
NAME="eth_freebox"
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:26:54:09::f8:75",
NAME="eth_libre"
SUBSYSTEM=="net", DRIVERS=="?*",
ATTRS{address}=="00:e0:18:00:00:11:32:42", NAME="eth3"
SUBSYSTEM=="net", DRIVERS=="?*",
ATTRS{address}=="00:00:00:00:00:03:11:53", NAME="eth4"


où faut-il chercher ailleurs ?

Merci.

--
Serge Sauton


Avatar
Nicolas George
Serge Sauton wrote in message <459a68ea$0$295$:
ATTRS{address}=="00:e0:18:00:00:11:32:42", NAME="eth3"
SUBSYSTEM=="net", DRIVERS=="?*",
ATTRS{address}=="00:00:00:00:00:03:11:53", NAME="eth4"


Essaie de mettre un nom complètement différent à ceux-là. D'ailleurs, les
appeler ethX est complètement grotesque de la part du noyau.

Avatar
Serge Sauton
Essaie de mettre un nom complètement différent à ceux-là. D'ailleurs, les
appeler ethX est complètement grotesque de la part du noyau.


ben oui...

~ cat /etc/udev/rules.d/

#realtek
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:08:54:06:36:23",
NAME="eth_pc-enfant"

#nforce2 nvidia
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:e0:18:f7:71:0c",
NAME="eth_freebox"

#3com
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:26:54:09::f8:75",
NAME="eth_libre"

#Inerfaces firewires
SUBSYSTEM=="net", DRIVERS=="?*",
ATTRS{address}=="00:e0:18:00:00:11:32:42", NAME="firewire1"

SUBSYSTEM=="net", DRIVERS=="?*",
ATTRS{address}=="00:00:00:00:00:03:11:53", NAME="firewire2"


~ ls /sys/class/net
eth1/ eth_freebox/ eth_pc-enfant/ firewire1/ firewire2/ lo/ sit0/

c'est vraiment bizarre...non ?

Merci.

--
Serge Sauton

1 2