Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/09/2015, à 17:29

Tuxophile

Modifier le nom des interfaces réseau avec udev

Bonjour,

Je cherche à modifier le nom des interfaces réseau grâce à udev mais sans résultat pour le moment.
Voici la liste des périphériques réseau sur ma machine:

Bus info                  Device  Class         Description
=================================================
pci@0000:02:00.0  wlan0   network     Wireless 7260
pci@0000:03:00.0  p2p1    network     82583V Gigabit Network Connection
pci@0000:04:00.0  p3p1    network     82583V Gigabit Network Connection

Si je fais un ifconfig j'ai bien mes 3 interfaces (wlan0, p2p1 et p3p1).
Je dois renommer p2p1 en eth0 et p3p1 en eth1.

Je décide donc de modifier le fichier /etc/udev/rules.d/70-persistent-net.rules.
Quand j'ouvre ce fichier j'ai la surprise de n'avoir qu'une seule ligne correspondant à wlan0.

# PCI device 0x8086:0x08b1 (iwlwifi)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="--:--:--:--:--:--", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"

Les interfaces p2p1 et p3p1 ne sont pas présentes...
J'ai pas mal cherché sur le net et j'ai tout essayé pour regénérer le fichier avec les entrées manquantes.

Tentative1:

 
export INTERFACE=p2p1
export MATCHADDR=$(ip addr show $INTERFACE | grep ether | awk '{print $2}')
/lib/udev/write_net_rules

Le script plante. J'ai le message "missing $INTERFACE" alors que un echo de $INTERFACE donne bien p2p1!!
Est ce que c'est une histoire de portée de variable??
Pas moyen d'utiliser cette technique que j'ai vu un peu partout sur internet.


Tentative2:
Saisir manuellement les lignes pour les interfaces manquantes avec leurs addresses MAC et les nouveaux noms

 
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="--:--:--:--:--:--", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="--:--:--:--:--:--", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

Les interface ne sont pas renommées après redémarrage... C'est comme si ces lignes ne servaient à rien.

Tentative3:

J'ai essayé divers commandes que j'ai trouvé sur d'autres forums

udevadm trigger --action=add --subsystem-match=pci
udevadm trigger --action=change
udevadm control --reload-rules

Sans résultat...


Auriez vous une idée? Ce qui m'embête le plus c'est la tentative 1. Je ne comprends vraiment pourquoi ça ne marche pas alors que ça semble fonctionner pour tout le monde.
Merci infiniment pour votre aide

Hors ligne

#2 Le 06/09/2015, à 09:22

Vysserk3

Re : Modifier le nom des interfaces réseau avec udev

Salut,

Concernant la tentative 2 (qui, je pense, est la solution la plus propre), essaye plutôt :

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="aa:bb:cc:dd:ee:ff", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ee:dd:cc:bb:aa", NAME="eth1"

En remplaçant "aa:bb:cc:dd:ee:ff" par l'adresse MAC de p2p1 et "ff:ee:dd:cc:bb:aa" par celle de p3p1 (Il faut aussi bien mettre l'adresse MAC en minuscule).

Les règles que tu as écrites sont trop filtrantes à mon avis.

Pour tester la règle (avec p2p1 par exemple) :

ip link set down p2p1
udevadm --debug test /sys/class/net/p2p1/address

(Source : https://wiki.archlinux.org/index.php/Ne … vice_name)

Dernière modification par Vysserk3 (Le 06/09/2015, à 09:24)

Hors ligne