(所谓R4AV2是指原厂固件版本为2.30.x的小米4A千兆版路由器)
参考文档:[【新提醒】202308]小米4A千兆版(R4AV2)刷官方openwrt-小米无线路由器及小米网络设备-恩山无线论坛
可以成功刷入openwrt
资料链接
一 开启ftp和telnet
准备好 python(linux和windows均可)下载OpenWRTInvasion-master.zip,解压缩OpenWRTInvasion-master,运行 .\python.exe .\remote_command_execution_vulnerability_v2.py ,测试过多次,第一遍不行,第二遍成功。
二、备份
1、telnet连接路由器。用户名root,密码root
root@XiaoQiang:~# cat /proc/mtd
dev: size erasesize name
mtd0: 01000000 00010000 "ALL"
mtd1: 00030000 00010000 "Bootloader"
mtd2: 00010000 00010000 "KF"
mtd3: 00010000 00010000 "Bdata"
mtd4: 00010000 00010000 "Factory"
mtd5: 00010000 00010000 "crash"
mtd6: 00010000 00010000 "cfg_bak"
mtd7: 00100000 00010000 "overlay"
mtd8: 00e70000 00010000 "OS1"
mtd9: 001a0000 00010000 "kernel"
mtd10: 00cd0000 00010000 "rootfs"
mtd11: 00010000 00010000 "Config"
#############
dd if=/dev/mtd0 of=/tmp/ALL_backup.bin
2、FTP工具下载备份文件到本地电脑
ALL_backup.bin是全量备份,下载好以后,在路由器上删除/tmp/ALL_backup.bin。再单独备份一下每一个分区,
dd if=/dev/mtd1 of=/tmp/Bootloader.bin
dd if=/dev/mtd2 of=/tmp/KF.bin
dd if=/dev/mtd3 of=/tmp/Bdata.bin
dd if=/dev/mtd4 of=/tmp/Factory.bin
dd if=/dev/mtd5 of=/tmp/crash.bin
dd if=/dev/mtd6 of=/tmp/cfg_bak.bin
dd if=/dev/mtd7 of=/tmp/overlay.bin
dd if=/dev/mtd8 of=/tmp/OS1.bin
dd if=/dev/mtd9 of=/tmp/kernel.bin
dd if=/dev/mtd10 of=/tmp/rootfs.bin
dd if=/dev/mtd11 of=/tmp/Config.bin
最后将全部备份文件下载到本地
head.bin是多余的,先不管
三、 刷openwrt官方固件
下载官方固件OpenWrt Firmware Selector
目前最新的为24.10.0
ftp 上传openwrt-24.10.0-ramips-mt7621-xiaomi_mi-router-4a-gigabit-v2-initramfs-kernel.bin到路由器的 /tmp 下,telnet到路由器,
执行以下命令。
mtd -e OS1 write /tmp/openwrt-24.10.0-ramips-mt7621-xiaomi_mi-router-4a-gigabit-v2-initramfs-kernel.bin OS1
完成后执行命令reboot重启动。
web进管理地址配置(刷完openwrt官方固件,路由器地址变成192.168.1.1)账号root 密码空
打开管理界面后,通过管理界面升级固件到openwrt-24.10.0-ramips-mt7621-xiaomi_mi-router-4a-gigabit-v2-squashfs-sysupgrade.bin
等待刷入完成即可。
#替换使用阿里源
sed -i 's_downloads.openwrt.org_mirrors.aliyun.com/openwrt_' /etc/opkg/distfeeds.conf
自定义构建固件
#预安装包
base-files busybox ca-bundle dnsmasq dropbear firewall4 fstools kmod-gpio-button-hotplug kmod-leds-gpio kmod-nft-offload libc libgcc libustream-mbedtls logd mtd netifd nftables odhcp6c odhcpd-ipv6only opkg procd procd-seccomp procd-ujail uboot-envtools uci uclient-fetch urandom-seed urngd wpad-basic-mbedtls kmod-mt7603 kmod-mt7615e kmod-mt7663-firmware-ap -uboot-envtools luci luci-i18n-base-zh-cn luci-app-frpc frpc curl openssl-util
openwrt-23.05.5-66d7ced07e3a-ramips-mt7621-xiaomi_mi-router-4a-gigabit-v2-squashfs-sysupgrade.bin,如果刷这个固件,就不用安装frpc了。最后我刷的就是这个自定义构建的固件。
强调几点:不刷别的教程的 breed;刷完2.4G和5G wifi都正常;LED指示灯也正常;固件带luci;以后升级openwrt直接在luci界面(web管理界面)的系统-备份与升级 刷写固件即可。
四、 刷回原厂固件
到官网 http://www1.miwifi.com/miwifi_download.html下载 小米路由器修复工具(MIWIFIRepairTool.x86)及相应的固件,即可刷回。
路由器lan口连接电脑网口,电脑ip设置成192.168.31.100 后续按照工具提示操作即可。
五、刷immortalwrt[可选]
官网:Index of /releases/24.10.0/targets/ramips/mt7621/
web进管理地址配置(刷完openwrt官方固件,路由器地址变成192.168.1.1)账号root 密码空。打开管理界面后,通过管理界面可以直接刷入immortalwrt固件
immortalwrt-24.10.0-ramips-mt7621-xiaomi_mi-router-4a-gigabit-v2-squashfs-sysupgrade.bin
初始密码空。账号root
六、配置
账号密码配置、联网配置、路由器网关地址配置、无线wifi配置、主机名、同步时间、时区等配置
配置局域网设备不获取公网ipv6地址
七、安装frpc
#
opkg update
opkg install luci-i18n-base-zh-cn luci-app-frpc frpc
配置frpc连接frps
frps服务端页面
八、安装ddns脚本
opkg update
opkg install curl openssl-util
https://gitcode.com/gh_mirrors/al/AliDDNSBash/blob/master/ReadMe.md
AliDDNSBash
修改脚本中的ak sk,以及ip获取命令,域名记录,等
#ip获取命令
ip -6 addr show |grep inet6|grep 2409|grep /64|grep 'scope global dynamic'|tail -1 |awk '{print $2}'|awk -F '/' '{print $1}'
DescribeDomainRecords_云解析_API调试-阿里云OpenAPI开发者门户
设置定时任务: */10 * * * * /bin/ash /overlay/ali_ddns.sh >> /tmp/ali_ddns.log
说明:*/10 * * * * :每10分钟执行一次 需要执行都脚本全路径 >> 执行日志输出位置全路径
crontab -e
*/10 * * * * /bin/ash /overlay/ali_ddns.sh >> /tmp/ali_ddns.log
配置cron服务开机自启动
九、ipv6远程访问路由器
安装uhttp luci界面,配置端口
防火墙放行2222、8433、8080端口,实现ipv6远程访问路由器
十、配置备份
配置完成,生成备份文件,下载配置备份文件保存