缘由

  1. 计算机人应该有一个好的网络环境,针对一些无法走系统代理的软件,可以在路由器端进行代理。例如Forge。
  2. 通过openwrt可以实现校园网账号多播从而达到网速叠加的效果,可以加快网页打开速度。
  3. openwrt具有丰富的插件来对网络环境进行优化和定制。
  4. SteamLink流式媒体传输需要较好的内网环境,需要WIFI6的支持才能流畅体验。

硬件环境

  1. Manjaro Linux (可使用其他操作系统)
  2. Redmi AX6S路由器

刷入openwrt

参考教程:

https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=8187405&page=1&authorid=364126

https://qust.me/post/ax6s/

刷入开发板固件,解锁telnet和ssh,然后刷入openwrt底包

首先路由器通电,连接路由器WIFI,按照说明书指示进行初始设置,进入小米路由器后台。然后使用开发版固件进行升级

img

等待路由器重启后telnet连接路由器

1
telnet 192.168.31.1

用户名:root,密码:通过该网站进行计算 https://www.oxygen7.cn/miwifi/ 。SN码可在路由器身上找到。

接着需要让路由器连接上网。使用网线连接至校园网的路由器上,校园网是通过DHCP协议认证的,所以接上网线就能获取IP了。但是还需要进行校园网认证才能上网。对于我的学校是使用 Dr.COM 系统进行认证的。可以使用 curl 来进行认证。但是也可以直接连接路由器 WIFI 输入校园网认证的 IP 地址 进行认证。请注意,不能输入域名,因为此时无法访问 DNS 服务器进行域名解析。可以在别的已经连接校园网的设备上 ping 校园网认证主机查询。

如何检测是否已经连接上网?使用 curl www.baidu.com 验证即可。

接着刷入 openwrt 底包

1
2
3
cd /tmp
curl -L https://sebs.oss-cn-shanghai.aliyuncs.com/factory.bin -o factory.bin
mtd -r write /tmp/factory.bin firmware

等待路由器重启即可

刷入过渡固件后会自动重启,Wi-Fi 名会变为 openwrt-5G。

  • 默认后台:192.168.6.1
  • 用户名:root
  • 密码:password

这样就刷写成功 openwrt 了

刷入第三方固件

下载地址:https://sssddddff.lanzouv.com/icvUt09ygync

img

在路由器后台选择-System-Backup / Flash Firmware

img

不要勾选 Keep settings,然后 Image 选择文件选择 openwrt 固件,然后点击 Flash image。

img

最后选择 Proceed 即可。

image-20220903213233890

openwrt 基本配置

修改系统密码和开启 ssh 登录

在 系统 > 管理权 菜单下可以修改系统密码

image-20220903214025011

往下拉即可添加 SSH 秘钥,可以实现免密登录路由器,更加安全。

公钥位置在系统的 ~/.ssh/ 目录下,可以通过命令生成公钥,一般以 .pub 结尾,上传文件内的内容即可。

1
2
# 生成公钥
ssh-keygen -t ed25519 -C “您的邮箱地址”

然后配置 ~/.ssh/config 这个 IdentityFile 为刚刚生成的公钥位置

1
2
3
4
5
Host ax6s
HostName 192.168.6.1
User root
Port 22
IdentityFile ~/.ssh/id_ed25519

配置好了后就可以直接使用 ssh ax6s 来登录了

网络接口介绍

可以通过使用 ifconfig 命令来查看网络接口,下面介绍几个重要的接口

  1. br-lan 如果你的设备含有不少于1个的LAN接口,那这个设备在不同的接口之间可能有一个被称为交换(switch)的特殊连接。这个可以用来将 lan 口变成 wan口,后面的多线多播需要用到
  2. lo 本地回路,即 localhost 127.0.0.1
  3. eth0 即物理网卡
  4. ra ra0 即两个无线网口
  5. eth0.1 虚拟网卡 vlan
  6. eth0.2 虚拟网卡

多播设置

参考教程:https://jokeme.top/p/openwrt_multicast/

多播分为单线多播和多线多播两种。单线多播是通过 mwan3 虚拟网卡实现获取多个 IP ,多线多播则是直接使用多个 WAN 接口获取多个 IP 。

但是这里可以使用该固件内置的插件来设置

image-20220903220004616

如此设置后然后在保存&应用即可

接下来就要为每一个虚拟出来的 vwan 登录校园网。

笔者使用 go 语言写了一个小程序能够不间断的使用每一个 vwan 向校园网发起认证。但是只能支持我自己学校(HNUST)的认证协议,可以根据自己需求更改源代码然后交叉编译。

代码地址:https://www.github.com/notnotype/tiny_script

一共有两个文件

  • hnet
  • hnet.yml

一个配置文件,一个可以执行文件。下载下来后上传到 openwrt 里面

image-20220903220530430

然后运行以下命令将上传上来的文件移动到 /root 目录,并给与权限

1
2
3
cd /root
mv /tmp/upload/* .
chmod +x hnet

然后运行它

1
./hnet -c hnet.yml -k

这样他就会一直运行了。

可以使用 systemctl,screen 或者 nohop 等工具后台运行它。

运行效果:

image-20220903221134942