Ändern Sie die Mac-Adresse dauerhaft in / etc / network / interfaces

9

FRAGE:

Wie kann ich die Mac-Adresse der Schnittstellen enp3s0 und wlp2s0 über die Datei / etc / network / interfaces spezifisch ändern ? Welchen Code müsste ich einschließen? Ich habe es seit einiger Zeit leider ohne Erfolg versucht.


AUSARBEITEN:

Daher fand ich diesen großartigen Artikel online, in dem erklärt wurde, wie eine Mac-Adresse dauerhaft über die Datei / etc / network / interfaces auf meinem Ubuntu geändert werden kann .

In dem Artikel heißt es:

Platzieren Sie auf Debian-, Ubuntu- und ähnlichen Systemen Folgendes im entsprechenden Abschnitt von / etc / network / interfaces (innerhalb einer iface-Zeilengruppe, z. B. direkt nach der Gateway-Zeile), damit die MAC-Adresse beim Starten des Netzwerkgeräts festgelegt wird ::

hwaddress ether 02: 01: 02: 03: 04: 08

Quelle: https://en.wikibooks.org/wiki/Changing_Your_MAC_Address/Linux

Wenn ich jetzt den folgenden Code verwende:

cat /etc/network/interfaces

Ich bekomme folgende Ausgabe

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

Und wenn ich ifconfig auf meinem Ubuntu mache, bekomme ich 3 verschiedene Schnittstellen zurück:

  • enp3s0

  • siehe da

  • wlp2s0

Ich möchte die Mac-Adresse aller meiner Schnittstellen (enp3s0, wlp2s0) ändern (lo ist Loopback, daher ist dies nicht erforderlich), bin jedoch mit den Befehlen in der Datei / etc / network / interfaces nicht vertraut . Ich habe mir Online-Tutorials angesehen, obwohl ich anscheinend nicht alles richtig machen kann, und mein Computer hat sich einige Male danach sogar sehr seltsam verhalten.

Webeng
quelle

Antworten:

12

Verwenden Sie den hwaddress etherKonfigurationsblock in Ihrer Schnittstelle. Beispiel:

auto enp3s0
iface enp3s0 inet static
    address 192.0.2.7
    netmask 255.255.255.0
    gateway 192.0.2.254
    hwaddress ether 00:11:22:33:44:55

oder, wenn dhcp:

allow-hotplug enp3s0
iface enp3s0 inet dhcp
    hwaddress ether 00:11:22:33:44:55

Ein Detail, das ich übersehen habe: Das hwaddressKonfigurationselement muss nach der Zeilengruppe Gateway stehen, wenn Sie eine statische IP-Adresse festlegen.

Verwandte Dinge: Gute detaillierte Erklärung der Syntax von / etc / network / interfaces?

Wenn Sie jedoch Probleme beim Wechseln des Mac haben, können network/interfacesSie dies tunudev

udev-Methode - Erstellen Sie die Datei etc/udev/rules.d/75-mac-spoof.rulesmit folgendem Inhalt:

ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="XX:XX:XX:XX:XX:XX", RUN+="/usr/bin/ip link set dev %k address YY:YY:YY:YY:YY:YY"

Sie können dies auch mit systemd-Einheiten tun, wie hier erläutert: Ändern des Mac mithilfe von systemd-Einheiten . Aber am Ende des Tages sind sie auch nur Wrapper für die Ausführung von ip link setund macchanger.


quelle
danke für den post nwildner! Ich habe 2 Fragen über den Code oben, würde ich ersetzen eth0mit enp3s0in diesem Fall? Ersetze ich auch für drahtlose Netzwerke nur denselben Teil durch wlps20?
Webeng
Ich habe Ihren Code ausprobiert und als ich ihn durch ersetzte enp3s0, hat er tatsächlich funktioniert! Als ich dann das Gleiche anhängte, aber beim wlp2s0Ersetzen enp3s0und Ändern der Mac-Adresse in 00:11:22:33:44:56, bekam ich den folgenden Fehler sudo /etc/init.d/networking restart:[....] Restarting networking (via systemctl): networking.serviceJob for networking.service failed because the control process exited with error code. See "systemctl status networking.service" and "journalctl -xe" for details.
Webeng
@ Webeng. Das stimmt. Sie müssen lediglich den Schnittstellennamen in den Namen Ihres Systems ändern und den networkingDienst neu starten . Haben Sie die journalctl -xeAusgabe, um zu sehen, was passiert?
Der allererste Vorschlag passt zu meinem Bedarf. Er ermöglicht mir eine feste lokale IP-Adresse und eine permanente MAC-Adresse. Die zweite Option funktionierte in meinem Fall trotz des Vorhandenseins eines DHCP in meinem Heimrouter nicht, wahrscheinlich weil etwas mit udev nicht stimmte, aber ich habe es nicht untersucht. Eigentlich sehe ich kein Interesse daran, das DHCP-Attribut die lokale IP-Adresse einem Computer zu überlassen, der permanent mit dem Internet verbunden ist. Die Verwendung von "statisch" kann auch dann sinnvoll sein, wenn DHCP funktioniert.
Gouessej
1

