it-artikel:udev-unter-vmware-autom.-aendern-der-netzwerk-interface-namen-verhindern

UDEV unter VMWARE - autom. ändern der Netzwerk Interface Namen verhindern

Die Netzwerk-Interfaces (NIC) der Virtuellen Maschinen (VM) neigen bei Ein- bzw Ausbau einer weiteren NIC in einer VM leider dazu die “Interface Namen” zu ändern. d.h. aus eth0 wird womöglich plötzlich eth1 und umgekehrt oder es kommen unerwartet weitere Namen wie eth2 und eth3 dazu. Das Ergebnis ist eine zunächst nicht mehr funktionsfähige Netzwerkkonfiguration.

Das anlegen einer manuellen UDEV Regel kann hier Abhilfe schaffen. Natürlich muss man diese Regel entsprechend seiner verwendeten Netzwerkkarten (MAC Adressen) anpassen, da ansonsten wertlos.

Hintergrund:

Zitat man Page udev: “udev provides a dynamic device directory containing only the files for actually present devices. It creates or removes device node files in the /dev directory, or it renames network interfaces.”

d.h. also UDEV ist AUCH für die Vergabe der Interface-Namen verantwortlich und schuld daran wenn die Interface Namen z.b. durch eine Umbauaktion durcheinander fliegen sollten.

Doch warum ist das so? Sollten die Interface Namen der Netzwerkkarten nicht bestehen bleiben?

Doch! Aber aus irgend einem uns unbekannten Grund haben die Entwickler der UDEV Komponente eine Ausnahmeregel für VMWARE basierende virtuelle Netzwerkkarten eingebaut. d.H. bei echten physikalischen Netzwerkkarten wird dieser Fall wohl nie eintreffen das bei Ein- bzw Umbau von Network Interface Cards (NICs) sich die Interface-Namen ändern. Handelt es sich jedoch um “virtuelle” NICs mit VMWARE typischen MAC Adressen, so sorgt UDEV in diesem Fall nicht mehr automatisch dafür dass die alten Interface-Namen gleich bleiben. Es kann also zum verwerfen der alten Namen bzw zu einer Neuordnung kommen.

Wie lässt sich das verhindern?

Bei physikalischen Interfaces legt sich UDEV selbstständig sog. “UDEV Regeln” an welche die Zuordnung von MAC Adresse zu Interface-Name enthalten. Im Falle der virtuellen NICs macht UDEV das nicht.

Um dennoch die bisherigen Interface-Namen an die bereits vorhandenen NICs zu binden muss man sich nun diese Regel eben einfach selbst bauen. Dazu legt man sich die hier nachfolgend gezeigte Regeldatei unterhalb von /etc/udev/rules.d/ an und passt sich diese entsprechend seiner bereits vorhandenen Netzwerkkarten an.

Anmerkung:

Dies sollte man möglichst VOR dem Einbau oder Umbau der NICs innerhalb der VM tun, damit sich die bereits vorhandenen Interface-Namen nicht mehr ändern bzw nach dem Reboot wieder richtig zugeordnet werden können. Hinterher geht es zwar auch, jedoch muss man sich noch an die original Zusammensetzung erinnern und die Netzwerkumgebung ist schlimmstenfalls erst mal dahin.

Hier nun ein Beispiel für eine solche Regeldatei. Der gezeigte Dateiname ist nur ein Vorschlag. Er hat sich bei mehreren Debian 5 VMs bewährt.

/etc/udev/rules.d/10-meine-netinterfaces.rules

10-meine-netinterfaces.rules
# Die MAC Adressen virtueller VMWARE Interfaces sind
# in den standard UDEV Regeln ausgenommen (excluded)
# daher sollte man eigene zusätzliche udev Regeln
# erzeugen um den eingebauten virtuellen NICs feste
# Interface-Namen zu geben (eth0 eth1 usw)
#
#
#
#eth0
#
KERNEL=="eth*", SYSFS{address}=="00:0c:29:25:95:50", NAME="eth0"
#
#
#eth1 - hostonly interface
#
KERNEL=="eth*", SYSFS{address}=="00:0c:29:25:95:5a", NAME="eth1"
#
#
#eth2 - USV LAN interface
#
KERNEL=="eth*", SYSFS{address}=="00:0c:29:25:95:64", NAME="eth2"
#
#
#
#
#

Axel Werner 2011-01-02 00:33

it-artikel/udev-unter-vmware-autom.-aendern-der-netzwerk-interface-namen-verhindern.txt · Last modified: 2011-01-02 00:34 by mail@awerner.myhome-server.de