Bagaimana cara mengubah alamat mac wlan0?

11

Saya membeli Modul WiFi Miniatur dari ADAFruit ( http://www.adafruit.com/products/814 ) dan bertanya-tanya apakah mungkin untuk mengubah alamat MAC yang terkait dengannya. Saya sudah mencoba menggunakan kode berikut:

sudo ifdown wlan0

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

sudo ifup wlan0

atau

sudo ifdown wlan0

sudo macchanger -r wlan0

sudo ifup wlan0

atau dengan menambahkan baris /etc/network/interfaces

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

Saat menggunakan lsusbperangkat muncul sebagai "Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter". Di /etc/hostapd/hostapd.conf, driver=rtl1871xdrv. Saya menjalankan ISC DHCP Server.

Perangkat berfungsi sebaliknya. Saya hanya ingin dapat mengubah alamat MAC

Yusuf
sumber
Pertanyaan ini sama sekali tidak ada hubungannya dengan Raspberry Pi, tolong, pilih bagian lain dari StackExchange untuk jenis pertanyaan ini.
lenik
2
ah maaf. Sedang menggunakan Raspbian jadi tampak seperti tempat yang bagus untuk meletakkannya. Saya akan menemukan lokasi lain.
Joseph
Beberapa driver mengharuskan perangkat untuk melakukan itu. Cobasudo ifconfig wlan0 up ; sudo macchanger -r wlan0
M Noit
Sayangnya ini tidak berhasil. Ada kesalahan "Tidak dapat membaca MAC permanen: Operasi tidak didukung. Meskipun ada output untuk MAC BARU, ifconfig menunjukkan alamat MAC lama.
Joseph

Jawaban:

4

Untuk "Raspbian GNU / Linux 8 (jessie)" (cat / etc / os-release), "referensi Raspberry Pi 2017-06-21" (cat / etc / rpi-issue) (mungkin juga 2017-07-05) ( terima kasih @Heinrich Ulbricht) dan sebelumnya lihat jawaban saya di sini .

Untuk "Raspbian GNU / Linux 9 (stretch)" (cat / etc / os-release), "referensi Raspberry Pi 2017-08-16" (cat / etc / rpi-issue) (mungkin juga 2017-07-05) dan kemudian semuanya berubah. Sebagai contoh eth0sekarang terdaftar oleh nama antarmuka jaringan yang dapat diprediksi systemd enxb827ebxxxxxx . Jadi metode saya sebelumnya via if-pre-up.dberhenti bekerja.

Sebagai gantinya Anda dapat menggunakan systemddan membuat file /etc/systemd/network/00-mac.linkseperti yang dijelaskan di sini :

[Match]
OriginalName=wlan0

[Link]
MACAddress=b8:27:eb:xx:xx:xx
NamePolicy=kernel database onboard slot path
Frank Breitling
sumber
2
Dikonfirmasi bekerja dengan Raspian Stretch Lite. Salam, Frank.
Josh Habdas
1
Mengonfirmasi juga, bahwa itu bekerja dengan Raspbian GNU / Linux 9.
salah ketik
1
Saya hanya melakukan yang kedua di Buster dan berhasil. Adaptor Ethernet Cina murah datang dengan alamat MAC yang sama. ~ $ 1,20 untuk 3x USB dan Ethernet, tidak bisa mengeluh terlalu banyak.
YetAnotherRandomUser
2

Saya memiliki masalah yang sama - sebagian besar cara standar untuk melakukan ini sepertinya tidak bekerja pada raspberry.

Situasi saya agak berbeda - saya memiliki Raspberry PI B di mana chip ethernet telah mati dan jadi saya menggunakan adpater usb-ethernet. Adaptor mungkin bukan kualitas tertinggi karena tidak memiliki alamat MAC yang unik. Adaptor ditugaskan untuketh1

Saya menemukan jawabannya oleh enzorik di sini ... http://www.raspberrypi.org/forums/viewtopic.php?f=6&t=5486 , bekerja untuk saya. Intinya ...

Buat skrip baru: sudo nano /etc/init.d/mac.sh

Rekatkan ke skrip ini (setel alamat MAC Anda sesuai kebutuhan) ...

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

Jadikan itu dapat dieksekusi: sudo chmod +x /etc/init.d/mac.sh

Lalu lari: sudo update-rc.d /etc/init.d/mac.sh defaults

spiderplant0
sumber
Saya lebih suka menyimpan mac.sh di /etc/network/if-pre-up.d/. Ini akan menghindari penggunaan update-rc.d. Lihat jawaban saya di bawah ini.
Frank Breitling
Saya mengalami masalah yang sama. Saya akan coba ini. Tetapi tautan forum yang Anda rujuk tidak lagi bagus.
YetAnotherRandomUser
2

Untuk "Raspbian GNU / Linux 9 (stretch)" (cat / etc / os-release), "referensi Raspberry Pi 2017-08-16" (cat / etc / rpi-issue) (mungkin juga 2017-07-05) dan nanti lihat jawabanku di sini .

Untuk "Raspbian GNU / Linux 8 (jessie)" (cat / etc / os-release), "referensi Raspberry Pi 2017-06-21" (cat / etc / rpi-issue) (terima kasih @Heinrich Ulbricht) (mungkin juga 2017 -07-05) dan sebelumnya

Anda dapat menambahkan skrip berikut ke /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

dan membuatnya dapat dieksekusi dengan

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

Ini harus bekerja dengan systemd dan lebih kuat daripada update-rc.dmetode yang lebih lama .

Frank Breitling
sumber
1
Diuji berhasil dengan "Raspbian GNU / Linux 8 (jessie)" ( cat /etc/os-release), "referensi Raspberry Pi 2017-06-21" ( cat /etc/rpi-issue). (Saya mendokumentasikan ini untuk mempersempit kerangka rilis yang berfungsi karena jawaban kedua Anda menyarankannya berhenti bekerja di beberapa titik.)
Heinrich Ulbricht
1
Perhatikan bahwa metode ini tidak akan bekerja pada Raspian Stretch. Untungnya Frank menambahkan jawaban kedua dan keduanya secara teknis masih benar.
Josh Habdas
Saya baru saja melakukan jawaban terkait pada Buster dan itu berhasil. Adaptor Ethernet Cina murah datang dengan alamat MAC yang sama. ~ $ 1,20 untuk 3x USB dan Ethernet, tidak bisa mengeluh terlalu banyak.
YetAnotherRandomUser
1

dimungkinkan untuk mengubah alamat mac Anda, tetapi ini adalah fitur perangkat keras dan driver.

saya berhasil menggunakan dua adapter wifi TL-WN722N dan Alfa AWUS036H

namun Anda harus sadar bahwa Alfa AWUS036H harus diberdayakan melalui hub usb yang aktif. jika Anda mencoba dan menjalankannya langsung dari pi Anda akan mendapatkan panik kernel.

service ifplugd stop

service wicd stop

ifconfig wlan0 down

macchanger -r wlan0 

ifconfig wlan0 up

semoga berhasil

jeremyforan
sumber
1

Untuk driver 8192cu Anda bisa melakukan ini dengan membuat file /etc/modprobe.d/8192cu.conf (nama file tidak masalah tetapi harus memiliki .confekstensi) dan menambahkan baris yang terlihat seperti:

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

di mana "XX: XX: XX: XX: XX: XX: XX" adalah alamat MAC statis

gypaetus
sumber
1
Saya memiliki Model RTL8188CUS yang sama persis dan ini adalah satu-satunya solusi yang berhasil. Terima kasih!
Rucent88