Um Ihre MAC-Adresse dauerhaft zu ändern, fügen Sie die folgende Zeile an Ihre an /etc/network/interfaces:

pre-up ifconfig <interface> hw ether xx:xx:xx:yy:yy:yy

NM setzt Ihre Mac-Adresse während des WLAN-Scans zurück. Sie können Ihre Adresse /etc/NetworkManager/NetworkManager.confwie folgt bearbeiten :

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

[device]
wifi.scan-rand-mac-address=no

[keyfile]

Dann neu starten

Es gibt ein paar nützlichen Informationen über die Mac-Adresse der Randomisierung während des Wi - Fi - Scanning auf Arch-linux.wiki :

Konfigurieren der MAC-Adress-Randomisierung

Ab Version 1.4.0 unterstützt NetworkManager zwei Arten der MAC-Adress-Randomisierung: Randomisierung während des Scannens und stabile Randomisierung. Beide Modi können durch Ändern konfiguriert werden /etc/NetworkManager/NetworkManager.conf.

Die Randomisierung während des Wi-Fi-Scannens ist ab Version 1.2.0 standardmäßig aktiviert und kann durch Hinzufügen der folgenden Zeilen zu deaktiviert werden /etc/NetworkManager/NetworkManager.conf:

[device] wifi.scan-rand-mac-address=no

GAD3R
quelle
Hallo GAD3R, danke für die Antwort! Ich habe versucht, Ihren vorherigen Code in die /etc/network/interfacesDatei aufzunehmen. Das Ergebnis war, dass ich tatsächlich die Mac-Adresse geändert habe, allerdings nur, wenn ich nicht mit einer Verbindung verbunden war. Immer wenn ich eine Verbindung zu einem WLAN herstellte, wurde die permanente Mac-Adresse wiederhergestellt. Wenn ich die Verbindung zur WLAN-Verbindung trennte, wurde die neue Mac-Adresse xx:xx:xx:yy:yy:yywiederhergestellt. Wenn ich jedoch erneut eine Verbindung herstellte, wurde die permanente Verbindung erneut verwendet.
Webeng
@ Webeng Bitte starten Sie neu und testen Sie es
GAD3R
1
Neustart und gleiches Ergebnis. Die Mac-Adressen werden geändert, solange ich nicht mit einer WLAN-Verbindung verbunden bin. Wenn ich eine Verbindung zu einem herstelle, wird die permanente Mac-Adresse beim Ausführen erneut ifconfig
angezeigt
-4

Die MAC-Adresse ist in ihrem WLAN-Gerät registriert und kann normalerweise nicht in eine andere MAC-Adresse geändert werden.
Wenn Sie also die MAC-Adresse ändern, müssen Sie zwangsläufig ein anderes WLAN-Gerät verwenden.
Wie Sie in dem Kommentar erwähnt haben, dass nach dem
Neustart dieselbe MAC-Adresse erneut angezeigt wird, liest das Betriebssystem die MAC-Adresse einfach vom WLAN-Gerät aus.
Dies ist normales Verhalten.

Übrigens können Sie in der virtuellen Umgebung die MAC-Adresse frei einrichten.

go-emon
quelle
So war es vor langer Zeit geplant. Ich habe die Erfahrung gemacht, dass eingebettete Geräte, die U-Boot verwenden (z. B. alle Android-Telefone), den MAC immer vom Betriebssystem aus eingestellt haben (oder beim Booten zufällig generieren) und daher nicht behoben sind. Auch Linux hat Möglichkeiten, die MAC-Adresse festzulegen, daher glaube ich, dass der Plan, MAC an Hardware zu binden, heute völlig veraltet ist.
JPT