Come cambiare un indirizzo mac wlan0?


11

Ho acquistato il modulo WiFi in miniatura da ADAFruit ( http://www.adafruit.com/products/814 ) e mi chiedevo se fosse possibile cambiare l'indirizzo MAC ad esso associato. Ho provato a usare il seguente codice:

sudo ifdown wlan0

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

sudo ifup wlan0

o

sudo ifdown wlan0

sudo macchanger -r wlan0

sudo ifup wlan0

o aggiungendo una linea in /etc/network/interfaces

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

Quando si utilizza lsusbil dispositivo viene visualizzato come "Adattatore WLAN Realtek Semiconductor Corp. RTL8188CUS 802.11n". In /etc/hostapd/hostapd.conf, driver=rtl1871xdrv. Sto eseguendo ISC DHCP Server.

Il dispositivo funziona diversamente. Voglio solo essere in grado di cambiare l'indirizzo MAC


Questa domanda non ha assolutamente nulla a che fare con Raspberry Pi, per favore, scegli un'altra sezione di StackExchange per questo tipo di richiesta.
lenik,

2
mi dispiace. Stavo usando Raspbian, quindi sembrava un buon posto per dirlo. Troverò un'altra posizione.
Joseph,

Alcuni driver richiedono che il dispositivo sia in grado di farlo. Provasudo ifconfig wlan0 up ; sudo macchanger -r wlan0
M Noit,

Sfortunatamente neanche questo funziona. Ha l'errore "Impossibile leggere MAC permanente: Operazione non supportata. Anche se esiste un output per il NUOVO MAC, ifconfig mostra il vecchio indirizzo MAC.
Joseph,

Risposte:


4

Per "Raspbian GNU / Linux 8 (jessie)" (cat / etc / os-release), "Raspberry Pi reference 2017-06-21" (cat / etc / rpi-issue) (forse anche 2017-07-05) ( grazie @Heinrich Ulbricht) e prima vedi la mia risposta qui .

Per "Raspbian GNU / Linux 9 (stretch)" (cat / etc / os-release), "Raspberry Pi reference 2017-08-16" (cat / etc / rpi-issue) (forse anche 2017-07-05) e successivamente le cose sono cambiate. Ad esempio, eth0ora è elencato dal nome dell'interfaccia di rete prevedibile di systemd enxb827ebxxxxxx . Quindi il mio metodo precedente via ha if-pre-up.dsmesso di funzionare.

Invece puoi usare systemde creare il file /etc/systemd/network/00-mac.linkcome spiegato qui :

[Match]
OriginalName=wlan0

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

2
Confermato il lavoro con Raspian Stretch Lite. Kudos, Frank.
Josh Habdas,

1
Confermando anche che funziona con Raspbian GNU / Linux 9.
refuso

1
Ho appena fatto il secondo su Buster e ha funzionato. Gli adattatori Ethernet cinesi economici hanno lo stesso indirizzo MAC. ~ $ 1,20 per 3x USB ed Ethernet, tuttavia, non posso lamentarmi troppo.
YetAnotherRandomUser

2

Ho avuto lo stesso problema: la maggior parte dei metodi standard per farlo non sembra funzionare con il lampone.

La mia situazione era un po 'diversa: ho un Raspberry PI B in cui il chip Ethernet è morto e quindi ho usato un adattatore USB-Ethernet. L'adattatore forse non è della massima qualità in quanto non aveva un indirizzo MAC univoco. L'adattatore è assegnato aeth1

Ho trovato la risposta di enzorik qui ... http://www.raspberrypi.org/forums/viewtopic.php?f=6&t=5486 , ha funzionato per me. Essenzialmente...

Crea un nuovo script: sudo nano /etc/init.d/mac.sh

Incolla in questo script (imposta il tuo indirizzo MAC come richiesto) ...

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

Renderlo eseguibile: sudo chmod +x /etc/init.d/mac.sh

Quindi eseguire: sudo update-rc.d /etc/init.d/mac.sh defaults


Suggerirei piuttosto di salvare mac.sh in /etc/network/if-pre-up.d/. Questo eviterà l'utilizzo di update-rc.d. Vedi la mia risposta qui sotto.
Frank Breitling,

Ho riscontrato questo stesso problema. Ci proverò. Ma il link al forum a cui ti riferisci non è più valido.
YetAnotherRandomUser

2

Per "Raspbian GNU / Linux 9 (stretch)" (cat / etc / os-release), "Raspberry Pi reference 2017-08-16" (cat / etc / rpi-issue) (forse anche 2017-07-05) e più tardi vedi la mia risposta qui .

Per "Raspbian GNU / Linux 8 (jessie)" (cat / etc / os-release), "Raspberry Pi reference 2017-06-21" (cat / etc / rpi-issue) (grazie @Heinrich Ulbricht) (forse anche 2017 -07-05) e precedenti

puoi aggiungere il seguente script a /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

e renderlo eseguibile con

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

Questo dovrebbe funzionare con systemd ed essere più robusto del update-rc.dmetodo precedente .


1
Testato correttamente con "Raspbian GNU / Linux 8 (jessie)" ( cat /etc/os-release), "Raspberry Pi reference 2017-06-21" ( cat /etc/rpi-issue). (Sto documentando questo per restringere il frame di rilascio per cui funziona poiché la tua seconda risposta suggerisce che smette di funzionare ad un certo punto.)
Heinrich Ulbricht

1
Nota che questo metodo non funzionerà su Raspian Stretch. Per fortuna Frank ha aggiunto una seconda risposta ed entrambi sono ancora tecnicamente corretti.
Josh Habdas,

Ho appena fatto la risposta collegata su Buster e ha funzionato. Gli adattatori Ethernet cinesi economici hanno lo stesso indirizzo MAC. ~ $ 1,20 per 3x USB ed Ethernet, tuttavia, non posso lamentarmi troppo.
YetAnotherRandomUser

1

è possibile cambiare il tuo indirizzo mac ma questa è una funzionalità dell'hardware e dei driver.

ho avuto successo usando due adattatori wifi TL-WN722N e l' Alfa AWUS036H

tuttavia, è necessario essere consapevoli del fatto che Alfa AWUS036H deve essere alimentato tramite un hub USB alimentato. se si tenta di eseguirlo direttamente dal pi si otterrà il panico del kernel.

service ifplugd stop

service wicd stop

ifconfig wlan0 down

macchanger -r wlan0 

ifconfig wlan0 up

in bocca al lupo


1

Per il driver 8192cu puoi farlo creando il file /etc/modprobe.d/8192cu.conf (il nome del file non ha importanza ma dovrebbe avere .confestensione) e aggiungendo una riga simile a:

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

dove "XX: XX: XX: XX: XX: XX" è l'indirizzo MAC statico


1
Ho esattamente lo stesso modello RTL8188CUS e questa è l'unica soluzione che ha funzionato. Grazie!
Rucent88,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.