四年前买的WNR3500L路由器正在用DualWan Tomato固件,上周六早上起来发现无法上网,连接到路由器发现已经复位了,不知道是被攻击还是Bug引起的,其中LAN MAC是00:00:00:00:00:01,其它地址依次加1,想恢复成最近一次备份,结果提示不是同一个路由器无法恢复,通过MAC地址修改也无法修改LAN MAC地址。
网上搜索修改tomato lan mac的方法,这里提到修改cfe的方法,结果我telnet连上路由器发现没有cfe项,只有pmon(cat /proc/mtd命令):
dev: size erasesize name
mtd0: 00040000 00010000 “pmon”
mtd1: 00750000 00010000 “linux”
mtd2: 0066fc00 00010000 “rootfs”
mtd3: 00070000 00010000 “jffs2”
mtd4: 00010000 00010000 “nvram”
mtd5: 00010000 00010000 “board_data”
想用修改cfe的方法,但发现pmon里没有00:00:00:00:00:01这个MAC,就放弃了。
后来在这里找到只能算是临时的方法,就是直接修改nvram,这种方法在路由器复位后失效,又得重来。
首先是翻看WNR3500L外壳,找到分配的MAC地址,用作起始MAC,即LAN MAC,也可以选择其它MAC地址。
先telnet连接到路由器,使用nvram show | grep =00:00找到如下的MAC列表:
et0macaddr=00:00:00:00:00:01
et1macaddr=00:00:00:00:00:02
lan_hwaddr=00:00:00:00:00:01
wan_hwaddr=00:00:00:00:00:04
wl0_hwaddr=00:00:00:00:00:03
假设想把LAN MAC设成00:25:9A:8C:21:22,那对应上面把01项改成起始22项,其它项按数值的偏差依次修改,结果如下:
et0macaddr=00:25:9A:8C:21:22
et1macaddr=00:25:9A:8C:21:23
lan_hwaddr=00:25:9A:8C:21:22
wan_hwaddr=00:25:9A:8C:21:25
wl0_hwaddr=00:25:9A:8C:21:24
然后依次执行如下命令:
nvram set et0macaddr=00:25:9A:8C:21:22
nvram set et1macaddr=00:25:9A:8C:21:23
nvram set lan_hwaddr=00:25:9A:8C:21:22
nvram set wan_hwaddr=00:25:9A:8C:21:25
nvram set wl0_hwaddr=00:25:9A:8C:21:24
nvram commit
提交成功后执行reboot即可。
实测发现,只要把前三条MAC修改,后面的两条MAC在重启后会自动追加,如果改成别的内容,也会自动改成追加方式。
Tags: 路由器