起因
以前就经常看到过疯狂的校园卡推销以及有关校园卡、校园网坑人的文章或者段子,不过一直是当个乐子来看的,看完也就不了了之了,自从大一报道开始,可谓是深有体会,真正在现实中体验到了校园卡/网营销的“疯狂”,让我印象深刻的是,一进学校除了能一眼看到的 欢迎新同学 这一类的字样和新生签到点,最好玩的是随处可见的校园网络办理点(你可能找不到自己的宿舍楼在哪里,但是你绝不会找不到哪里能办理校园网),现在记得他们所说的套餐
- 首月免费,次月开始......(ps第一个版本)
- 充100,送100!!(ps你怎么不提你月销49呢?)
- 现在办校园网送电脑端/手机端双端设备上网(ps最资本的一集!不过后面还发现真的有人只能用一个设备上网,有的人两个)
上面可能说的会有出入,因为本人至始至终都没办过这个卡,只是听说来的消息,不过在我优(po)化(jie)完网络后这些都将不复存在,
最主要是!不花钱!!
[!TIP]
做完这个项目深有体会的是,前人栽树,后人乘凉,我们站在巨人的肩膀上,在此感谢本文出现的技术分享前辈们🙏🙏
Warning
请注意,一次项目的完成可能会遇到各种奇奇怪怪无法解释的bug,请擅用互联网(当然!查找问题建议还是用bing、google,实在解决不了就用ChatGPT!)
那么开始吧
许多高校使用的校园网登录机制都是利用网关拦截数据包,当用户接入校园网且未登录时,进行上网操作发出的数据包就会被网关所拦截,但是用于域名解析(DNS)的UDP53端口发出的数据包就不会被拦截。
来自百度上的解释:
53端口:端口说明:53端口为DNS(Domain Name Server,域名服务器)服务器所开放,主要用于域名解析,DNS服务在NT系统中使用的最为广泛。通过DNS服务器可以实现域名与IP地址之间的转换,只要记住域名就可以快速访问网站。
一、分析免认证上网的可行性
1.ping指令测试
此处可以用一个简单的命令进行测试
- 连接校园网
- 在未进行身份验证的时候打开cmd输入
ping www.baidu.com
- 回车,会显示如下界面
如图所示220.181.38.149
也就是百度的DNS解析地址,即使显示请求超时,但DNS已经正常解析出来了,说明我们可以利用53端口将所有流量都封装为DNS解析流量来绕过登录系统来进行上网!
当然,如果学校进行了53端口的封锁那么将无法解析出220.181.38.149
的ipv4地址,如图
二、准备环境
我这里用的是
- CentOS7.5(一台 具有公网IP 的云服务器哪家云厂商的都行,个人比较推荐阿里云)
- 点我下载 softether-vpnserver-v4.43-9799-beta-2023.08.31-linux-x64-64bit.tar.gz(本文提供镜像文件,官网有墙)
如无法下载可用蓝奏云备用链接下载 备用下载 密码ak8d
三、部署环境(Linux端)
这里使用一台 CentOS7.5
系统服务器做为示例,实测CentOS7.X版本都可以,8.0貌似会出bug
1. 使用SSH工具连接服务器
- 推荐使用点我下载 MobaXterm_Professinal_20.3.zip或者备用下载地址连接上准备好的服务器,也可使用Windows或linux命令行连接。
2.上传准备好的 softether-vpnserver
服务端文件
3.更新软件源
- 第一次登录的时候需要更新软件源,在控制台输入
yum update
- 如果用的是Ubuntu系统则输入
apt update
4.安装编译环境
CentOS
yum install -y make gcc gcc-c++
Ubuntu
apt install -y make gcc gcc-c++
5.文件解压缩
通常默认都是用的root目录,即/root目录,同时这时候也能看见 softether-vpnserver
文件已经在这个目录下了,现在需要将他进行解压
6.运行及配置文件
- 依次输入
cd vpnserver/
进入解压好的vpnserver目录下
ls
列出目录
make
运行主程序
7.设置 SoftEther VPN 服务
- 依次输入
./vpnserver start
./vpncmd
- 会出现3个问题,看到问题依次输入
1
回车
第一个问题
回车
第二个问题
回车
第三个问题
8.设置管理员密码
9.添加开机自启动服务
vi /etc/rc.local
进入配置文件
/root/vpnserver/vpnserver start
在 exit 0 之前写入
保存退出即可
Tip
不会使用vi编辑器的可以看这个教程,本步操作使用的是i
ESC
:wq
等操作
四、部署环境(Windows)
接下来就是在Windows上进行图形化操作了
1.下载Windows端图形化管理软件并安装
2.添加服务器
3.添加用户
- 点击
管理虚拟 Hub
管理用户
- 左下角
新建
- 输入用户名(可以使用匿名的方式认证、也可以使用账号密码、甚至是证书认证也可以。安全策略那里可以设置此用户的最大下载速度、最大上传速度、mac地址、ip地址数量、黑名单id、限制总流量等等策略)
4.启用SecureNAT设置
因为我之前已经开启过了,所以图示为灰色
Caution
注意SecureNAT 和 Local Bridge(本地桥)不可以同时开启!否则会造成链路层死循环占用大量 CPU!!
五、OpenVPN 的搭建
由于 OpenVPN
的配置涉及到证书的生成,手动的配置极其繁琐复杂,但是这里 SoftEther
为我们提供了比较方便的服务器、客户端的一键配置,为我们节省了大量的时间和精力!
1.配置服务器端
- 点击
OpenVPN / MS-SSTP
- 设置一个UDP端口(通常校园网可用的为53/67/68端口),我这里选择的是53
- 点击
为 OpenVPN Cliernt 生成配置样本文件
将配置文件存在本地
2.修改下载下来的OpenVPN配置文件
- 选择压缩包中l3的文件
- 用记事本打开并找到形如
_unregistered_vpn384243554.v4.softether.net
的部分并修改其为服务器的ip地址
如果用vscode打开则在第
67
行
六、成功
如果你看到这里,并做到了这里,那么恭喜你,已经成功搭建了针对于校园网上网的服务器,你可以将生成好的配置文件集中保存并可以修改其为适合的名字,之后如需多台服务器则重做上述操作!
七、计划
这篇文章是关于如何从零开始搭建服务器,针对于管理人员的教程,接下来我还会再出一篇针对三端(iOS、安卓、Windows)用户如何使用的教程,那么这篇文章也就到这里了,感谢阅读!