Làm cách nào để thay đổi địa chỉ mac wlan0?


11

Tôi đã mua Mô-đun WiFi thu nhỏ từ ADAFbean ( http://www.adafbean.com/products/814 ) và tự hỏi liệu có thể thay đổi địa chỉ MAC được liên kết với nó không. Tôi đã thử sử dụng mã sau đây:

sudo ifdown wlan0

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

sudo ifup wlan0

hoặc là

sudo ifdown wlan0

sudo macchanger -r wlan0

sudo ifup wlan0

hoặc bằng cách thêm một dòng trong /etc/network/interfaces

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

Khi sử dụng lsusbthiết bị sẽ hiển thị dưới dạng "Bộ điều hợp mạng WLAN RTL8188CUS của Tập đoàn Realtek". Trong /etc/hostapd/hostapd.conf, driver=rtl1871xdrv. Tôi đang chạy ISC DHCP Server.

Thiết bị hoạt động khác. Tôi chỉ muốn có thể thay đổi địa chỉ MAC


Câu hỏi này hoàn toàn không liên quan gì đến Raspberry Pi, vui lòng chọn một phần khác của StackExchange cho loại câu hỏi này.
lenik

2
ồ xin lỗi. Đã sử dụng Raspbian nên trông giống như một nơi tốt để đặt nó. Tôi sẽ tìm một địa điểm khác.
Joseph

Một số trình điều khiển yêu cầu thiết bị phải lên để làm điều đó. Hãy thửsudo ifconfig wlan0 up ; sudo macchanger -r wlan0
M Noit

Thật không may, điều này cũng không hoạt động. Nó có lỗi "Không thể đọc MAC vĩnh viễn: Không hỗ trợ thao tác. Mặc dù có đầu ra cho MAC MỚI, ifconfig hiển thị địa chỉ MAC cũ.
Joseph

Câu trả lời:


4

Đối với "Raspbian GNU / Linux 8 (jessie)" (cat / etc / os-release), "Raspberry Pi tham khảo 2017-06-21" (cat / etc / rpi-vấn đề) (cũng có thể là 2017-07-05) (cũng có thể là 2017-07-05) ( cảm ơn @Heinrich Ulbricht) và trước đó xem câu trả lời của tôi ở đây .

Đối với "Raspbian GNU / Linux 9 (kéo dài)" (cat / etc / os-phát hành), "Tham chiếu Raspberry Pi 2017-08-16" (cat / etc / rpi-vấn đề) (cũng có thể là 2017-07-05) và sau này mọi thứ thay đổi. Ví dụ eth0hiện được liệt kê theo tên giao diện mạng dự đoán của systemd enxb827ebxxxxxx . Vì vậy, phương pháp trước đây của tôi thông qua if-pre-up.dngừng hoạt động.

Thay vào đó, bạn có thể sử dụng systemdvà tạo tệp /etc/systemd/network/00-mac.linknhư được giải thích ở đây :

[Match]
OriginalName=wlan0

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

2
Xác nhận làm việc với Raspian Stretch Lite. Kudos, Frank.
Josh Habdas

1
Cũng xác nhận rằng nó hoạt động với Raspbian GNU / Linux 9.
lỗi đánh máy

1
Tôi mới làm cái thứ hai trên Buster và nó đã hoạt động. Bộ điều hợp Ethernet giá rẻ của Trung Quốc có cùng địa chỉ MAC. ~ $ 1,20 cho 3 lần USB và Ethernet, không thể phàn nàn quá nhiều.
YetAnotherRandomUser

2

Tôi có cùng một vấn đề - hầu hết các cách tiêu chuẩn để làm điều này dường như không hoạt động trên quả mâm xôi.

Tình huống của tôi hơi khác một chút - tôi có Raspberry PI B nơi chip ethernet đã chết và vì vậy tôi đã sử dụng một adpater usb-ethernet. Bộ điều hợp có thể không phải là chất lượng cao nhất vì nó không có địa chỉ MAC duy nhất. Bộ điều hợp được gán choeth1

Tôi đã tìm thấy câu trả lời của enzorik tại đây ... http://www.raspberrypi.org/forums/viewtopic.php?f=6&t=5486 , đã làm việc cho tôi. Bản chất...

Tạo một tập lệnh mới: sudo nano /etc/init.d/mac.sh

Dán vào tập lệnh này (giải quyết địa chỉ MAC của bạn theo yêu cầu) ...

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

Làm cho nó thực thi: sudo chmod +x /etc/init.d/mac.sh

Sau đó chạy: sudo update-rc.d /etc/init.d/mac.sh defaults


Tôi sẽ đề nghị thay vì lưu mac.sh trong /etc/network/if-pre-up.d/. Điều này sẽ tránh việc sử dụng update-rc.d. Xem câu trả lời của tôi dưới đây.
Frank Breitling

Tôi gặp vấn đề tương tự. Tôi sẽ thử cái này. Nhưng liên kết diễn đàn mà bạn tham khảo không còn tốt nữa.
YetAnotherRandomUser

2

Đối với "Raspbian GNU / Linux 9 (kéo dài)" (cat / etc / os-phát hành), "Tham chiếu Raspberry Pi 2017-08-16" (cat / etc / rpi-vấn đề) (cũng có thể là 2017-07-05) và sau đó nhìn thấy câu trả lời của tôi ở đây .

Đối với "Raspbian GNU / Linux 8 (jessie)" (cat / etc / os-release), "Raspberry Pi tham khảo 2017-06-21" (cat / etc / rpi-vấn đề) (cảm ơn @Heinrich Ulbricht) (cũng có thể là 2017 -07-05) và trước đó

bạn có thể thêm đoạn script sau vào /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

và làm cho nó thực thi được với

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

Điều này sẽ làm việc với systemd và mạnh mẽ hơn update-rc.dphương thức cũ .


1
Đã thử nghiệm thành công với "Raspbian GNU / Linux 8 (jessie)" ( cat /etc/os-release), "Tham chiếu Raspberry Pi 2017-06-21" ( cat /etc/rpi-issue). (Tôi đang ghi lại điều này để thu hẹp khung phát hành mà nó hoạt động vì câu trả lời thứ hai của bạn cho thấy nó dừng hoạt động vào một lúc nào đó.)
Heinrich Ulbricht

1
Lưu ý phương pháp này sẽ không hoạt động trên Raspian Stretch. Rất may Frank đã thêm một câu trả lời thứ hai và cả hai vẫn đúng về mặt kỹ thuật.
Josh Habdas

Tôi vừa thực hiện câu trả lời được liên kết trên Buster và nó đã hoạt động. Bộ điều hợp Ethernet giá rẻ của Trung Quốc có cùng địa chỉ MAC. ~ $ 1,20 cho 3 lần USB và Ethernet, không thể phàn nàn quá nhiều.
YetAnotherRandomUser

1

có thể thay đổi địa chỉ mac của bạn nhưng đây là một tính năng của phần cứng và trình điều khiển.

tôi đã thành công khi sử dụng hai bộ điều hợp wifi TL- WN722NAlfa AWUS036H

tuy nhiên, bạn nên biết rằng Alfa AWUS036H phải được cấp nguồn thông qua bộ chia USB. Nếu bạn thử và chạy nó trực tiếp từ pi, bạn sẽ nhận được sự hoảng loạn hạt nhân.

service ifplugd stop

service wicd stop

ifconfig wlan0 down

macchanger -r wlan0 

ifconfig wlan0 up

chúc may mắn


1

Đối với trình điều khiển 8192cu, bạn có thể thực hiện việc này bằng cách tạo tệp /etc/modprobe.d/8192cu.conf (tên tệp không quan trọng nhưng cần có .confphần mở rộng) và thêm một dòng giống như:

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

trong đó "XX: XX: XX: XX: XX: XX" là địa chỉ MAC tĩnh


1
Tôi có chính xác Model RTL8188CUS này và đây là giải pháp duy nhất có hiệu quả. Cảm ơn bạn!
Rucent88
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.