Як змінити адресу wlan0 mac?


11

Я купив мініатюрний модуль WiFi у ADAFruit ( http://www.adafruit.com/products/814 ) і цікавився, чи можна змінити пов'язану з ним MAC-адресу. Я спробував використовувати наступний код:

sudo ifdown wlan0

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

sudo ifup wlan0

або

sudo ifdown wlan0

sudo macchanger -r wlan0

sudo ifup wlan0

або додавши рядок у /etc/network/interfaces

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

При використанні lsusbпристрій відображається як "Realtek Semiconductor Corp. RTL8188CUS 802.11n адаптер WLAN". В /etc/hostapd/hostapd.conf, driver=rtl1871xdrv. Я запускаю ISC DHCP Server.

Пристрій працює інакше. Я просто хочу мати можливість змінити MAC-адресу


Це питання абсолютно не пов'язане з Raspberry Pi, будь ласка, виберіть інший розділ StackExchange для цього типу запитів.
lenik

2
ах, вибачте. Використання Raspbian так виглядало як хороше місце для цього. Я знайду інше місце.
Йосип

Деякі драйвери вимагають, щоб пристрій працював над цим. Спробуйтеsudo ifconfig wlan0 up ; sudo macchanger -r wlan0
M Noit

На жаль, це також не працює. Він має помилку "Не вдається прочитати постійний MAC: Операція не підтримується. Навіть якщо є вихід для НОВОГО MAC, ifconfig показує стару MAC-адресу.
Жозеф

Відповіді:


4

Для "Raspbian GNU / Linux 8 (jessie)" (cat / etc / os-release), "Посилання Raspberry Pi 2017-06-21" (cat / etc / rpi-issue) (можливо, також 2017-07-05) ( дякую @Heinrich Ulbricht) і раніше дивіться мою відповідь тут .

Для "Raspbian GNU / Linux 9 (stretch)" (cat / etc / os-release), "Raspberry Pi посилання 2017-08-16" (cat / etc / rpi-issue) (можливо, також 2017-07-05) та пізніше все змінилося. Наприклад eth0, тепер перераховано передбачуване ім'я мережевого інтерфейсу systemd enxb827ebxxxxxx . Тож мій попередній метод через if-pre-up.dперестав працювати.

Натомість ви можете використовувати systemdта створювати файл, /etc/systemd/network/00-mac.linkяк пояснено тут :

[Match]
OriginalName=wlan0

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

2
Підтверджено роботу з Raspian Stretch Lite. Кудос, Френк.
Джош Хабдас

1
Підтверджуючи також, що він працює з Raspbian GNU / Linux 9.
помилка

1
Я щойно зробив другий на Buster, і він спрацював. Дешеві китайські адаптери Ethernet прийшли з тією ж MAC-адресою. ~ 1,20 доларів за 3x USB та Ethernet, але не можу надто поскаржитися.
YetAbodyRandomUser

2

У мене було те саме питання - більшість стандартних способів цього не здається працювати на малину.

Моя ситуація була дещо іншою - у мене є Raspberry PI B, де загинула мікросхема Ethernet, і тому я використовував adbter usb-ethernet. Адаптер, можливо, не найвищої якості, оскільки у нього не було унікальної MAC-адреси. Адаптер призначений дляeth1

Я знайшов відповідь від Enzorik тут ... http://www.raspberrypi.org/forums/viewtopic.php?f=6&t=5486 , працював на мене. По суті ...

Створіть новий сценарій: sudo nano /etc/init.d/mac.sh

Вставте цей скрипт (встановіть MAC-адресу, якщо потрібно) ...

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

Зробіть його виконуваним: sudo chmod +x /etc/init.d/mac.sh

Потім запустіть: sudo update-rc.d /etc/init.d/mac.sh defaults


Я б запропонував краще зберегти mac.sh у /etc/network/if-pre-up.d/. Це дозволить уникнути використання update-rc.d. Дивіться мою відповідь нижче.
Френк Брейтлінг

Я зіткнувся з цим самим питанням. Я спробую це. Але посилання на форум, на яке ви посилаєтесь, вже не є хорошим.
YetAgetherRandomUser

2

Для "Raspbian GNU / Linux 9 (stretch)" (cat / etc / os-release), "Raspberry Pi посилання 2017-08-16" (cat / etc / rpi-issue) (можливо, також 2017-07-05) та пізніше дивіться мою відповідь тут .

Для "Raspbian GNU / Linux 8 (jessie)" (cat / etc / os-release), "Raspberry Pi посилання 2017-06-21" (кішка / тощо / rpi-випуск) (спасибі @Heinrich Ulbricht) (можливо також 2017 -07-05) і раніше

Ви можете додати такий сценарій до /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

і зробити його виконуваним за допомогою

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

Це повинно працювати з systemd і бути більш надійним, ніж старіший update-rc.dметод.


1
Успішно випробувано на "Raspbian GNU / Linux 8 (jessie)" ( cat /etc/os-release), "Raspberry Pi посилання 2017-06-21" ( cat /etc/rpi-issue). (Я документую це, щоб звузити кадр випуску, для якого він працює, оскільки друга відповідь передбачає, що він перестане працювати в якийсь момент.)
Генріх Ульбріхт

1
Зауважте, що цей метод не працює на Raspian Stretch. На щастя, Френк додав другу відповідь, і те й інше технічно правильно.
Джош Хабдас

Я просто зробив пов'язану відповідь на Buster, і вона спрацювала. Дешеві китайські адаптери Ethernet прийшли з тією ж MAC-адресою. ~ 1,20 доларів за 3x USB та Ethernet, але не можу надто поскаржитися.
YetAgetherRandomUser

1

можна змінити вашу mac-адресу, але це особливість апаратного забезпечення та драйверів.

Я був успішним за допомогою двох адаптерів Wi-Fi TL-WN722N та Alfa AWUS036H

Однак ви повинні знати, що Alfa AWUS036H має живитись через підключений usb-концентратор. якщо спробувати запустити його прямо з пі, ви отримаєте паніку ядра.

service ifplugd stop

service wicd stop

ifconfig wlan0 down

macchanger -r wlan0 

ifconfig wlan0 up

Щасти


1

Для драйвера 8192cu ви можете це зробити, створивши файл /etc/modprobe.d/8192cu.conf (ім'я файлу не має значення, але воно повинно мати .confрозширення) та додавши рядок, який виглядає так:

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

де "XX: XX: XX: XX: XX: XX" - статична MAC-адреса


1
У мене така сама модель RTL8188CUS, і це єдине рішення, яке працювало. Дякую!
Rucent88
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.