制作自己的校园网路由器
怎么制作自己的校园网路由器(广州大学版)
2024年更
庆已使用web端进行校园网认证,路由器已经不再需要使用插件登录模拟登录
但是同时一个账户只能有一台设备通过web登录,包括无感登录的设备,即最多只有两台设备可以直接接入校园网
而使用锐捷认证的不记在内,也就是说可以同时有3台设备直接接入校园网,如果带多台设备上课的话体验有比较大的提升
对于多人使用的情况,使用插件登录也不会占用某人的校园网账号,导致某人无法使用校园网wifi,有利于宿舍和谐
我现在是使用方式是在宿舍的电脑用web登录,在教学区通过手机热点让其他设备接入,勉强能用(校园网本来就烂,经过手机转发雪上加霜,导致远程桌面延时明显提升)
最后,这项技术对于普通的同学意义已经不是很大了,但也算是10年代技术大佬为后人留下的丰碑吧
庆用的是锐捷的系统,你能买到的锐捷校园网路由器都大同小异,直接购买即可
此文主要是写给愿意折腾的同学,将我本人组all in one服务器踩到的一些坑分享给大家,如果你想用树莓派软路由、x86虚拟机软路由抑或是自行刷机,甚至是想做路由器赚钱,都可以参考此文
不多bb,我们所要做的就是在路由器上安装一个插件,用这个插件客户端进行认证,以此来接入校园网
主流的插件有华中科技大学大佬开发的mentohust
hyrathb/mentohust: mentohust加入v4支持 (github.com)
和其算法开发的minieap
updateing/minieap: 可扩展的 802.1x 客户端,带有锐捷 v3 (v4) 算法插件支持 (github.com)
minieap庆内亲测可用,以下以minieap为例
一、装系统
主流的开源路由器系统为openwrt,各种插件也是基于此开发的,先给你的机子安装上openwrt,方法各异自行百度,也可以直接买刷好op的
二、搞到插件
openwrt是基于linux的,不同的处理器都可以安装openwrt,但编译好的固件只能用于一种架构的处理器,如果网上找不到,只能自行编译插件(编译环境的处理器架构和最终成品的处理器架构没关系)
我们需要编译minieap-gzhu、luci-proto-minieap,前者为认证插件本体,后者为其界面,openwrt的软件包是ipk文件
个人编译的x86架构插件,x86软路由或者x86虚拟机可直接用
链接:https://pan.baidu.com/s/16GR_BS3LvcJf1Y4KcQuuDA
提取码:6tmt本文参考 动手编译适合自己路由器的 ipk | 雪山深处 (talaxy.site) 另一位学长的教程
0. 准备好魔法环境
dddd
1. 安装linux环境
推荐使用wsl或者其他虚拟机(虚拟机网络请使用nat模式)方法自行百度
1.5 推荐使用ssh控制linux用scp拷文件(直接在虚拟机钟使用图形化界面也不是不行)
安装ssh服务
1 | sudo apt-get install openssh-server |
宿主机推荐使用winscp客户端连接虚拟机ssh
2. 安装编译环境依赖
终端钟敲入以下代码
1 | sudo apt-get update |
3. 下载openwrt sdk(openwrt编译工具)并解压
推荐解压目录到~目录,否则有报错的可能,注意,不可使用root账户编译
1 | cd ~ |
该命令目的在于把文件sdk文件解压到~/目录,如果上述命令执行失败,可以手动将压缩包解压后上传linux
4. 开始编译
a. 编译minieap-gzhu
1 | cd ~/openwrt-sdk-21.02.0-x86-64_gcc-8.4.0_musl.Linux-x86_64 |
进入sdk目录下
1 | git clone https://github.com/ysc3839/openwrt-minieap.git -b gzhu package/minieap |
将插件源码克隆到本地
1 | make menuconfig |
进入编译菜单,依次选择 “Network” “minieap” “save” “OK” 然后退出到命令行
1 | make package/minieap/compile V=s |
开始编译
ipk 文件就在 bin/packages/(处理器架构)/base/
b. 编译luci-proto-minieap
1 | cd ~/openwrt-sdk-21.02.0-x86-64_gcc-8.4.0_musl.Linux-x86_64 |
进入sdk目录下
1 | ./scripts/feeds update luci |
安装 luci feed
1 | git clone https://github.com/ysc3839/luci-proto-minieap.git package/luci-proto-minieap |
将插件源码克隆到本地
1 | make menuconfig |
进入编译菜单,依次选择依次选择 “LuCI” “Protocols” “luci-proto-minieap” “save” “OK” 然后退出
1 | make package/luci-proto-minieap/compile V=s |
开始编译
ipk 文件就在 bin/packages/(处理器架构)/base/
三、 安装插件
将刚刚得到的ipk包传入openwrt系统中,如果你的openwrt安装了文件传输插件,那可以直接用,如果没有,也可以用ssh传上去,以下演示假设传到了根目录上
菜单栏选择“系统”>> “软件包”(外观不同,但是选项应该是一样的)
直接点击安装即可,如果没有文件管理插件或者是你的文件管理插件没有这个功能
点击确认即可安装
四、 使用插件
点击“网络”>> “接口”
选择“新接口”
协议选择“MiniEAP client”,名字随便,接口选择你的wan口,每个接口对应一个物理接口或者虚拟接口,需要根据自己的实际情况选择,该接口要连接到宿舍校园网网口
账户密码就是你校园网的,Packet plugins选我这个
然后将DHCP type改成我这个
不出意外的话就可以愉快使用了