怎么制作自己的校园网路由器(广州大学版)

动手编译适合自己路由器的 ipk

2024年更

庆已使用web端进行校园网认证,路由器已经不再需要使用插件登录模拟登录

但是同时一个账户只能有一台设备通过web登录,包括无感登录的设备,即最多只有两台设备可以直接接入校园网

而使用锐捷认证的不记在内,也就是说可以同时有3台设备直接接入校园网,如果带多台设备上课的话体验有比较大的提升

对于多人使用的情况,使用插件登录也不会占用某人的校园网账号,导致某人无法使用校园网wifi,有利于宿舍和谐

我现在是使用方式是在宿舍的电脑用web登录,在教学区通过手机热点让其他设备接入,勉强能用(校园网本来就烂,经过手机转发雪上加霜,导致远程桌面延时明显提升)

最后,这项技术对于普通的同学意义已经不是很大了,但也算是10年代技术大佬为后人留下的丰碑吧


庆用的是锐捷的系统,你能买到的锐捷校园网路由器都大同小异,直接购买即可

此文主要是写给愿意折腾的同学,将我本人组all in one服务器踩到的一些坑分享给大家,如果你想用树莓派软路由、x86虚拟机软路由抑或是自行刷机,甚至是想做路由器赚钱,都可以参考此文

不多bb,我们所要做的就是在路由器上安装一个插件,用这个插件客户端进行认证,以此来接入校园网

image

主流的插件有华中科技大学大佬开发的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
2
3
sudo apt-get update
sudo apt-get install git-core build-essential libssl-dev libncurses5-dev unzipgawk subversion mercurial
sudo apt-get install ccache

3. 下载openwrt sdk(openwrt编译工具)并解压

推荐解压目录到~目录,否则有报错的可能,注意,不可使用root账户编译

1
2
3
4
cd ~
wget https://downloads.openwrt.org/releases/21.02.0/targets/x86/64/openwrt-sdk-21.02.0-x86-64_gcc-8.4.0_musl.Linux-x86_64.tar.xz
xz -dk openwrt-sdk-21.02.0-x86-64_gcc-8.4.0_musl.Linux-x86_64.tar.xz
tar xvf openwrt-sdk-21.02.0-x86-64_gcc-8.4.0_musl.Linux-x86_64.tar

该命令目的在于把文件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
2
./scripts/feeds update luci
./scripts/feeds install-a

安装 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传上去,以下演示假设传到了根目录上

image

菜单栏选择“系统”>> “软件包”(外观不同,但是选项应该是一样的)

image

直接点击安装即可,如果没有文件管理插件或者是你的文件管理插件没有这个功能

image

image

点击确认即可安装

四、 使用插件

image

点击“网络”>> “接口”

image

选择“新接口”

image

协议选择“MiniEAP client”,名字随便,接口选择你的wan口,每个接口对应一个物理接口或者虚拟接口,需要根据自己的实际情况选择,该接口要连接到宿舍校园网网口

image

账户密码就是你校园网的,Packet plugins选我这个

image

然后将DHCP type改成我这个

不出意外的话就可以愉快使用了

转自:怎么制作自己的校园网路由器(广州大学版) - carry blog