dmesg.fr:~#

display message

Installer ou remplacer une carte réseau sous Linux

carte reseauPartons de la situation suivante : un PC est équipé d'une carte réseau nommée eth0. Celle-ci tombe en panne. Vous la remplacez. Au redémarrage du système, eth0 ne répond plus, mais vous vous retrouvez avec une carte réseau nommée eth1. Votre réseau ne fonctionne plus.

Cas similaire : vous migrez une machine virtuelle Linux sur un nouveau serveur. Vous rencontrez le même problème.


Principe

A chaque redémarrage de machine, ou dès l'apparition d'un nouveau périphérique, udev récupère un certain nombre d'informations de ce périphérique.

Dans le cas d'une carte réseau, udev récupère son adresse MAC et créé une règle qui est stockée dans le fichier /etc/udev/rules.d/70-persistent-net.rules

Exemple de configuration :

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:67:4b:cc", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"


A chaque redémarrage, udev consulte l'ensemble de ces règles pour réattribuer les mêmes noms. Dans le cas ci-dessus, le nom eth0 sera attribué à la carte réseau dont l'adresse MAC est 08:00:27:67:4b:cc


Problème

Lorsque vous installez une nouvelle carte réseau, celle-ci n'a plus la même adresse MAC que la précédente. Lors du redémarrage de la machine, la nouvelle carte réseau se verra attribuer le nom eth1, car le nom eth0 existe déjà et est configuré pour l'ancienne carte.

Exemple : le fichier /etc/udev/rules.d/70-persistent-net.rules contiendra :

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:67:4b:cc", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:2f:2f:a1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"


Le réseau ne sera donc pas fonctionnel, car le fichier /etc/network/interfaces est configuré avec eth0.


Résolution du problème

Pour que la nouvelle carte réseau ait de nouveau le nom eth0, il suffit de supprimer le fichier/etc/udev/rules.d/70-persistent-net.rules et de redémarrer la machine. Etant donné que l'ancienne règle n'existera plus, la nouvelle carte réseau se verra attribuer le nom eth0. Votre réseau fonctionnera à nouveau, sans modifier de fichier de configuration.


Copyright dmesg.fr - All Rights Reserved.