参考视频:https://www.bilibili.com/video/BV1sy4y1R7QB

参考文档:https://docs.qq.com/doc/DS1RlUVhUYXp3YnhL

237历史固件:https://www.right.com.cn/forum/thread-8289500-1-1.html

237本人发布固件:https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=8261104

BleachWrt固件:https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=8301380&highlight=ax6000

一. 准备

最近在京东上419元购入REDMI AX6000路由器,刷入OpenWrt前需要知道一些概念,如下。

OpenWrt分为 官方版UBOOT大分区 版。官方版缺点是没有完全利用好路由器存储空间,优点是可以快速恢复到原厂固件。UBOOT大分区版缺点是恢复官方固件很麻烦,优点是可以刷入第三方大神编译的固件、插件等。

上面参考资料中提到的237是一个恩山论坛上的用户,他的id是以237开头的一串数字,因此大家简称为237大神/237固件。

除此之外我还尝试刷入了BleachWrt固件,具体有什么区别还没感受出来。

之所以要刷入第三方编译的固件,据说是因为官方版本OpenWrt的驱动支持较差,导致路由器信号不稳定(有待证实)。

具体的方法在参考文档中写的很详细,网上也有很多相关的内容。

BleachWrt控制界面

二. 问题

2.1 无法自动获取网关地址(校园网环境)

问题描述:

红米AX6000路由器原厂的网关地址是192.168.31.1。

BleachWrt默认的网关地址是192.168.1.1,用户名/密码是root/password。

WAN口连接校园网端口,主机通过网线连接路由器LAN口,或者笔记本连接WIFI均无法自动获取正确网关(获取到的还是192.168.31.1)。

暂时解决方法:

如果出现这种情况,需要手动修改本机IP为192.168.1.x,子网掩码255.255.255.0,然后才能访问路由管理界面。

或者在网络-接口-LAN口中指定IPv4: 192.168.31.1/24。

2.2 无法正确获取DHCP(校园网环境)

问题描述:

WAN口连接学校墙壁上的网口(暂时不清楚学校网络接口,可能存在多个DHCP和NAT),LAN口连接主机(IP为192.168.1.2)。使用笔记本连接WIFI时获取到的DHCP是192.168.1.2,这是让我感觉很困惑的地方,只要拔掉LAN口网线其他设备就无法上网了(因为无法与DHCP通信,无法更新IP和DNS)。

这也可能导致了iPhone/Mac连接WIFI无法正常上网,需要手动指定DNS(在家里测试却可以正常得到DNS地址,可能跟学校网络结构有关系,后面实测关闭IPv6相关服务可以解决)。

2.3 有时能上网有时上不了?

这就要注意一下:是不是设置的路由器IP地址和光猫、内网中的其他设备IP重复了。例如光猫的默认地址是192.168.1.1/24,通过交换机进入到出租屋中,那么在出租屋中的路由器IP就不能为192.168.1.1/24,建议设置成一些不常用的IP,例如192.168.100.1/24。

三. 总结

3.1 两种路由模式?

主路由模式:在家中测试一切正常,即光猫-路由器的简单网络结构。但是学校的网络结构复杂,包括可能禁用了某些服务导致第二节中提到的问题。

旁路由模式:适用于校园网拓展,但是需要手动设置路由地址。

3.2 自定义DNS解析?

设置方式:网络-DHCP/DNS-自定义挟持域名

说明:如果开了OpenClash,可能导致某些校园内网服务走了外网,因此可以自己解析域名(在教室正常联网的主机中 PING 域名,记录下 IP,然后填写到旁路由中)。

3.3 如何设置旁路由模式?

在接口中将WAN关闭,然后配置LAN。

学校的网口获取到的网络情况如下:

1
2
3
地址: 10.224.6.202
子网掩码: 255.255.254.0
网关: 10.224.6.1

STEP 1: 旁路由LAN口与主路由LAN口连接

STEP 2: 关闭WAN口开机启动

STEP 3: 配置LAN接口:

1
2
3
IPv4地址:填写上级路由同一网段下的某个地址(作为旁路由网关地址),例如10.224.6.210
IPv4子网掩码:与上述掩码对应,填255.255.254.0
IPv4网关:填主路由网关地址,即10.224.6.1(旁路由作为中转站)

STEP 4: 然后,在LAN的物理设置中,勾选wan接口。

STEP 5: DHCP服务器设置选项,选择忽略此接口(不提供DHCP服务,让主路由提供)。最后,需要自行为设备配置路由地址,指向旁路由(10.224.6.210),并且指定DNS(10.224.6.210)

如果需要旁路由接管所有设备,需要去主路由关闭DHCP等,当然在校园网里面我们没有权限操作主路由,只能自己设置路由地址了。

