Richtige Methode zum Ändern der MAC-Adresse in einer Linux-VM?

Richtige Methode zum Ändern der MAC-Adresse in einer Linux-VM?

Ich habe versucht, die MAC-Adresse in einer Ubuntu-VM (Virtualbox) zu ändern, danach traten jedoch beim Booten zahlreiche Fehler auf und ich hatte keine Internetverbindung.

Dann sah ich, dass die Schnittstelle in eth1 umbenannt worden war. Ich bearbeitete also /etc/network/interfaces, um eth0 in eth1 zu ändern, führte einen Neustart durch (ich wusste nicht, wie man das Netzwerk neu startet) und der Bootvorgang ging nun schneller und das Internet funktionierte einwandfrei.

Aber jetzt erhalte ich bei jeder Anmeldung 1 oder 2 Fehlermeldungen, die nichts aussagen. Ich werde lediglich gefragt, ob ich sie melden möchte.

Daher habe ich mich gefragt, ob es eine richtige Möglichkeit gibt, die MAC-Adresse zu ändern, um diese Probleme zu vermeiden?

Antwort1

Sie verwenden höchstwahrscheinlich die „richtige“ Methode zum Ändern der MAC-Adresse, wenn Sie dies in den erweiterten Netzwerkeinstellungen in VirtualBox tun. Eine vorübergehende Änderung wie in der anderen Antwort von Zuul ist für Ihre Zwecke jedoch möglicherweise am besten geeignet, da dadurch die MAC-Adresse geändert wird, ohne zu viele zusätzliche Probleme zu verursachen. Allerdings übersteht sie einen Neustart nicht.

Wenn Sie es in VirtualBox ändern, bleibt es natürlich auch nach einem Neustart erhalten, aber Ihr Problem betrifft udev. Dies ist der Prozess, der die Hardware überprüft und einrichtet /dev(oder was auch immer sonst getan werden muss). Eine der standardmäßigen Aufgaben besteht darin, dauerhafte Namen für Netzwerkschnittstellenkarten [NICs] beizubehalten. Dies liegt daran, dass Sie bei mehreren NICs immer denselben ethX-Namen haben möchten, damit Ihre /etc/network/interfacesKonfiguration bei jedem Start auf die richtige NIC abzielt. Das Betriebssystem kann sich nicht darauf verlassen, dass sie jedes Mal physisch an derselben Stelle sind – Sie können sie beispielsweise verschieben, oder einige Systeme melden ihre physischen Verbindungen bei jedem Start nicht in derselben Reihenfolge.

Verwendet also udevPersistenzregeln basierend auf der MAC-Adresse der Netzwerkkarte. Wenn es einen Eintrag für eth1 mit einer bekannten MAC-Adresse gibt und eine Karte mit einer anderen MAC-Adresse erscheint, wird der Schnittstelle ein anderer ethX-Gerätename zugewiesen.

Um dem entgegenzuwirken, müssen Sie lediglich die udevRegeln aktualisieren. Bearbeiten:

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

und suchen Sie nach der Zeile mit Ihrer aktuellen MAC:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="11:22:33:44:55:66", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

Wenn Sie die MAC-Adresse hier auf die neue Adresse ändern, die Sie in den VirtualBox-Einstellungen ausgewählt haben, bleibt beim nächsten Start dieselbe ethX-Entwicklernummer erhalten.

Die beste Reihenfolge wäre wahrscheinlich, es zuerst hier zu bearbeiten, dann die VM herunterzufahren, dann die VB-MAC-Einstellung zu bearbeiten und dann hochzufahren.

Antwort2

Sie können die MAC-Adresse in 4 einfachen Schritten ändern mitifconfig:

Öffnen Sie ein Terminal (Tastaturkürzel: ctrl+ alt+ t)

  1. So finden Sie die aktuelle Mac-Adresse:

    ifconfig | grep HWaddr
    
  2. Fahren Sie die Schnittstelle herunter (vorausgesetzt, dies ist eth0für die nächsten Schritte vorgesehen) :

    ifconfig eth0 down
    
  3. Legen Sie die neue Mac-Adresse fest:

    ifconfig eth0 hw ether 00:1E:68:35:FF:91
    
  4. Flag bewirkt die Aktivierung der Schnittstelle:

    ifconfig eth0 up
    

Jetzt können Sie die MAC-Adresse Ihrer Schnittstelle noch einmal überprüfen:

ifconfig eth0 |grep HWaddr

Notiz:Sie können als Ihre MAC-Adresse eine beliebige 48-Bit-Hexadezimaladresse wählen.


Der Vollständigkeit halber können Sie die Schritte 2 und 3 in einer Zeile zusammenfassen:

ifconfig eth0 down hw ether 00:00:00:00:00:01

verwandte Informationen