Wie ändere ich eine wlan0 Mac-Adresse?


11

Ich habe das Miniatur-WLAN-Modul von ADAFruit ( http://www.adafruit.com/products/814 ) gekauft und mich gefragt, ob es möglich ist, die damit verbundene MAC-Adresse zu ändern. Ich habe versucht, den folgenden Code zu verwenden:

sudo ifdown wlan0

sudo ifconfig wlan0 hw ether 00:11:22:33:44:55

sudo ifup wlan0

oder

sudo ifdown wlan0

sudo macchanger -r wlan0

sudo ifup wlan0

oder durch Hinzufügen einer Zeile in /etc/network/interfaces

hwaddress ether 00:11:22:33:44:55

Bei Verwendung wird lsusbdas Gerät als "Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN-Adapter" angezeigt. In /etc/hostapd/hostapd.conf, driver=rtl1871xdrv. Ich verwende ISC DHCP Server.

Das Gerät funktioniert anders. Ich möchte nur die MAC-Adresse ändern können


Diese Frage hat absolut nichts mit Raspberry Pi zu tun. Bitte wählen Sie einen anderen Abschnitt von StackExchange für diese Art von Anfrage.
— Lenik

2
Oh, tut mir leid. Ich habe Raspbian benutzt, also sah es nach einem guten Ort aus, um es auszudrücken. Ich werde einen anderen Ort finden.
— Joseph

Bei einigen Treibern muss das Gerät dafür bereit sein. Versuchen Siesudo ifconfig wlan0 up ; sudo macchanger -r wlan0
— M Noit

Leider funktioniert das auch nicht. Es hat den Fehler "Permanenter MAC kann nicht gelesen werden: Vorgang wird nicht unterstützt. Obwohl für den NEUEN MAC eine Ausgabe vorhanden ist, zeigt ifconfig die alte MAC-Adresse an.
— Joseph

Antworten:


4

Für "Raspbian GNU / Linux 8 (jessie)" (cat / etc / os-release) "Raspberry Pi reference 2017-06-21" (cat / etc / rpi-issue) (möglicherweise auch 2017-07-05) ( danke @Heinrich Ulbricht) und früher siehe meine Antwort hier .

Für "Raspbian GNU / Linux 9 (Stretch)" (cat / etc / os-release), "Raspberry Pi reference 2017-08-16" (cat / etc / rpi-issue) (möglicherweise auch 2017-07-05) und später änderten sich die Dinge. Zum Beispiel eth0wird jetzt der vorhersagbare Name der Netzwerkschnittstelle von systemd aufgelistet enxb827ebxxxxxx. Also hat meine vorherige Methode via if-pre-up.daufgehört zu arbeiten.

Stattdessen können Sie systemddie Datei /etc/systemd/network/00-mac.linkwie hier beschrieben verwenden und erstellen :

[Match]
OriginalName=wlan0

[Link]
MACAddress=b8:27:eb:xx:xx:xx
NamePolicy=kernel database onboard slot path

2
Bestätigte Arbeit mit Raspian Stretch Lite. Ein großes Lob, Frank.
— Josh Habdas

1
Bestätigung auch, dass es mit Raspbian GNU / Linux 9 funktioniert.
— Tippfehler

1
Ich habe gerade den zweiten auf Buster gemacht und es hat funktioniert. Günstige chinesische Ethernet-Adapter hatten dieselbe MAC-Adresse. ~ 1,20 $ für 3x USB und Ethernet, kann sich aber nicht allzu sehr beschweren.
— YetAnotherRandomUser

2

Ich hatte das gleiche Problem - die meisten Standardmethoden schienen bei der Himbeere nicht zu funktionieren.

Meine Situation war etwas anders - ich habe einen Raspberry PI B, bei dem der Ethernet-Chip gestorben ist, und deshalb habe ich einen USB-Ethernet-Adpater verwendet. Der Adapter ist möglicherweise nicht von höchster Qualität, da er keine eindeutige MAC-Adresse hatte. Der Adapter ist zugeordneteth1

Ich habe die Antwort von enzorik hier gefunden ... http://www.raspberrypi.org/forums/viewtopic.php?f=6&t=5486 , hat für mich gearbeitet. Im Wesentlichen...

Erstellen Sie ein neues Skript: sudo nano /etc/init.d/mac.sh

In dieses Skript einfügen (MAC-Adresse nach Bedarf festlegen) ...

#! /bin/sh
ifconfig eth1 down hw ether 00:00:00:00:00:00
ifconfig eth1 up 

Machen Sie es ausführbar: sudo chmod +x /etc/init.d/mac.sh

Dann renne: sudo update-rc.d /etc/init.d/mac.sh defaults


Ich würde vorschlagen, mac.sh lieber in /etc/network/if-pre-up.d/ zu speichern. Dadurch wird die Verwendung von vermieden update-rc.d. Siehe meine Antwort unten.
— Frank Breitling

Ich bin auf dasselbe Problem gestoßen. Ich werde es versuchen. Der Forum-Link, auf den Sie verweisen, ist jedoch nicht mehr gut.
— YetAnotherRandomUser

2

Für "Raspbian GNU / Linux 9 (Stretch)" (cat / etc / os-release), "Raspberry Pi reference 2017-08-16" (cat / etc / rpi-issue) (möglicherweise auch 2017-07-05) und später meine Antwort hier .

Für "Raspbian GNU / Linux 8 (jessie)" (cat / etc / os-release), "Raspberry Pi reference 2017-06-21" (cat / etc / rpi-issue) (danke @Heinrich Ulbricht) (vielleicht auch 2017) -07-05) und früher

