树莓派+Openwrt连接校园网,打破校园网设备限制

Uncategorized
1.4k words

前言

因为本校学生校园网只允许最多三个设备登录,对于同时拥有多个联网设备的我十分不友好,而且大多单片机如esp32的wifi模块是只允许一般的WPA/WPA2认证的,是不支持校园网的portal认证。所以我决定搞一个路由器。

然后我上网买了一个TP-Link的路由器,首先尝试将插一根网线到宿舍座位上的墙口上,然后发现根本就没有网络(我们学校有的宿舍可以)。然后我尝试无线连接校园网,将路由器MAC改成了我连过校园网的手机/电脑的MAC,无果。于是最后我就决定自己用手头上的树莓派搭建一个软路由。


参考链接:https://www.bilibili.com/read/cv4211352/

准备工作

所需物资

  1. 树莓派4B(最好带散热器)

  2. USB无线网卡一个

  3. 网线

  4. sd卡与读卡器

  5. 路由器一个(可选,我用的是TP-Link)

烧录Openwrt

我采用的烧录软件是win32disk,上网下载树莓派4B的Openwrt的镜像文件。下面是文件链接:

1
https://openwrt.cc/releases/targets/bcm27xx/bcm2711/

下载这个然后解压,烧录,插入树莓派,开机。

正式开始

配置好Openwrt

首先,要插入准备好的USB无线网卡,然后连一根网线到树莓派和你的电脑(可以检查一下树莓派有线网口上的指示灯亮没亮)。

等待树莓派开好机后,在浏览器中输入192.168.1.1,输入默认密码password

点击网络无线,然后点机你树莓派4B的无线网卡的扫描,找到校园网连接,后面的参数全是默认的,保存提交即可。

找到你的有线网卡,调成像我这样的Openwrt

重启树莓派,打开手机wifi,看看手机上能不能识别到Openwrt这个wifi,因为我这里已经弄好了,正常你们看到的Openwrt应该是不可上网

校园网认证

这是最重要的部分

用你电脑打开校园网认证地址,在这里我们要找到那个登录的请求URL。按下F12,复制下来你的请求URL

这里放个插曲(因为下面你可能会遇到),如果你发现,校园网认证网址(比如这个https://portal.csu.edu.cn/)打开后,网页很快的就反应了`无法连接`,而校园网wifi是连接上的,多半是DNS解析出了错(原因暂时不知,推测是校园网发现了你是路由器)。把网址改成10.1.1.1我们直接替它DNS解析好。

现在让我们来分析一下这个URL,别的学校应该也差不多

我们需要关注的就这几个东西,这里的IP地址,就是校园网分配个你电脑的IP地址,我们用在树莓派上也是ok的,随机数感兴趣的话可以看看前端的js脚本是怎么写的,这里也不用管。把这这个url保存好,待会用。

SSH链接树莓派

在你电脑上cmd窗口输入

1
ssh root@192.168.1.1

连上校园网后,先ping一下portal.csu.edu.cn,发现ping不通,ping一下10.1.1.1,可以ping通,就是我上面说的那个DNS的问题。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
C:\Users\LEGION>ssh root@192.168.1.1
/root/.zcompdump:145: unmatched '

# root @ OpenWrt in ~ [13:21:15]
$ ping portal.csu.edu.cn
ping: bad address 'portal.csu.edu.cn'

# root @ OpenWrt in ~ [13:21:27] C:1
$ ping 10.1.1.1
PING 10.1.1.1 (10.1.1.1): 56 data bytes
64 bytes from 10.1.1.1: seq=0 ttl=63 time=6.838 ms
64 bytes from 10.1.1.1: seq=1 ttl=63 time=5.550 ms
64 bytes from 10.1.1.1: seq=2 ttl=63 time=2.374 ms
64 bytes from 10.1.1.1: seq=3 ttl=63 time=4.579 ms
^C
--- 10.1.1.1 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 2.374/4.835/6.838 ms

然后用curl指令发送请求,-k是忽略不安全访问。

1
curl -k "你的请求URL"

如果成功了的话,通常会得到一个respond有认证成功的。如果不成功,就要自己找原因了。

在这次登录以后,校园网已经记住了树莓派的MAC。我就可以直接通过其他设备连接软路由WIFI,然后输入10.1.1.1就可以认证校园网了。

Openwrt计划任务

参考链接: https://blog.csdn.net/ET1131429439/article/details/128200042

你可以写个计划任务,让软路由自动登录校园网。也是上面的那个命令。

网络加速

这个是我用的USB无线网卡,能用但是很拉胯,通常使用来做实验用的。后面我给树莓派网线接上了一个TP-Link路由器,让路由器转发路由。这样我后来连接的都是路由器SSID名的WIFI,其实就等同于连接了Openwrt。

这是我后来的网速,勉勉强强

后记

也许有的同学觉得让手机连校园网再开热点,让电脑连校园网再开热点就行了。但是自己搓出来的软路由对我来说更有成就感(然后对比了一下同学的网速,自己的网速更快,成就感更高了)。此外软路由还有其他非常棒的用途(比如我给树莓派接了一个1TB的移动硬盘,下载易有云插件,就成为了一个小型的NAS主机),请自行搜索。

每个人总要踏出自己的舒适圈,要积极尝试,然后用知识改变命运。