前言
因为本校学生校园网只允许最多三个设备登录,对于同时拥有多个联网设备的我十分不友好,而且大多单片机如esp32的wifi模块是只允许一般的WPA/WPA2认证的,是不支持校园网的portal认证。所以我决定搞一个路由器。
然后我上网买了一个TP-Link的路由器,首先尝试将插一根网线到宿舍座位上的墙口上,然后发现根本就没有网络(我们学校有的宿舍可以)。然后我尝试无线连接校园网,将路由器MAC改成了我连过校园网的手机/电脑的MAC,无果。于是最后我就决定自己用手头上的树莓派搭建一个软路由。
参考链接:https://www.bilibili.com/read/cv4211352/
准备工作
所需物资
-
树莓派4B(最好带散热器)
-
USB无线网卡一个
-
网线
-
sd卡与读卡器
-
路由器一个(可选,我用的是TP-Link)
烧录Openwrt
我采用的烧录软件是win32disk,上网下载树莓派4B的Openwrt的镜像文件。下面是文件链接:
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窗口输入
ssh root@192.168.1.1
连上校园网后,先ping一下portal.csu.edu.cn,发现ping不通,ping一下10.1.1.1,可以ping通,就是我上面说的那个DNS的问题。
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是忽略不安全访问。
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。
这是我后来的网速,勉勉强强
后记
也许有的同学觉得让手机连校园网再开热点,让电脑连校园网再开热点就行了。但是自己搓出来的软路由对我来说更有成就感(然后对比了一下同学的网速,自己的网速更快,成就感更高了)。此外软路由还有其他非常棒的用途,请自行搜索。
每个人总要踏出自己的舒适圈,要积极尝试,然后用知识改变命运。