Comment changer une adresse mac wlan0?


11

J'ai acheté le module WiFi miniature d'ADAFruit ( http://www.adafruit.com/products/814 ) et je me demandais s'il était possible de changer l'adresse MAC qui lui était associée. J'ai essayé d'utiliser le code suivant:

sudo ifdown wlan0

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

sudo ifup wlan0

ou

sudo ifdown wlan0

sudo macchanger -r wlan0

sudo ifup wlan0

ou en ajoutant une ligne /etc/network/interfaces

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

Lors de l'utilisation, lsusbl'appareil apparaît comme "Adaptateur WLAN Realtek Semiconductor Corp. RTL8188CUS 802.11n". Dans /etc/hostapd/hostapd.conf, driver=rtl1871xdrv. J'utilise le serveur DHCP ISC.

L'appareil fonctionne autrement. Je veux juste pouvoir changer l'adresse MAC


Cette question n'a absolument rien à voir avec Raspberry Pi, veuillez choisir une autre section de StackExchange pour ce type d'enquête.
lenik

2
Ah désolé. J'utilisais Raspbian, donc cela semblait être un bon endroit pour le mettre. Je vais trouver un autre endroit.
Joseph

Certains pilotes nécessitent que l'appareil soit prêt à le faire. Essayezsudo ifconfig wlan0 up ; sudo macchanger -r wlan0
M Noit

Malheureusement, cela ne fonctionne pas non plus. Il a l'erreur « Impossible de lire MAC permanente: Opération non supportée Même si il est sorti pour le nouveau MAC, ifconfig montre l'ancienne adresse MAC..
Joseph

Réponses:


4

Pour "Raspbian GNU / Linux 8 (jessie)" (cat / etc / os-release), "Raspberry Pi reference 2017-06-21" (cat / etc / rpi-issue) (peut-être aussi 2017-07-05) ( merci @Heinrich Ulbricht) et plus tôt voir ma réponse ici .

Pour "Raspbian GNU / Linux 9 (stretch)" (cat / etc / os-release), "Raspberry Pi reference 2017-08-16" (cat / etc / rpi-issue) (peut-être aussi 2017-07-05) et plus tard, les choses ont changé. Par exemple, il eth0est désormais répertorié par le nom d'interface réseau prévisible de systemd enxb827ebxxxxxx . Donc, ma méthode précédente via a if-pre-up.dcessé de fonctionner.

Au lieu de cela, vous pouvez utiliser systemdet créer le fichier /etc/systemd/network/00-mac.linkcomme expliqué ici :

[Match]
OriginalName=wlan0

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

2
Travail confirmé avec Raspian Stretch Lite. Bravo, Frank.
Josh Habdas

1
Confirmant également qu'il fonctionne avec Raspbian GNU / Linux 9.
faute de frappe

1
Je viens de faire le deuxième sur Buster et cela a fonctionné. Les adaptateurs Ethernet chinois bon marché sont livrés avec la même adresse MAC. ~ 1,20 $ pour 3x USB et Ethernet, je ne peux pas trop me plaindre.
YetAnotherRandomUser

2

J'ai eu le même problème - la plupart des façons standard de le faire ne semblent pas fonctionner sur la framboise.

Ma situation était un peu différente - j'ai un Raspberry PI B où la puce Ethernet est morte et j'ai donc utilisé un adaptateur USB-Ethernet. L'adaptateur n'est peut-être pas de la plus haute qualité car il n'avait pas d'adresse MAC unique. L'adaptateur est affecté àeth1

J'ai trouvé la réponse par enzorik ici ... http://www.raspberrypi.org/forums/viewtopic.php?f=6&t=5486 , a fonctionné pour moi. Essentiellement...

Créez un nouveau script: sudo nano /etc/init.d/mac.sh

Collez dans ce script (définissez votre adresse MAC comme requis) ...

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

Rendez-le exécutable: sudo chmod +x /etc/init.d/mac.sh

Exécutez ensuite: sudo update-rc.d /etc/init.d/mac.sh defaults


Je suggérerais plutôt de sauvegarder mac.sh dans /etc/network/if-pre-up.d/. Cela évitera l'utilisation de update-rc.d. Voir ma réponse ci-dessous.
Frank Breitling

J'ai rencontré ce même problème. Je vais essayer ça. Mais le lien vers le forum auquel vous faites référence n'est plus bon.
YetAnotherRandomUser

2

Pour "Raspbian GNU / Linux 9 (stretch)" (cat / etc / os-release), "Raspberry Pi reference 2017-08-16" (cat / etc / rpi-issue) (peut-être aussi 2017-07-05) et voir plus tard ma réponse ici .

Pour "Raspbian GNU / Linux 8 (jessie)" (cat / etc / os-release), "Raspberry Pi reference 2017-06-21" (cat / etc / rpi-issue) (merci @Heinrich Ulbricht) (peut-être aussi 2017 -07-05) et versions antérieures

vous pouvez ajouter le script suivant à /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

et le rendre exécutable avec

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

Cela devrait fonctionner avec systemd et être plus robuste que l'ancienne update-rc.dméthode.


1
Testé avec succès avec "Raspbian GNU / Linux 8 (jessie)" ( cat /etc/os-release), "Raspberry Pi reference 2017-06-21" ( cat /etc/rpi-issue). (Je documente cela pour affiner le cadre de publication pour lequel il fonctionne, car votre deuxième réponse suggère qu'il cesse de fonctionner à un moment donné.)
Heinrich Ulbricht

1
Notez que cette méthode ne fonctionnera pas sur Raspian Stretch. Heureusement, Frank a ajouté une deuxième réponse et les deux sont toujours techniquement corrects.
Josh Habdas

Je viens de faire la réponse liée sur Buster et cela a fonctionné. Les adaptateurs Ethernet chinois bon marché sont livrés avec la même adresse MAC. ~ 1,20 $ pour 3x USB et Ethernet, je ne peux pas trop me plaindre.
YetAnotherRandomUser

1

il est possible de changer votre adresse mac mais c'est une fonctionnalité du matériel et des pilotes.

j'ai réussi à utiliser deux adaptateurs wifi TL-WN722N et l' Alfa AWUS036H

Cependant, vous devez savoir que l'Alfa AWUS036H doit être alimenté via un concentrateur USB alimenté. si vous essayez de l'exécuter directement depuis le pi, vous obtiendrez des paniques du noyau.

service ifplugd stop

service wicd stop

ifconfig wlan0 down

macchanger -r wlan0 

ifconfig wlan0 up

bonne chance


1

Pour le pilote 8192cu, vous pouvez le faire en créant le fichier /etc/modprobe.d/8192cu.conf (le nom de fichier n'a pas d'importance mais il doit avoir une .confextension) et en ajoutant une ligne qui ressemble à:

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

où "XX: XX: XX: XX: XX: XX" est l'adresse MAC statique


1
J'ai exactement le même modèle RTL8188CUS et c'est la seule solution qui a fonctionné. Je vous remercie!
Rucent88
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.