红米AX6000刷openwrt

一、 固件件降级

需要利用老版本的漏洞才能开启ssh, 所以需要手动降级到1.0.60版本,如下图上传下载的固件然后点升级

红米AX6000刷openwrt_第1张图片

在这个升级过程会报如下错误: 出于安全考虑,不允许选择低于当前版本的固件进行升级。

解决方法:在地址栏的url最后一个0改成1或者1改成0,然后回车就可以直接升级了。

首先要确定下路由器系统的版本,如果不是可以解锁的版本,那么需要在“系统设置”里,把当前系统版本手动降级为1.6.0。如果当前版本已经是可解锁的则可以忽略这一步。目前可解锁的版本号有1.0.60;1.0.48;1.0.28。

二、获取stok

登录到路由器的后台,在地址栏上方会生成一串stok的数值。我们需要把stok等于后的这串数字复制下来,这串数字是解锁ssh的关键,不过在每个机器上生成的值都不同,而且每次重启路由器以后这个值都会改变。

红米AX6000刷openwrt_第2张图片所以每次路由器重启后,我们都需要重新复制一下这串代码。

三、打开红米AX6000的开发者模式

首先我们需要解锁下ax6000的开发者模式

1. 复制以下代码

http://192.168.31.1/cgi-bin/luci/;stok=://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3B%20zz%3D%24%28dd%20if%3D%2Fdev%2Fzero%20bs%3D1%20count%3D2%202%3E%2Fdev%2Fnull%29%20%3B%20printf%20%27%A5%5A%25c%25c%27%20%24zz%20%24zz%20%7C

注意把stok={token} 的字符{token}替换为路由器生成的stok值。 

然后把代码复制到浏览器的地址栏里再回车,看到返回过来这样一串字符就表示代码注入成功了。 

2. 粘贴命令重启路由器

http://192.168.31.1/cgi-bin/luci/;stok=://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?time

同样需要替换stok=后边的字符。代码注入成功之后,网页同样会返回这样一串字符并且开始重启路由器。

四、设置路由器的Bdata参数

1. 我们稍等两分钟等路由器重启好了之后,再次登录到路由器的后台。这时需要重新复制一下stok,因为此时路由器重启后stok的值已经改变。

接下来的步骤是设置Bdata参数来永久开启telnet,在新打开的浏览器地址栏中输入以下代码。

http://192.168.31.1/cgi-bin/luci/;stok=://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3B%20bdata%20set%20telnet_en%3D1%20%3B%20bdata%20set%20ssh_en%3D1%20%3B%20bdata%20set%20uart_en%

同样将stok=token中的{token}替换成路由器新的stok即可 

2. 再次在浏览器里输入以下代码来重启路由器:

http://192.168.31.1/cgi-bin/luci/;stok=token/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20

五、登录telnet开启ssh

现在我们已经开启了telnet,可以用telnet登录到路由器的后台。我们打开mobaxterm,选择telnet登录的方式。输入路由器ip地址 默认是192.168.31.1(这里是不用输入用户和密码)点击ok登录到telnet。接下来我们需要复制粘贴一些代码到telnet里执行即可。

1.  修改root密码为admin(不修改也可以通过SN计算默认密码)这里我们修改一下

echo -e 'admin\nadmin' | passwd root

2. 固化SSH

bdata set boot_wait=on
bdata commit
nvram set ssh_en=1
nvram set telnet_en=1
nvram set uart_en=1
nvram set boot_wait=on
nvram commit
sed -i 's/channel=.*/channel="debug"/g' /etc/init.d/dropbear
/etc/init.d/dropbear restart

输入命令后没有反馈信息,不用担心,已经执行成功了。

3. 永久开启SSH的代码(这样即使路由器重启也不会影响SSH)注意这步需要路由器能够联网。

mkdir /data/auto_ssh && cd /data/auto_ssh
curl -O https://cdn.jsdelivr.net/gh/lemoeo/AX6S@main/auto_ssh.sh
chmod +x auto_ssh.sh
uci set firewall.auto_ssh=include
uci set firewall.auto_ssh.type='script'
uci set firewall.auto_ssh.path='/data/auto_ssh/auto_ssh.sh'
uci set firewall.auto_ssh.enabled='1'
uci commit firewall

4. 接下来还需要修改时区设置,输入:

uci set system.@system[0].timezone='CST-8'
uci set system.@system[0].webtimezone='CST-8'
uci set system.@system[0].timezoneindex='2.84'
uci commit

5. 最后一步,关闭开发/调试模式。在提示符后输入:

mtd erase crash

6. 然后输入reboot重启路由

