¿Cómo cambiar una dirección mac wlan0?

11

Compré el Módulo WiFi en miniatura de ADAFruit ( http://www.adafruit.com/products/814 ) y me preguntaba si es posible cambiar la dirección MAC asociada a él. He intentado usar el siguiente código:

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 agregando una línea en /etc/network/interfaces

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

Cuando se utiliza lsusbel dispositivo, aparece como "Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter". En /etc/hostapd/hostapd.conf, driver=rtl1871xdrv. Estoy ejecutando el servidor DHCP de ISC.

El dispositivo funciona de otra manera. Solo quiero poder cambiar la dirección MAC

Joseph
fuente
Esta pregunta no tiene absolutamente nada que ver con Raspberry Pi, elija otra sección de StackExchange para este tipo de consulta.
lenik
2
Oh, lo siento. Estaba usando Raspbian, así que parecía un buen lugar para ponerlo. Encontraré otra ubicación.
Joseph
Algunos controladores requieren que el dispositivo esté preparado para hacerlo. Pruebasudo ifconfig wlan0 up ; sudo macchanger -r wlan0
M Noit
Lamentablemente, esto tampoco funciona. Tiene el error "No se puede leer el MAC permanente: operación no admitida. A pesar de que hay salida para el NUEVO MAC, ifconfig muestra la antigua dirección MAC.
Joseph

Respuestas:

4

Para "Raspbian GNU / Linux 8 (jessie)" (cat / etc / os-release), "Referencia de Raspberry Pi 2017-06-21" (cat / etc / rpi-issue) (quizás también 2017-07-05) ( gracias @Heinrich Ulbricht) y antes veo mi respuesta aquí .

Para "Raspbian GNU / Linux 9 (stretch)" (cat / etc / os-release), "Referencia de Raspberry Pi 2017-08-16" (cat / etc / rpi-issue) (quizás también 2017-07-05) y Más tarde las cosas cambiaron. Por ejemplo, eth0ahora se enumera por el nombre de interfaz de red predecible de systemd enxb827ebxxxxxx . Entonces, mi método anterior if-pre-up.ddejó de funcionar.

En su lugar, puede usar systemdy crear el archivo /etc/systemd/network/00-mac.linkcomo se explica aquí :

[Match]
OriginalName=wlan0

[Link]
MACAddress=b8:27:eb:xx:xx:xx
NamePolicy=kernel database onboard slot path
Frank Breitling
fuente
2
Confirmado trabajar con Raspian Stretch Lite. Felicitaciones, Frank.
Josh Habdas
1
Confirmando también que funciona con Raspbian GNU / Linux 9.
error tipográfico del
1
Acabo de hacer el segundo en Buster y funcionó. Los adaptadores Ethernet chinos baratos venían con la misma dirección MAC. ~ $ 1.20 por 3x USB y Ethernet, sin embargo, no puedo quejarme demasiado.
YetAnotherRandomUser
2

Tuve el mismo problema: la mayoría de las formas estándar de hacerlo no parecían funcionar en la frambuesa.

Mi situación era un poco diferente: tengo un Raspberry PI B donde el chip de ethernet ha muerto y utilicé un adaptador usb-ethernet. Tal vez el adaptador no sea de la más alta calidad, ya que no tenía una dirección MAC única. El adaptador está asignado aeth1

Encontré la respuesta de enzorik aquí ... http://www.raspberrypi.org/forums/viewtopic.php?f=6&t=5486 , funcionó para mí. Esencialmente...

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

Pegue en este script (configure su dirección MAC según sea necesario) ...

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

Hazlo ejecutable: sudo chmod +x /etc/init.d/mac.sh

Entonces corre: sudo update-rc.d /etc/init.d/mac.sh defaults

planta de araña0
fuente
Sugeriría guardar Mac.sh en /etc/network/if-pre-up.d/. Esto evitará el uso de update-rc.d. Vea mi respuesta a continuación.
Frank Breitling
Me encontré con este mismo problema. Voy a intentar esto Pero el enlace del foro al que te refieres ya no es bueno.
YetAnotherRandomUser
2

Para "Raspbian GNU / Linux 9 (stretch)" (cat / etc / os-release), "Referencia de Raspberry Pi 2017-08-16" (cat / etc / rpi-issue) (quizás también 2017-07-05) y Más tarde vea mi respuesta aquí .

Para "Raspbian GNU / Linux 8 (jessie)" (cat / etc / os-release), "Referencia de Raspberry Pi 2017-06-21" (cat / etc / rpi-issue) (gracias @Heinrich Ulbricht) (quizás también 2017 -07-05) y anterior

puede agregar el siguiente 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

y hacerlo ejecutable con

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

Esto debería funcionar con systemd y ser más robusto que el update-rc.dmétodo anterior .

Frank Breitling
fuente
1
Probado con éxito con "Raspbian GNU / Linux 8 (jessie)" ( cat /etc/os-release), "Raspberry Pi reference 2017-06-21" ( cat /etc/rpi-issue). (Estoy documentando esto para reducir el marco de lanzamiento para el que funciona, ya que su segunda respuesta sugiere que deja de funcionar en algún momento).
Heinrich Ulbricht
1
Tenga en cuenta que este método no funcionará en Raspian Stretch. Afortunadamente, Frank agregó una segunda respuesta y ambas siguen siendo técnicamente correctas.
Josh Habdas
Acabo de hacer la respuesta vinculada en Buster y funcionó. Los adaptadores Ethernet chinos baratos venían con la misma dirección MAC. ~ $ 1.20 por 3x USB y Ethernet, sin embargo, no puedo quejarme demasiado.
YetAnotherRandomUser
1

es posible cambiar su dirección mac, pero esta es una característica del hardware y los controladores.

Tuve éxito usando dos adaptadores wifi TL-WN722N y el Alfa AWUS036H

Sin embargo, debe tener en cuenta que el Alfa AWUS036H debe alimentarse a través de un concentrador USB alimentado. si intenta ejecutarlo directamente desde el pi, obtendrá pánicos del kernel.

service ifplugd stop

service wicd stop

ifconfig wlan0 down

macchanger -r wlan0 

ifconfig wlan0 up

buena suerte

jeremyforan
fuente
1

Para el controlador 8192cu, puede hacer esto creando el archivo /etc/modprobe.d/8192cu.conf (el nombre de archivo no importa, pero debe tener .confextensión) y agregando una línea que se vea así:

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

donde "XX: XX: XX: XX: XX: XX" es la dirección MAC estática

Gypaetus
fuente
1
Tengo exactamente el mismo modelo RTL8188CUS y esta es la única solución que funcionó. ¡Gracias!
Rucent88