วิธีเปลี่ยนที่อยู่ mac ของ wlan0


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 RTL8188CUS 802.11n WLAN" ใน,/etc/hostapd/hostapd.conf driver=rtl1871xdrvฉันใช้เซิร์ฟเวอร์ ISC DHCP

อุปกรณ์ทำงานเป็นอย่างอื่น ฉันแค่ต้องการเปลี่ยนที่อยู่ MAC


คำถามนี้ไม่มีอะไรเกี่ยวข้องกับ Raspberry Pi โปรดเลือกส่วนอื่นของ StackExchange สำหรับการสอบถามประเภทนี้
lenik

2
ขอโทษด้วย กำลังใช้ Raspbian ดังนั้นดูเหมือนว่าเป็นสถานที่ที่ดีที่จะวางไว้ ฉันจะหาสถานที่อื่น
โจเซฟ

ไดรเวอร์บางตัวต้องใช้อุปกรณ์ในการทำเช่นนั้น ลองsudo ifconfig wlan0 up ; sudo macchanger -r wlan0
M Noit

น่าเสียดายที่นี่ไม่ได้ผลเหมือนกัน มีข้อผิดพลาด "ไม่สามารถอ่าน MAC ถาวร: ไม่รองรับการทำงานแม้ว่าจะมีเอาต์พุตสำหรับ MAC ใหม่ แต่ ifconfig จะแสดงที่อยู่ MAC เก่า
Joseph

คำตอบ:


4

สำหรับ "Raspbian GNU / Linux 8 (เจสซี)" (cat / etc / os-release) "การอ้างอิง Raspberry Pi 2017-06-21" (cat / etc / rpi-issue) (อาจเป็น 2017-07-05) ( ขอบคุณ @Heinrich Ulbricht) และก่อนหน้านี้เห็นคำตอบของฉันที่นี่

สำหรับ "Raspbian GNU / Linux 9 (ยืด)" (cat / etc / os-release) "Raspberry Pi Reference 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 รุ่งโรจน์แฟรงค์
Josh Habdas

1
การยืนยันเช่นกันก็ใช้งานได้กับ Raspbian GNU / Linux 9.
พิมพ์ผิด

1
ฉันเพิ่งทำอันที่สองใน Buster และใช้งานได้ อะแดปเตอร์ Ethernet ราคาถูกของจีนมาพร้อมกับที่อยู่ MAC เดียวกัน ~ $ 1.20 สำหรับ 3x USB และ Ethernet ไม่สามารถบ่นมากเกินไป
YetAnotherRandomUser

2

ฉันมีปัญหาเดียวกัน - วิธีมาตรฐานส่วนใหญ่ในการทำเช่นนี้ดูเหมือนจะไม่ได้ทำงานกับราสเบอร์รี่

สถานการณ์ของฉันแตกต่างออกไปเล็กน้อย - ฉันมีราสเบอร์รี่ PI B ที่ชิปอีเธอร์เน็ตเสียชีวิตดังนั้นฉันจึงใช้อะแดปเตอร์ 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นี้จะหลีกเลี่ยงการใช้งานของ ดูคำตอบของฉันด้านล่าง
Frank Breitling

ฉันพบปัญหาเดียวกันนี้ ฉันจะลองทำสิ่งนี้ แต่ลิงค์ฟอรัมที่คุณอ้างถึงนั้นไม่ดีอีกต่อไป
YetAnotherRandomUser

2

สำหรับ "Raspbian GNU / Linux 9 (ยืด)" (cat / etc / os-release) "Raspberry Pi reference 2017-08-16" (cat / etc / rpi-issue) (อาจเป็น 2017-07-05) และ ต่อมาดูคำตอบของฉันที่นี่

สำหรับ "Raspbian GNU / Linux 8 (เจสซี)" (cat / etc / os-release) "การอ้างอิง Raspberry Pi 2017-06-21" (cat / etc / rpi-issue) (ขอบคุณ @Hininrich 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 reference 2017-06-21" ( cat /etc/rpi-issue) (ฉันกำลังจัดทำเอกสารนี้เพื่อ จำกัด ขอบเขตการวางจำหน่ายที่ใช้งานได้เนื่องจากคำตอบที่สองของคุณแนะนำว่าจะหยุดทำงานในบางจุด)
Heinrich Ulbricht

1
หมายเหตุวิธีนี้จะใช้ไม่ได้กับ Raspian Stretch Thankfully Frank เพิ่มคำตอบที่สองและทั้งสองยังคงถูกต้องทางเทคนิค
Josh Habdas

ฉันเพิ่งได้คำตอบที่เชื่อมโยงกับบัสเตอร์และมันได้ผล อะแดปเตอร์ Ethernet ราคาถูกของจีนมาพร้อมกับที่อยู่ MAC เดียวกัน ~ $ 1.20 สำหรับ 3x USB และ Ethernet ไม่สามารถบ่นมากเกินไป
YetAnotherRandomUser

1

เป็นไปได้ที่จะเปลี่ยนที่อยู่ mac ของคุณ แต่นี่เป็นคุณสมบัติของฮาร์ดแวร์และไดรเวอร์

ฉันประสบความสำเร็จในการใช้อแด็ปเตอร์ไร้สายสองตัวTL-WN722NและAlfa AWUS036H

อย่างไรก็ตามคุณควรทราบว่า Alfa AWUS036H นั้นต้องใช้พลังงานผ่านฮับ usb ที่ใช้พลังงาน หากคุณลองและเรียกใช้โดยตรงจาก Pi คุณจะได้รับความตื่นตระหนกเคอร์เนล

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.