it-swarm.com.de

Udev: Umbenennen meiner Netzwerkschnittstelle

Ich habe gerade RHEL 6. auf einem Dell 1950-Server installiert. Dieser Server als zwei GBit-Ports, Gb0 und Gb1.

Aus irgendeinem unbekannten Grund wählte udevGbeth1 Und Gb1eth0. Dies ist definitiv kein guter Fund für mich und gibt nur Verwirrung.

Also habe ich die Konfiguration in /etc/udev/rules.d/70-persistent-net.rules Geändert:

# PCI device 0x14e4:0x164c (bnx2)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", \
  ATTR{address}=="00:20:19:52:d3:c0",           \
  ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x14e4:0x164c (bnx2)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", \
  ATTR{address}=="00:20:19:52:d3:be",           \
  ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

Ich habe gerade das Feld "NAME" in der Datei geändert, um zu reflektieren, was ich will. Ich habe den Server neu gestartet und es hat nicht funktioniert.

Im dmesg -Protokoll kann ich Folgendes lesen:

udev: renamed network interface eth1 to rename5
udev: renamed network interface eth0 to eth1
udev: renamed network interface rename5 to eth0

Irgendeine Idee, was hier falsch ist? Warum wechselt udev so? Ich habe einen anderen ähnlichen Server, auf dem ich dieses Problem nicht habe.

20
Hugo

In meinem Fall liegt das Problem daran, dass die Mac-Adresse für jede Schnittstelle in drei Dateien festgelegt wurde:

/etc/udev/rules.d/70-persistent-net.rules
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth1

Wir benötigen Konsistenz zwischen der ifcfg-Datei und net.rules für die Mac-Adresse.

10
Hugo

Obwohl dies ziemlich spät ist, habe ich mein Problem behoben, indem ich das entfernt habe

KERNEL="eth*",

teil der Regel in /etc/udev/rules.d/70-persistent-net.rules Datei. Dies funktioniert, da dieser Teil den Regelabgleich beendet, sobald UDEV das Gerät in "umbenennen *" umbenannt hat. Wenn Sie es entfernen, kann dem richtigen Gerät der richtige Name zugewiesen werden, unabhängig davon, wie UDEV es in der Zwischenzeit genannt hat.

10
Ancaglon

Ich konnte dies beheben, indem ich einfach /etc/udev/rules.d/70-persistent-net.rules Löschte und neu startete.

6
Clayton Dukes

haben Sie versucht, ein Leerzeichen /etc/udev/rules.d/80-net-name-slot.rules zu erstellen?

seit Udev v197 hat udev vorhersehbare Netzwerkschnittstellennamen implementiert. Wenn Sie in diesem Pfad eine leere Datei erstellen und dann neu starten, sollten Ihre Schnittstellennamen wieder so sein, wie sie waren.

ich beantwortete eine ähnliche Frage unter: Creating eth0 with consistent network device naming

1
cesar

Dies kann auch vorkommen, weil eth0, eth1, wlan0, wlan1 usw. Standard-Kernelnamen sind (im Fall einer nicht persistenten Schema-Benennung). In der udev-Dokumentation heißt es:

NAME

Der Name, der für eine Netzwerkschnittstelle verwendet werden soll. Unter systemd.link (5) finden Sie einen übergeordneten Mechanismus zum Festlegen des Schnittstellennamens. Der Name eines Geräteknotens kann nicht geändert werden von udev können nur zusätzliche Symlinks erstellt werden.

Verwenden Sie daher niemals eth *, wlan * usw. Namen für udev-Regeln.

0
cy8g3n