reboot

成功登录ssh之后,我们就相当于获取了路由器的最高权限。

六、官方分区版刷机

我们先来介绍下官方分区版的刷写方法,大致过程是先刷入一个过渡固件,再从过渡固件刷成openwrt固件。先用ssh的方式登录到路由器。

(一)、刷入过渡固件

1. 输入命令:

cat /proc/cmdline

2. 查看firmware(固件版本)=1或者0如果结果是0就执行代码:

nvram set boot_wait=on
nvram set uart_en=1
nvram set flag_boot_rootfs=1
nvram set flag_last_success=1
nvram set flag_boot_success=1
nvram set flag_try_sys1_failed=0
nvram set flag_try_sys2_failed=0
nvram commit
cd /tmp
curl -L http://sebs.oss-cn-shanghai.aliyuncs.com/initramfs-factory.ubi -o initramfs-factory.ubi    #这里下载不了,选下面的
(curl -L https://share.qust.me/d/%E8%B7%AF%E7%94%B1%E5%99%A8/redmi-ax6000/initramfs-factory.ubi -o initramfs-factory.ubi)#这个实用一点
ubiformat /dev/mtd9 -y -f /tmp/initramfs-factory.ubi
reboot -f

如果结果是1就执行:
nvram set boot_wait=on
nvram set uart_en=1
nvram set flag_boot_rootfs=0
nvram set flag_last_success=0
nvram set flag_boot_success=1
nvram set flag_try_sys1_failed=0
nvram set flag_try_sys2_failed=0
nvram commit
cd /tmp
curl -L http://sebs.oss-cn-shanghai.aliyuncs.com/initramfs-factory.ubi -o initramfs-factory.ubi    #这里下载不了,选下面的
(curl -L https://share.qust.me/d/%E8%B7%AF%E7%94%B1%E5%99%A8/redmi-ax6000/initramfs-factory.ubi -o initramfs-factory.ubi)#这个实用一点
ubiformat /dev/mtd8 -y -f /tmp/initramfs-factory.ubi
reboot -f

执行完毕后,路由器被自动刷入一个过渡固件。注意执行这步需要路由器可以联网。

3. 复制执行完就会重启,进入过渡固件的后台:

  • 后台地址:192.168.15.1
  • 用户名:admin
  • 密码:admin

红米AX6000刷openwrt_第3张图片

4. 我们需要更新一下这个X-wrt的过渡固件到完整版,点击系统-备份与升级,选择刷写新的固件。

红米AX6000刷openwrt_第4张图片

5. 从下载的附件中选择X-wrt的完整版固件上传,不保留当前配置。

红米AX6000刷openwrt_第5张图片

6. 刷写固件完毕后路由器会自动重启,刷新页面就可以进入新的X-wrt后台页面,用户名和密码还是admin/admin

红米AX6000刷openwrt_第6张图片

这个X-wrt的固件也是可以日常使用的,但是功能不如OpenWrt,继续下一步刷OpenWrt。

(二). 刷入Openwrt固件

1. 在刷写前需要设置 环境,由于这个后台默认关闭了SSH的root登录,也没有提供网页终端,需要手动打开SSH连接上终端。

点击系统-管理权-SSH访问,将密码验证和允许root用户使用密码登陆勾选上,点击保存并应用。

红米AX6000刷openwrt_第7张图片

2. 等待应用完成后,打开远程工具,使用SSH登录,需要注意的是刷入固件后登录地址变化了:

SSH地址:192.168.15.1

用户名:root

密码:admin

3. 登录后运行以下代码:

fw_setenv boot_wait on
fw_setenv uart_en 1
fw_setenv flag_boot_rootfs 0
fw_setenv flag_last_success 1
fw_setenv flag_boot_success 1
fw_setenv flag_try_sys1_failed 8
fw_setenv flag_try_sys2_failed 8

4. 回到浏览器的管理后台,选择系统-备份与升级,选择刷写新的固件。选择下载好的附件中ax6000-stock文件夹下的固件,有ax6000-full.bin(插件较多)或者ax6000-mini.bin(精简版)可供选择,full和mini版差异在于默认集成插件,其他一致。

5. 上传固件后会出现报错,这里取消选择所有的复选框,只在强制升级那打勾,然后点击继续,稍等几分钟路由器的指示灯变成蓝色和绿色常亮就刷好了。

红米AX6000刷openwrt_第8张图片

6. 然后就可以通过浏览器访问OpenWrt的后台:

后台地址:192.168.6.1

用户名:root

密码:password

你可能感兴趣的:(智能路由器,网络)