校园网路由器
最近看到很多人讨论校园网路由器,比较常见的做法是找"学长学姐"收一台能在广大里面用的路由器,不过我一看,市面价几十块不到的n手路由器,怎么经过"学长学姐"的手,加上校园网的功能,就要卖到一百五十多甚至两百多的价格呢?!
于是乎我打算写一篇教程揭秘"校园网路由器"的配置,从淘宝买一个一般的路由器回来自己动手弄一下,可以省很多钱还可以体验动手的乐趣 (^_^)
注意:本文涉及Linux操作系统与命令行操作。
选购
不是随便一个路由器都可以搞校园网的,市面上常见的大多数家用级路由器,像是那些著名的“huaw*i”之类的家用路由器,是不支持刷openwrt(包括各种魔改衍生等版本)的。我们需要找到支持刷openwrt系统的路由器。一般来说用搜索引擎找一下推荐的openwrt路由器就能找到。价格从几十块到几百块不等,考虑到宿舍这个环境网速也没多快根本不需要很高的性能(别以为路由器买好了网速就能快,网速是学校方的网络设备决定的)所以一百块左右或者几十块的就够了。有一种特别热门的便宜路由器叫“斐讯”的,不过直接淘宝搜这个搜不到(不可描述的原因),然后你们从“师兄师姐”收的上百块甚至两百块的路由器很有可能就是几十块的“斐讯路由器”整的。本教程使用“新路由3”为例,读者可以跟我买同款路由器,当然读懂本文可以自行选择更便宜的或者更贵的路由器(若你是老司机)。收手吧啊雕,外面全是M7621
更新系统
系统更新包下载
由于我买的是已经刷好openwrt的路由器(潘多拉lede等openwrt衍生版也算openwrt),所以直接通过“升级”来更新系统。不同的路由器有不同的刷系统方法,有些需要刷Breed,详细的过程可以搜索引擎搜索一下。
下载适用于您设备的OpenWrt固件
搜索一下你的路由器型号,然后下载“sysupgrade”的映像。本文编写时使用19.07.7版系统。下载完成后有一个openwrt-19.07.7…..bin文件,“bin"表示"binary"二进制文件。(反正是编译好的二进制文件)
连接路由器
使用一条网线连接路由器的随便一个LAN口与电脑的网线接口。有的笔记本电脑可能没有网线接口需要一个USB转接器。
浏览器打开"192.168.1.1"IP地址,进入路由器管理页面(有的路由器可能不是这个管理地址,详细询问卖家或者查看路由器的铭牌)
这台路由器的用户名是"root”,默认密码"password",有的可能不一样,详情询问卖家。登录进路由器管理页面准备更新系统。
系统->备份/升级->刷写新的固件
注意到提示上传sysupgrade格式的固件映像文件,不需要保留配置把勾取消掉就好。选择刚才下载的.bin文件然后刷写。
然后处理,注意不要断电以及断开连接。
备注:21版本的openwrt更新包由于Kernel是5.10的,会提示不兼容。所以建议选择19.07.7版本。新的版本据说可以通过Breed的方式刷入,不确保会不会翻车。
更新完毕,系统变成英文界面,用户名root,无密码直接Login。(都已经是大学生了不要害怕英文)
系统更新完毕,升级到openwrt 19.07.7版本。
为什么使用原版openwrt?衍生版(lede潘多拉)不好吗?
我是原版信仰,喜欢刷其他衍生版也可以,注意版本号,后面需要寻找对应的SDK。路由器是敏感的网络设备,别人魔改的衍生版可能某种程度上更好用但不确定是否安全。
至此,更新系统完成。建议进入System->Administration修改密码。
编译软件
准备刷写那个校园网插件"MiniEAP",以下内容参考链接:https://www.snow-mountain.life/mentohust-minieap/,增添了一些图片。
如果买到的路由器跟我那台一样(Newifi3 D2),本文末尾附件给出了编译好的三个ipk文件,就不用自己折腾Linux搞交叉编译了。
系统准备
接下来的操作在windwos下无法完成,需要使用Linux,方法有虚拟机、WLS、双系统、多一台实体Linux电脑等。
本教程使用Ubuntu20.04 LTS系统,Linux命令行基础操作本教程不涉及。
初始化编译环境
安装相关依赖库
|
|
安装C编译环境
|
|
寻找SDK
SDK(Software Development Kit)软件开发工具包,使用openwrt提供的SDK,加上校园网插件的源码,就可以编译出所需的插件。不同路由器的架构不一样,所以需要用不同的SDK进行编译。没接触过Linux的可能对以下内容比较陌生,上了"嵌入式Linux"这门课的同学应该对交叉编译不陌生。
下载
https://downloads.openwrt.org/
先选择版本号(本教程19.07.7),一步步选择你的路由器对应的硬件,例如本教程使用的新路由3属于/ramips/mt7621/,最下面找到所需的SDK的压缩包
右键复制链接地址,然后在命令行界面直接使用wget下载。
|
|
解释一下上面的命令:在~目录(用户默认目录)新建一个Router文件夹并进入,然后下载SDK压缩包。
解压
|
|
提示:可以按Tab键补全。tar是解压,cd是进入目录。解压出来的目录openwrt-sdk-19.07.7-ramips-mt7621_gcc-7.5.0_musl.Linux-x86_64.tar.xz
就是SDK目录。
编译
克隆MiniEAP的git仓库
|
|
此处使用的源并非是 MiniEAP 的官方源,而是ysc3839 大佬的项目,区别在于大佬加入了 GZHU 的特定字段,具体可以看这里
选择要编译的包
|
|
回车"[Select]",空格打标记"[*]"。
依次选择 “Network” “minieap”,空格"[*]", “save” “OK” 然后一直"Exit"回到控制台。
开始编译
|
|
ipk 文件就在 bin/packages/(处理器架构)/base/
中
编译 luci-proto-minieap
为了能直观的使用 MiniEAP 我们还需要编译对应的 luci
方法些许不同
- cd进SDK目录,安装 luci feed
|
|
- 克隆git
|
|
- 选择要编译的包
|
|
过程与上面的make menuconfig差不多。依次选择 “LuCI” “Protocols”
“luci-proto-minieap” 这里按空格把[M]变成[*]
“save” “OK” 然后一直"Exit"回到控制台
- 开始编译
|
|
同样在 /bin/ 中的某个文件夹里就能找到啦
把编译好的文件拿出来
使用sftp工具,这里我使用的是xftp:
可以直接复制到自己的windows电脑。
这一步不是必要的,如果用的是带GUI的Linux系统电脑直接可以从浏览器配置路由器。
安装
获得了三个.ipk插件安装包后,准备安装minieap插件。
System->Software, Upload Package..
注意:一个一个安装包上传安装,先安装minieap-gzhu_0.92.1-4_mipsel_24kc.ipk
,再安装luci-proto-minieap_2.1-1_all.ipk
图形界面,最后安装luci-i18n-minieap-zh-cn_2.1-1_all.ipk
语言包。
完事后System->Reboot重启路由器
配置
系统语言可以通过安装中文语言包显示中文,不过已经是成熟的大学生了不要惧怕英语。
Network->Interfaces,make sure the protocol of wan is DHCP Client
Add new interface as below.
Create Interface
Then enter your Student ID as “username” and your School network password as “Password”.
Packet plugins: rjv3
RJv3 Plugin Settings
DHCP type change to “Double Auth”
Then Save, and Save&Apply
填写自己的校园网账号就在MINIEAP Interface->General Settings上,Edit修改。每次改完都要Save退出并且Save&Apply应用。
内容参考链接:https://www.snow-mountain.life/mentohust-minieap/
疑问
遇到问题?发邮件联系 hanriri@hanriri.com,或者在下面评论区留言。
附件
newifi3 D2 编译好的三个文件
luci-i18n-minieap-zh-cn_2.1-1_all.ipk
luci-proto-minieap_2.1-1_all.ipk
minieap-gzhu_0.92.1-4_mipsel_24kc.ipk