小米路由器4A千兆版刷Openwrt固件与设置

本文介绍了小米路由器4A千兆版刷Openwrt固件跟路由器的一些设置问题 , 由于小米路由器官方MiWiFi固件阉割了非常多的功能 , 所以把路由器刷入Openwrt固件能大大提高使用体验 。
小米路由器4A千兆版
官方固件的优缺点小米路由器的官方固件(MiWiFi固件)就是基于Openwrt魔改的 , 但是屏蔽了很多功能 。这里列举一下官方固件的优缺点 。
长处有官方支持(其实没有 , 基本上几个版本后就会停更);比较稳定;配置简朴 , 基本上是开箱即用的;自带排障功能(虽然没什么用就是了) 。缺点没有Shell , 功能高度限制 , 很多参数无法修改 。
Openwrt对路由器这种嵌入式设备进行刷机操作有较大的风险 , 可能会造成无法开机(变砖)、无线或(和)有线性能下降、设备过热导致烧毁、原机增值功能(例如保修)缺失等问题 。建议有嵌入式、Linux、防火墙、网络维护等基础概念的同学操作 。
刷写 Openwrt 的操作建议全程在 Linux 或 macOS 下操作 , Windows系统可能会出现各种情况不明的错误 。
预备首先需要下载的是 Openwrt 固件 , 这里选择官方编译的版本 。在恩山等无线论坛也有第三方编译的固件 , 会加入更多功能或优化 , 这个自己选择适合自己的就好 。官方固件下载地址:openwrt.org  , 南京大学镜像源  , 清华大学镜像源。然后在列表中寻找对应型号即可 , 我们本次使用的设备是小米路由器4A千兆版 , 对应的文件名就应该为openwrt-21.02.3-ramips-mt7621-xiaomi_mi-router-4a-gigabit-squashfs-sysupgrade.bin , 注重需要下载sysupgrade包而非initramfs包 。
接下来需要下载 OpenwrtInvasion 脚本 , 该脚本用于通过漏洞对官方固件开启 ssh。Github地址:acecilia/OpenWRTInvasion  , 可以采用git clone的方式也可以直接下载ZIP 。
假如需要刷入 Padavan 或其他固件还需要下载一份 breed  , 可以从 Boot and Recovery Environment for Embedded Devices 中下载 , 选择对应的CPU和型号即可 。刷入官方编译的OpenWRT不需要从breed刷入 , 可能会造成bootloop 。
可能还需要一个额外的网络环境保证下载其他必要的文件 。
开启官方固件的SSH将网线连接至电脑 , 在浏览器内打开小米路由器的后台治理地址 , 默认是http://192.168.31.1 , 登录后将地址栏的整段文字复制出来备用 , 整段地址应该是形似http://192.168.31.1/cgi-bin/luci/;stok=xxx/web/home的 , 此时不要关闭已登录后台的浏览器 。
然后打开Terminal , 输入如下指令安装依靠:
pip3 install -r requirements.txt依靠安装完成后执行脚本解锁官方SSH:
python3 remote_command_execution_vulnerability.py中间需要输入上面保存的地址中的stok参数 , 直接整段复制粘贴进去即可 。
开启完成后通过ssh进入路由器后台 , 默认密码是root:
ssh [emailprotected]刷入 OpenWRT 固件将上面下载的固件文件用WinSCP传入/tmp/目录 , 并重命名为a.bin(重命名为啥都行 , 不改也行 , 方便输入就行) , 然后输入如下命令刷入 OpenWRT :
# 切到tmp目录cd /tmp# 输入固件mtd -e OS1 -r write firmware.bin OS1开始刷写后会先擦除对应分区然后写入固件文件 , 此时无论如何不要动路由器、网线和电源 , 等待电脑正常获取到IP且路由器主LED灯变为蓝色时即可进入后台 。
设置这里仅列举轻易遗忘或者需要查找外部数据的项 , 其他例如修改root密码这种基础操作在此略过 。这里列出的设置项的示例值仅为推荐选项 , 实际网络环境非常复杂请根据自己的网络环境变通设置 。这里没有提到的设置项则一般为默认值不必更改 。
更换 OPKG 软件源(nju)官方帮助页面
shell 执行如下命令自动替换:
sed -i 's_downloads.openwrt.org_mirror.nju.edu.cn/openwrt_' /etc/opkg/distfeeds.conf更换 OPKG 软件源(tsinghua)官方帮助页面
shell 执行如下命令自动替换:
sed -i 's_downloads.openwrt.org_mirrors.tuna.tsinghua.edu.cn/openwrt_' /etc/opkg/distfeeds.conf汉化到System→Software安装luci-i18n-base-zh-cn软件包并Ctrl+F5强制刷新后生效 。
旧版本可能需要到System→System→language更换为简体中文 。
更改NTP服务器路径:系统→系统→时间同步 , 候选服务器更改为如下全部或任意几个即可 。