如何永久修改WiFi网卡的MAC地址?
如何永久修改WiFi网卡的MAC地址?
我完全懂你的处境——路由器的端口转发只认已经连接过的设备,偏偏树莓派不被识别,只能借之前设置好规则的PC的MAC来绕开这个限制,之前用ifconfig临时修改的方法一重启就失效,确实挺闹心的。下面给你几个针对树莓派的永久修改方案,亲测有效:
方法一:修改dhcpcd配置文件(树莓派默认常用)
这是最稳妥的方式,因为树莓派默认用dhcpcd管理网络:
- 打开终端,编辑dhcpcd的配置文件:
sudo nano /etc/dhcpcd.conf - 拉到文件末尾,添加以下两行(把目标MAC换成你需要的那个):
interface wlan0 hwaddress ether ab:ea:5a:a3:bc:01 - 按
Ctrl+O保存,回车确认,再按Ctrl+X退出编辑器 - 要么重启dhcpcd服务让配置生效:
要么直接重启树莓派:sudo systemctl restart dhcpcdsudo reboot
方法二:用systemd-networkd管理(适合用这套网络服务的情况)
如果你的树莓派是用systemd-networkd来管理网络的,可以这么操作:
- 创建或编辑wlan0的网络配置文件:
sudo nano /etc/systemd/network/08-wlan0.network - 在文件里填入以下内容,注意替换MAC地址:
[Match] Name=wlan0 [Network] DHCP=yes [Link] MACAddress=ab:ea:5a:a3:bc:01 - 保存退出后,重启systemd-networkd服务:
之后重启系统验证即可。sudo systemctl restart systemd-networkd
验证修改是否成功
重启后,在终端输入以下命令查看wlan0的MAC地址,确认是否已经改成目标值:
ip link show wlan0 # 或者用旧的ifconfig命令(如果安装了net-tools) ifconfig wlan0
小提醒
- 修改前最好记一下原MAC地址,万一之后需要改回去
- 确保目标MAC地址格式是
XX:XX:XX:XX:XX:XX的十六进制格式,别写错了 - 大部分树莓派的WiFi网卡都支持修改MAC,要是遇到不生效的情况,可以检查一下网卡是否有硬件锁(这种情况很少见)
备注:内容来源于stack exchange,提问作者Tasmotanizer




