不同的校园网环境有着不同的解法,我们使用的是锐捷(ePortal)认证系统,使用路由器直接连接校园网,并没有设备限制,不需要统一UA等其他操作,不同的网络环境有不同的解法。


自动化登录:

解决无法打开校园网认证页面

很多人在连接路由器或连接 OpenWrt 的时候会出现一个问题,就是无法打开校园网认证页面,无法打开选网认证页面,无法获取认证后的Callback信息,因为路由器系统会把解析到局域网ip的域名解析拦截掉(并且会强制使用域名访问),丢弃包含 RFC1918 地址的上游响应,同时丢弃包含 RFC4193、链路本地地址和私有 IPv4 映射 RFC4291 IPv6 地址的上游响应。 为了解决这个问题,你可以使用MAC地址克隆,将路由器的Mac地址克隆为你可以登录的且不使用的设备的Mac地址。但其实有个更方便的方法,就是在DHCP/DNS 过滤器,添加域名白名单,将私有IP段的域名正常解析。DHCP/DNS 过滤器域名白名单

不推荐关闭重绑定保护,为了防止dns被劫持

获得登录信息

现在就可以正常打开校园网认证页面

校园网认证页面

并打开F12浏览器开发者工具,点开network,然后尝试登录校园网

F12 开发者工具 Network 面板

登录成功之后会出现一个 callback 文件,选择复制,复制为如图所示的链接形式,删除复制链接前后多余的部分,如图得到一个curl命令。 复制 callback 为 curl 命令

复制命令后面的URL的内容,使用curl -k命令连接校园网(跳过 SSL/TLS 证书) curl -k 'https 。。。。。。。'

现在你可以尝试注销校园网,并使用这个命令在SSH当中使用命令行登录校园网,如果正常登录并返回{"result":1,"msg":"Portal协议认证成功!"} ,即说明登录没有问题。

新建脚本和添加定时任务

连接ssh新建并添加一个如下脚本(网上有教程这里简化说明)

新建登录脚本

添加一个每分钟的自动定时任务添加定时任务

参考指令: vim 编辑文本用的 # vim 文件路径 摁A进入编辑本模式 摁esc进入指令模式 在指令模式下输入":"冒号 输入wq保存退出,输入q!不保存退出

cat 显示文本内容

<< 插入

现在你可以尝试使用ping -t 检查一下校园网是否会自动断连,或者有其他问题,尝试注销校园网,并观察是否能自动连上。如果发现都没有问题,那么恭喜你,自动连接校园网的程序就已经完成。

如果你的宿舍晚上会断电,那我建议你为你的路由器安排一个自动关机,并且写入缓存的功能来防止损坏flash芯片而出现问题。


DNS加密

首先我们可以开启DNS重定向,将所有的局域网内的DNS请求指向路由器

开启 DNS 重定向

推荐是直接使用opencla。。 将DNS服务也代理出去,或者也可以使用 OpenWrt 原生轻量 DoH, 根据不同访问方式,学校掌握信息的维度如下:

| 走代理节点的流量 | 仅能看到代理服务器的 IP、端口和流量大小 | 域名未知、网址未知、具体内容完全加密不可见。 | | ---------------- | -------------------------- | ----------------------------------------------------------------------------------------------------------- | | 直连的 HTTPS 网站 | 知道域名 + 目标服务器 IP + 访问时间 | 通过 SNI 审计,学校后台能记录你的学号在几点几分访问了 zhihu.com 或 bilibili.com;但不知道你浏览的具体网页 URL、搜了什么词、发了什么内容(因为传输层已加密)。 |

可以使用https://nstool.netease.com,来检测DNS服务器的地址,如果结果显示为学校/本地教育网 ISP(如 CERNET、XX省教育网、甚至带有学校名字的 IP):说明你的 DNS 请求依然被分流到了校园网本地的 DNS 解析器。

这样我们就完成了一个自动化且比较安全保密的校园网环境。

by-Lucas by-ShanyJin