Sie können das folgende Skript hinzufügen /etc/network/if-pre-up.d/mac:

#!/bin/sh

if [ "$IFACE" = wlan0 ]; then
    ip link set dev "$IFACE" address b8:27:eb:xx:xx:xx
fi

und machen es ausführbar mit

chmod +x /etc/network/if-pre-up.d/mac

Dies sollte mit systemd funktionieren und robuster sein als die ältere update-rc.dMethode.


1
Erfolgreich getestet mit "Raspbian GNU / Linux 8 (jessie)" ( cat /etc/os-release), "Raspberry Pi reference 2017-06-21" ( cat /etc/rpi-issue). (Ich dokumentiere dies, um den Release-Frame einzugrenzen, für den es funktioniert, da Ihre zweite Antwort darauf hindeutet, dass es irgendwann nicht mehr funktioniert.)
— Heinrich Ulbricht

1
Beachten Sie, dass diese Methode bei Raspian Stretch nicht funktioniert. Zum Glück fügte Frank eine zweite Antwort hinzu und beide sind technisch immer noch korrekt.
— Josh Habdas

Ich habe gerade die verknüpfte Antwort auf Buster gemacht und es hat funktioniert. Günstige chinesische Ethernet-Adapter hatten dieselbe MAC-Adresse. ~ 1,20 $ für 3x USB und Ethernet, kann sich aber nicht allzu sehr beschweren.
— YetAnotherRandomUser

1

Es ist möglich , Ihre Mac-Adresse zu ändern, dies ist jedoch eine Funktion der Hardware und der Treiber.

Ich war erfolgreich mit zwei WLAN-Adaptern TL-WN722N und dem Alfa AWUS036H

Sie sollten sich jedoch bewusst sein, dass der Alfa AWUS036H über einen USB-Hub mit Strom versorgt werden muss. Wenn Sie versuchen, es direkt vom Pi aus auszuführen, erhalten Sie Kernel-Panik.

service ifplugd stop

service wicd stop

ifconfig wlan0 down

macchanger -r wlan0 

ifconfig wlan0 up

Viel Glück


1

Für den 8192cu-Treiber können Sie dies tun, indem Sie die Datei erstellen /etc/modprobe.d/8192cu.conf (der Dateiname spielt keine Rolle, sollte aber eine .confErweiterung haben) und eine Zeile hinzufügen, die wie folgt aussieht:

options 8192cu rtw_initmac="XX:XX:XX:XX:XX:XX"

Dabei ist "XX: XX: XX: XX: XX: XX" die statische MAC-Adresse


1
Ich habe genau das gleiche Modell RTL8188CUS und dies ist die einzige Lösung, die funktioniert hat. Vielen Dank!
— Rucent88
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.