telnet直接修改dd-wrt/openwrt的mac地址的方法
2008-05-05    刘世伟   
打印自: 安恒公司
地址: HTTP://etherscope.anheng.com.cn/news/article.php?articleid=1398
修改dd-wrt的mac地址
wrt54gs的无线AP,刷入linux内核,功能和性能会增强很多,但是当你一次购买了多个wrt54gs的时候,
往往会遇到mac地址重复的问题,这时候就需要修改AP的MAC地址。
在web界面,没有修改mac的地方,一般大家会尝试telnet进AP里面,在nvram里面找一找看看。
但是nvram里面的mac地址,在改掉后,重启时,会被恢复。可见mac地址不是放在nvram中的。
MAC地址,是放在类似于bootloader的块中,名字叫做cfe。
cfe每种设备是不同的。
网上查到的资料都是建议用JATG电缆来写cfe.
其实,在dd-wrt中有更简单的方法来刷新 cfe.就是通过mtd设备。
telnet进dd-wrt,然后执行 cat /proc/mtd,一般显示如下:
mtd0: 00040000 00020000 "cfe"
mtd1: 007a0000 00020000 "linux"
mtd2: 002be6f4 00020000 "rootfs"
mtd3: 00020000 00020000 "nvram"
mtd4: 00400000 00020000 "ddwrt"

可以看出我们需要的cfe在mtd0区, 先备份cfe.bin出来。
dd if=/dev/mtd/0 of=/tmp/cfe.bin
确认当前的MAC地址:
ifconfig eth0
用sed修改里面的字符串
sed "s/00:0F:66:5A:23:40/00:12:17:E3:F7:04/g" cfe.bin >cfe.new
用mtd命令写入
mtd write cfe.new cfe
完成

如果要备份, 可以在dd-wrt 内部用scp直接复制到ssh服务器上, 或者 ftp到ftp服务器上去
scp /tmp/cfe.bin 192.168.2.2:/home/


openwrt 通过telnet 或者 ssh 刷新程序:
luci-flash http://xxxx.xxx.org/kamikaze/8.09/brcm-2.4/openwrt-brcm-2.4-squashfs.trx



责任编辑: admin