从AC2100官方固件后台开启SSH
1.1 登录web后台,获取token
- 首次登录路由器后台,会进行初始配置,设置好wifi及后台管理密码。
- 确认路由器固件版本是:2.0.23
- 在浏览器中获取url地址
- 复制stok后面的值 如果失效了就重新刷新网页 再复制一遍
1.2 在url中执行命令,开启ssh
使用上面获取的token,替换url中的后,复制到浏览器的URL中打开,即可执行命令
http://192.168.31.1/cgi-bin/luci/;stok=/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20nvram%20set%20ssh_en%3D1%3B%20nvram%20commit%3B%20sed%20-i%20's%2Fchannel%3D.*%2Fchannel%3D%5C%22debug%5C%22%2Fg'%20%2Fetc%2Finit.d%2Fdropbear%3B%20%2Fetc%2Finit.d%2Fdropbear%20start%3B
返回{“code”:0}即代表成功
上面是利用了官方固件的web注入漏洞执行命令
接下来修改密码为admin 还是老样子 同样会返回code0的字样
http://192.168.31.1/cgi-bin/luci/;stok=078de7f8249416a12268a0d28ddb6899/api/misystem/set_config_iotdev?bssid=gallifrey&user_id=doctor&ssid=-h%0Aecho%20-e%20%27admin%5Cnadmin%27%20%7C%20passwd%20root%0A
下一步就是ssh连接
ssh root@192.168.31.1
输入密码 admin
刷入不死鸟,配置环境变量
2.1.用python临时搭建一个本地http服务使得后续固件的拉取简单一点
python -m http.server
2.2.刷入breed_boot
你插的网线 所以去找插入网线的这个网卡 找到IP地址 我这边是31.50
使用ssh客户端登录后台后,上传breed-mt7621-xiaomi-r3g.bin到/tmp
root@XiaoQiang:~# cd /tmp
root@XiaoQiang:/tmp# wget 192.168.31.50:8000/breed-mt7621-xiaomi-r3g.bin
执行命令后,路由器自动重启,等重启重新进入web控制台;
nvram set uart_en=1
nvram set bootdelay=5
nvram set flag_try_sys1_failed=1
nvram commit
cd /tmp
mtd -r write breed-mt7621-xiaomi-r3g.bin Bootloader
稍等他重启 如果路由器在60秒内重启则代表刷BREED成功。
2.2.刷入成功后拔掉电源,按住reset同时接上电源等10秒即可。
2.3.设置PC为自动获取IP地址,访问http://192.168.1.1进入Breed Web恢复控制台;
这里你怕变砖或者有想刷回官方的打算 最好保存这些原厂的编译文件信号文件等等(重要!!!)
刷入openwrt包(breed的方法) 其一
当前可用的文件列表为:
- xiaomi_redmi-router-ac2100-initramfs-kernel.bin
- xiaomi_redmi-router-ac2100-squashfs-kernel1.bin
- xiaomi_redmi-router-ac2100-squashfs-rootfs0.bin
- xiaomi_redmi-router-ac2100-squashfs-sysupgrade.bin
保存后进入刷机页面,选择下载的后缀为 squashfs-kernel1.bin
的固件和squashfs-rootfs0的固件
进入breed 选择固件更新 选择闪存布局为openwrt
放入两个对应的文件上传
用命令行也行 前提是你得把包放进去 通过wget
mtd write openwrt-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-kernel1.bin kernel1
mtd -r write openwrt-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-rootfs0.bin rootfs0
稍等片刻 访问 192.168.1.1
就此,OpenWrt就更新完毕了
其他问题
自行编译固件上传(云编译) 本地编译太复杂这里不做说明
https://openwrt.ai/?target=ramips%2Fmt7621&id=xiaomi_redmi-router-ac2100
永久开启ssh或者telnet
在Breed 后台——小米R3G Bdata——加入字段telnet_en 值1、字段ssh_en值1
小米路由器去广告
在Breed 后台——小米R3G Bdata——把CountryCode改成EU或US,保存,然后重启路由器,恢复出厂设置。
软路由和硬路由
硬路由是采用特定的硬件设备,基于嵌入式系统架构,以自行开发或是现成的嵌入式操作系统如Vxworks,uClinux等等为操作系统,再配合系统厂商自行开发的路由软件,提供专门的路由器功能,软件与硬件是互相配合的。对硬件路由器的管理通常采用专用命令行、图形界面或网管软件实现,市面上售卖的路由器一般都是硬件路由器。
软路由是指利用台式机或服务器配合软件形成路由解决方案,主要靠软件的设置,达成路由器的功能;
想要性能好点就去淘x86架构的minipc做软路由,功耗稍微高一点。其次功耗低一点,首先推荐arm架构的,其次是mipis架构的。
gl.inet的路由器就有基于这些架构的,但是这块比较小众,不是玩家的话不太推荐。
如何选择路由器作为软路由
如果你只想刷openwrt有性价比的好多,比较有代表性的有小米的AC2100和红米AC2100,还有小米的4a也可以刷,除了停产和厂家倒闭的,大厂里面好像就剩小米家的这几款还在官方售卖了,价格一百多,也好刷,但是红米2100有部分东芝闪存有坏块。
歌华链的GHL-R-001很有性价比,MT7621A 880MHz 的CPU 、512M的内存、32M的储存、全1000M网口(3个LAN口,一个WAN口),还有USB3.0接口,二手一般70左右就能收到。
新路由3(newifi3)不行, 2.4Gwifi 太差,只开5G的话隔一堵墙就不行了。
红米ax5 ax6用不到一个月就出现断流,信号满格但连不上网。
CR6608说白了就是红米AX1800的移动定制版
刷梅林的可以看看网件的老款机器,也蛮有性价比的,腾达的ac18也可以,不过腾达的稍贵,估计要上150左右了。喜欢梅林的还是建议你华硕的路由器高低搭配,因为高端一点的华硕都有DDNS转发功能,而且华硕的中高端是真的保值,华硕的热血版就不错,可以看看电信定制的同款,配置一样,后面还多一个usb3.0,你单独使用不是还多一个小NAS
参考文档
https://www.bilibili.com/opus/69726930465718275
https://www.lotlab.org/2021/06/13/install-openwrt-on-redmi-ac2100/