STEP 6(建议): 在LAN接口设置-DHCP服务器-IPv6设置中禁用所有服务。

配置本机IP

3.4 单、多线多播

3.4.1 简单认识多播

单线多播指一条网线,虚拟多个WAN口拨号,然后负载均衡上网,以达到x倍网速。多线多播则对应多条网线(可以理解为多条宽带)。

举个例子,校园网的出入口带宽很大,但系统对每个IP进行限速(例如下行20Mbps)。这就是为什么我们用一个校园网账号登陆多台设备(假设一个账户限制登陆5台设备),每台设备都可以跑到20Mbps。

那么有没有办法把这5个设备带宽聚合起来,一起上网冲浪呢?我们可以虚拟出4个WAN口(对校园网路由来说相当于4台不同设备),分别获取到 IP 后再利用负载均衡的方法上网,这样理论上可以使网速达到5*20Mbps=100Mbps。这就是多播的好处。

多播也有一些缺点:对处理负载均衡的设备(软路由等)性能要求较高,且多播容易造成网络不稳定。且大部分地区的运营商已经限制了多播,因此用在校园网或者公司内网上会比较好。

3.4.2 校园网多播

为了稳定起见,我先尝试虚拟了2个WAN口,测试下校园网能否达到3倍网速。在开始下面步骤前,确保上一级路由出来的网线接到路由器WAN口上,LAN口网线连到主机上。

STEP 1: 在BleachWrt中的 网络-多线多播 设置中选择 单线多播,选择外网接口为 LAN,虚拟WAN接口数量 2,最低在线接口数量2,关闭掉线检测,然后保存应用。在其他的OpenWrt系统中也是类似的。

STEP 2:网络-接口 中,把所有WAN口修改为 DHCP协议,并使用不同的主机名,设置虚拟WAN的MTU为1480,结果如下图所示。

三个WAN口,包括两个虚拟WAN口

STEP 3(可选): 设置负载均衡规则,查看多播接口是否正常在线,然后对网络进行测速。

直连校园网测试:

直连校园网

网线接路由器LAN口进行多播测试:

1694608521099n2IhJQ

结果:下行速率接近原来的3倍,上行速率达到原来的两倍。

注意:具体的速率会受到网络环境的影响,例如无线连接、多线程下载支持等。也和OpenWrt固件稳定性有很大关系,不稳定的容易掉线。

校园网多播参考文章:https://www.zouht.com/2994.html

3.5 OpenClash开启TUN模式

  • 安装完 Dev 内核后,可以配置代理网络节点,然后通过在 “openclash”>“全局设置”>“版本更新” 内更新内核,如你需要安装 TUN 内核,那么和以上方法一致,但需要将内核文件修改为 clash_tun 并给予 777 最高权限,以下列出 Dev 和 TUN 内核下载地址。
  • Dev 内核下载https://github.com/vernesong/OpenClash/releases/tag/Clash
  • Tun 内核下载https://github.com/vernesong/OpenClash/releases/tag/TUN-Premium
  • Tun 游戏内核https://github.com/vernesong/OpenClash/releases/tag/TUN
  • 使用 TUN 模式单独下载 TUN 内核,路径 /etc/openclash/core/clash_tun
  • 使用 TUN(游戏)模式就下载 TUN 游戏内核,路径 /etc/openclash/core/clash_game,clash_tunclash_game 都为文件名,
  • 如使用此方法无法识别内核,可以尝试卸载 OpenClash 后重新安装依赖和插件

3.6 定时关闭LED灯

如果将路由器放在床边,夜晚闪烁的LED灯会让人难以入睡,下面介绍如何定时关闭OpenWrt的LED灯。

LED亮度的配置文件路径为:/sys/class/leds/xxx/brightness

写个脚本将其关闭,保存到/etc/ledoff.sh

1
2
3
#!/bin/sh
# 如果亮度调为0,interval闪烁文件就不见了,所以调成1
echo 1 > /sys/class/leds/rgb\:network/brightness

写个脚本将其开启,保存到/etc/ledon.sh

1
2
#!/bin/sh
echo 255 > /sys/class/leds/rgb\:network/brightness

添加执行权限:

1
2
chmod +x /etc/ledoff.sh
chmod +x /etc/ledon.sh

系统-计划任务:

1
2
3
# 定时开关指示灯
0 23 * * * /etc/ledoff.sh && `date` "关闭闪烁" >> led.log
0 8 * * * /etc/ledon.sh && `date` "开启闪烁" >> led.log

进入终端查看是否配置成功:

1
2
cat /etc/crontabs/root  # 查看配置文件
crontab -l # 查看任务