目录
- 了解下ac2100状态灯
- Internet灯
- System灯
- 刷机前准备工作
- 刷openwrt
- ssh登录openwrt
- 可能遇到的错误,整理如下
- 刷回官方固件
- 安装tc脚本
- 安装openfortivpn
访问openwrt官网,我们可以知道一些路由器有漏洞,可以刷openwrt固件,做一些自定义操作。
我刷openwrt的目的主要是用tc脚本限速,因为我发现路由器本身的限速功能似乎有问题,并不能如你所期地进行限速。
刷机就是替换原厂的固件, 刷机包括刷boot和刷系统,boot类似于pc的bios,用于引导系统,通常我们需要刷入不死uboot,防止路由器变砖。 刷机的难点在于解锁原厂固件的后台,解锁后就可以随便刷机了。
了解下ac2100状态灯
ac2100有2个状态灯,上面的是Internet灯,下面的是System灯。
Internet灯
熄灭:WAN口未插入网线
橙色常亮:WAN口已插入网线,但上级网络故障
蓝色常亮:WAN口已插入网线,上级网络正常
闪烁:WAN口已插入网线,网络配置中
System灯
熄灭:关机状态或未连接电源
橙色闪烁:安全模式/系统升级中
橙色常亮(一分钟左右变蓝):系统启动中
橙色常亮(两分钟以上不变蓝):系统故障
蓝灯常亮:正常运行
刷机前准备工作
理了下很多网上资料,一些步骤我也不太确定是否必要,我按照我成功时刻的电脑设置记录如下。
- 用网线连接电脑和路由器的LAN口(不是WAN口)。
- 关闭防火墙。
- 禁用无关网卡。只留下电脑和路由连接的这个网卡。
刷openwrt
- step1:按openwrt官方文档里的Method A: Web Exploit 刷机。
刷完之后,用192.168.1.1登录openwrt网页界面。 - step2:开始配置openwrt无线中继上网模式。参考这篇文章。
点击2.4G频道的“scan”,然后选择你要连接的wifi,点击“Join Network”。
有时候scan不出来,可以插拔LAN网线或者插拔电源线试试。再不行就按住路由器上的reset键进行重置。
step2操作完之后,openwrt就可以作为无线中继路由上网。 - step3:刷breed,为了后续万一变砖头后的恢复。相当于是个恢复系统。
cd /tmp
opkg update
opkg install kmod-mtd-rw
insmod mtd-rw i_want_a_brick=1
wget --no-check-certificate /
mtd write /tmp/ Bootloader
需要执行上面的第2行到第5行,否则会报错“Could not open mtd device: Bootloader”。
ssh登录openwrt
现在openwrt已经是作为无线中继的模式,其他设备可以连接openwrt上网。
其实ssh登录有两种方式,一种是有线登录,pc电脑连接openwrt的LAN口,这种方式不讲了,这种方式要一直插一根网线,麻烦。
第二种方式是无线登录,pc首先要连接openwrt这个无线网络,然后ssh root@192.168.1.1。pc连接主路由,然后ssh到openwrt在主路由子网的ip,不行。
可能遇到的错误,整理如下
- case1:登录ssh可能报错。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:LNAcmhtRfDkjbeG4A5do384cND5Lm2mKXHx7z0owFKM.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending RSA key in /root/.ssh/known_hosts:1
remove with:
ssh-keygen -f "/root/.ssh/known_hosts" -R "192.168.1.1"
RSA host key for 192.168.1.1 has changed and you have requested strict checking.
Host key verification failed.
解决方案:删除/root/.ssh/known_hosts 文件即可。
- case2:登录breed。
登录breed控制台的方法,电脑网线接上路由器的LAN口,断电,长按住reset键,然后插电,此时访问192.168.1.1。
如果出现如下的文件未找到的错误,要清理下浏览器的缓存,重新访问即可。
刷回官方固件
刷了openwrt之后,再刷回官方固件的时候,遇到了非常多的坑。记录一下,备忘!
一定要先刷bootLoader,然后再刷官方固件。
bootLoader可以在百度云:/s/1aObxBzAcXJLe6u9yJO6pLA 密码:mei3 下载。
官方固件在这里下载。
- step1: 先进入breed web界面
按住reset键,再插电,灯system灯蓝色闪烁,松开reset键,访问192.168.1.1,此时进入breed web界面。 - step2: 刷官方bootloader
- step3: 刷官方固件
如果变砖头,可以用用“小米路由器修复工具" MIWIFIRepairTool. 来刷回官方版本。
工具可以在这里下载。
安装tc脚本
// precondition
opkg update
// tc
opkg install tc
// netem
opkg install kmod-netem
modprobe sch_netem
// ifb
opkg install kmod-ifb
modprobe ifb
ip link add ifb0 type ifb
ip link set dev ifb0 up
// setup
tc qdisc add dev br-lan ingress
tc filter add dev br-lan parent ffff: protocol ip u32 match u32 0 0 flowid 1:1 action mirred egress redirect dev ifb0
安装openfortivpn
opkg update
opkg install openfortivpn
参考:
- /hzlarm/article/details/123841001
- /