Wie erkennt man automatisch eine neue Netzwerkkarte in CentOS 6/RedHat?

Wie erkennt man automatisch eine neue Netzwerkkarte in CentOS 6/RedHat?

Ich verwende CentOS 6 in einer virtuellen Umgebung. Beim Klonen einer virtuellen Version von CentOS werden die alten ETH-Adapter „entfernt“ und durch neue und Net-MAC-Adressen ersetzt. Die ifcfg-ethn-Dateien sind jedoch weiterhin vorhanden. Ich versuche herauszufinden, wie ich CentOS dazu bringen kann, die Netzwerkadapter/ETH-Dateien automatisch neu zu scannen und neu zu erstellen, genau wie es bei der Installation der Fall war.

Ansonsten bleibt mir nur der langwierige Prozess, wie hier beschrieben:http://www.centos.org/docs/5/html/Installation_Guide-en-US/s1-s390info-addnetdevice.html

Ich weiß, dass es dafür eine schnelle Möglichkeit in der GUI gibt, aber wir verwenden einen Server, sodass die GUI in diesem Fall nicht funktioniert. Hilfe?

Bearbeiten: @OldWolf hat Kudzu vorgeschlagen, aber Kudzu wurde ab Centos 5 entfernt, daher würde ich das lieber vermeiden. Es gibt ein Verfahren, das Linux bei der Erstinstallation ausführt – kann mir jemand helfen, herauszufinden, was das ist, damit ich es manuell auslösen kann?

Antwort1

Mit CentOS 6 wird jetzt alles von udev gehandhabt. Gehen Sie hinein /etc/udev/rules.d, löschen Sie die 70-persistent-net.rulesDatei und starten Sie neu. Wenn Sie sie vorher öffnen, sehen Sie höchstwahrscheinlich die ursprüngliche NIC-MAC als eth0und die neue als aufgeführt eth1.

Jetzt müssen Sie /etc/sysconfig/network-scripts/ifcfg-eth0die MAC Ihrer neuen NIC-Karte bearbeiten und manuell aktualisieren.

Durch das Löschen der Datei wird der Erkennungsprozess beim Booten erneut ausgeführt, ohne dass Reste des Klonvorgangs, nämlich die alten NIC-MAC-Adressen, übrig bleiben.

Ich muss das ständig mit meinen CentOS 6-Klonen auf VMware ESXi 4.1 machen. Es ist ein Ärgernis, das Kudzu in der Vergangenheit mit früheren Versionen einfach erledigt hat.

Antwort2

Löschen Sie die persistente Regeldatei:

rm /etc/udev/rules.d/70-persistent-net.rules

ifcfg-eth0 bearbeiten:

nano /etc/sysconfig/network-scripts/ifcfg-eth0

ENTFERNEN Sie die HWADDRZeile vollständig (oder ändern Sie sie, sodass sie mit der MAC-Adresse Ihrer neuen Netzwerkkarte übereinstimmt).

Starten Sie Ihr System neu:

reboot

Wenn Sie die Netzwerkkarte erneut ändern, wiederholen Sie einfach die Schritte 1 und 3.

Antwort3

Sie können dieses Tool auch verwenden (Dies ist kein GUI-Tool, sondern ein TUI-Tool, eine textbasierte Benutzeroberfläche).

[root@localhost ~]# system-config-network-tui

Geben Sie den obigen Befehl ein und drücken Sie die Eingabetaste

Dann erscheint dieser Bildschirm

Bildbeschreibung hier eingeben

Wählen Sie Gerätekonfiguration und drücken Sie die Eingabetaste

Dann erscheint dieser Bildschirm

Bildbeschreibung hier eingeben

Hier bezieht sich eth0/etc/sysconfig/network-scripts/ifcfg-eth0

Die darin vorgenommenen Änderungen eth0wirken sich unabhängig von der ifcfg-eth0Datei aus

Antwort4

Ich erstelle und lösche so viele virtuelle CentOS 6-Maschinen, dass ich etwas Bashfu geschrieben habe, um eth0 beim Klonen in VirtualBox zu reparieren.

   [root@jp-xm-base ~]# cat fixeth0.sh
if grep -q eth1 /etc/udev/rules.d/70-persistent-net.rules; then
   sed -i '/eth0/d' /etc/udev/rules.d/70-persistent-net.rules;
   sed -i 's/eth1/eth0/g' /etc/udev/rules.d/70-persistent-net.rules;
   ETHERNET=`grep eth0 /etc/udev/rules.d/70-persistent-net.rules | awk -F"," '{print $4}' | awk -F"\"" '{print $2}'`;
   echo Ethernet Addr: $ETHERNET;
   sed -i 's/HWADDR=".*"/HWADDR="'$ETHERNET'"/' /etc/sysconfig/network-scripts/ifcfg-eth0;
   /sbin/start_udev
   /sbin/service network restart;
fi

verwandte Informationen