记录一下长沙理工大学校园网下的路由器部署教程

前情提要

如果需要直接看教程的话,可以跳过这一章,直接看正式教程。

其实之前写过一篇类似的文章,不过随着时代的进步(误),那篇文章已经过时了。然后就是那篇文章写的有点一般,有点烂说是。而且现在要防检测的话,方式也变得更容易了。此时刚好是开学之际,又赶上学校对校园网稍微有了一点改造,所以想着趁着这个机会,刚好重新记录一下这个教程。

起因主要是2026年9月10日晚上十一点多,本来我在好好看着小说,看到非常甜的地方想要截图分享一下QQ,突然发现QQ离线了,然后猛的一想起学校发了通知说校园网今天要维护调整,于是我看了下路由器后台,果然PPPoE拨号拿不到任何IP了,于是没管了,直接睡觉去了。

我的路由器加入了我的家庭WireGuard网络,并且做了Uptime Kuma的监控,所以我睡觉前看手机发现果然状态变成Down了,想着第二天早上应该就会重新Up。

结果第二天早上起床发现还是Down的状态,我就寻思学校的意思可能是改PPPoE改成DHCP了(因为之前有过传闻说有线网连上去也直接用网页登录),于是去OpenWrt后台把wan改成DHCP了,果然能拿到IP了。

本来也就到此为止了,不过PPPoE是有自动重试登录机制的,而用DHCP的话,虽然路由器能拿到IP了,但是必须要走一遍网页登录,所以就还得部署一个自动登录脚本,其实这个也比较容易,因为之前在学校办公区有搞过路由器并接入过有线网络,那边就是有线直接DHCP,所以我只要把我之前写的脚本和服务搬过来就行了。

所以本来又到此为止了,但是发现之前帮助过搞校园网的同学问我这个校园网调整后要咋整。然后我一寻思之前那个教程本身写的就烂,然后刚好赶上这里,我也就重新写一个清晰完整一点的教程好了。于是找了个时间,给路由器所有的配置文件做了个备份,于是准备重新刷一个新的OpenWrt系统,从一个没有任何配置的系统开始重新记录完整的操作流程。

正式教程

准备

这里首先默认你有一定的计算机基础,并且了解基本的计算机网络基础,本教程不教你这些,本教程只会针对长沙理工大学的实际情况,教你如何在一台已经安装好了OpenWrt的路由器上安装防检测插件和自动登录脚本。

所以你需要准备好一台路由器,并且刷成OpenWrt系统,我这里使用的是一台Cudy TR3000路由器,这台路由器的处理器是MT7981B,你需要找一个配置差不多的路由器,理论上所有支持刷成OpenWrt系统且配置还不错的路由器都可以按照这个教程来走。

然后给这个路由器刷好OpenWrt后,接下来就可以正式开始我们的教程了,我们的教程从一个刚装好OpenWrt的系统开始。

补充,然后你还需要一根网线和一台可以插网线的电脑(不过如果你刷好了OpenWrt,一般也有网线了),因为刷完OpenWrt一般都不会默认开启WiFi,所以会需要可以插网线的电脑。

无线设置

打开路由器的网关地址,OpenWrt官方固件默认为192.168.1.1,然后这里会需要输入密码,如果你是官方固件,则不用管密码,直接密码留空然后点击Log in即可。

下一步进入菜单Network - Wireless中,我们在这里打开WiFi。

然后进入Wireless页面后,就可以开启WiFi了。给每个无线频段(界面里的radio0、radio1)都点击Enable即可开启WiFi。

然后下一步是设置无线网络的SSID和密码,点击Enable右侧的Edit即可进入设置。然后按照图片中的地方填写即可,图一ESSID即为WiFi名称,图二则为加密方式,默认是不加密,改成需要加密并设置Key,Key即为WiFi密码。

根据路由器实际的情况,可能会有多个无线频段(一般会是两个,一个2.4G一个5G),如果有多个频段的情况下则每个频段都需要设置,可以设置成同样的内容,也可以根据频段来设置不同的ESSID,根据个人喜好即可,例如我一般会把2.4G频段的ESSID命名为xxx_2.4G,而5G频段的ESSID命名为xxx_5G。

最后全部改完后,点击Save然后Save & Apply即可。

最后等待应用后,如果是WiFi连接的路由器,则WiFi会断开,需要重新按照你设置的WiFi名称和密码来重新连接,如果是有线的话则无所谓,可以直接继续。

系统设置

无线设置好后,接下来配置一下路由器的后台管理密码,点击进入System - Administration。

然后进入页面,输入你想要设置的密码,最后Save即可,记住这个密码,这个密码和WiFi密码是分开的密码,不是公用的,也不建议共用同一个密码。

联网

接下来就是给这一台路由器连接上校园网,连接路由器的wan口和学校的网口。

然后进入路由器后台的Network - Interface页面,此时可以看到wan接口已经有具体IP的显示了。

补充,理论上来说,从2026年9月11日开始,这里保持默认配置使用DHCP即可。但是原本校园网是使用的PPPoE而不是DHCP获取的IP地址,不过以防万一学校再次改上网方式,这里也补充一下使用PPPoE方式(老上网方式)的操作。对于PPPoE方式,则点击wan接口右侧的Edit,然后把Protocol改为PPPoE,然后点击确认Switch Protocol后,随后在PAP/CHAP username和PAP/CHAP password处分别输入你的校园网账号和密码然后Save,最后再Save & Apply即可。

以上内容仅供参考,按常理来说应该是不需要改动PPPoE的,所以这里看到默认的设置下,wan接口有IPv4地址后就不需要管以上内容了。

然后此时就可以正常登录账号联网了,打开login.csust.edu.cn的网址,输入你的校园网账号密码后,路由器即可联网。

如果有IP地址但是无法打开的话,大概率是触发了OpenWrt的重绑定保护,进入Network - DNS页面后,然后进入Filters菜单,给这个域名加上白名单即可。

对于最新的OpenWrt系统,这里是使用Network - DNS再点击Filter菜单进入这个页面,对于旧版的OpenWrt系统,入口可能不一样,你需要自己找一下其他页面,主要是找Rebind protection和Domain whitelist即可。

(此处或者也可以一劳永逸,直接取消勾选上面的Rebind protection,不过不建议这么做,建议自己加白名单)

加上csust.edu.cn后,然后去底部Save & Apply,再次打开login.csust.edu.cn通常就能够打开了。然后此时在这里输入你的账号密码并登录,你的路由器和路由器下的设备即可联网。

联网之后的准备

此时路由器联网了,最好是保持路由器下只连接一台设备,不要立马就连接其他的设备,否则很容易就会触发防检测然后被封30分钟。

然后接下来就是安装一些opkg/apk包,首先先可以安装中文界面,前往System - Software页面。

随后点击Update lists按钮。

如果这里更新特别慢,或者完全无法更新,则推荐换源,不过总的来说,也还是建议先换源再进行Update lists操作。

这里以USTC的镜像源来举例。

首先是需要ssh连接到路由器,在终端中输入:

ssh root@192.168.1.1

随后一般会需要yes确认,然后确认后输入你的路由器后台管理密码(前文中设置的)。注意这里输入密码是不会回显的,所以你直接输入完回车即可,看到终端中没有任何显示是正常的。

最后连接上后会显示root@OpenWrt:~#即表示成功连上路由器。

接下来根据路由器的版本,选择执行命令。

对于apk的OpenWrt系统,执行:

sed -i 's/downloads.openwrt.org/mirrors.ustc.edu.cn\/openwrt/g' /etc/apk/repositories.d/distfeeds.list

对于opkg的OpenWrt系统,执行:

sed -i 's/downloads.openwrt.org/mirrors.ustc.edu.cn\/openwrt/g' /etc/opkg/distfeeds.conf

如何简单的区分当前系统是apk的还是opkg的,直接在终端中输入apk或者opkg回车,看哪个会显示not found,则就不是那个的系统,例如我这里输入opkg会提示not found,则我的系统是apk的,需要执行第一条指令。

接下来下一步就是再次回到网页后台去Update lists操作。

接下来点击Dismiss,然后安装我们需要的软件包即可,在Filter框中输入zh-cn,然后点击Install安装即可。

在安装完成后,进入System - System中的Language and Style菜单,把Language改成简体中文然后保存并应用即可。

防检测配置

准备完这些后,就可以开始做防检测的工作了,这里校园网检测多设备主要是通过HTTP请求头的User-Agent字段来判断连接了多少台设备的,所以我们需要安装一个插件去修改这个字段,统一成一样的User-Agent,让学校认为只连接了一台设备。

先前往UA3F页面下载你路由器架构的ipk/apk包。

我要如何知道我该下载哪个包?

把你的路由器型号、处理器等等信息,发送给AI,让AI帮你查。或者让AI教你怎么查。

在下载完ipk/apk包后,打开你的系统终端,cd到你下载的ipk/apk包目录后,然后用scp拷贝上去,例如我这里是:

命令是:

scp -O ua3f-3.6.0-r1-aarch64_cortex-a53.apk root@192.168.1.1:/tmp/.

这里文件名不同的话,需要修改成你下载的apk包文件名。

随后再ssh到你的路由器上,并安装这个包。

命令分别是:

ssh root@192.168.1.1
apk add --allow-untrusted /tmp/ua3f-3.6.0-r1-aarch64_cortex-a53.apk

这里同理,如果你是opkg的系统,请把第二行命令改成以下类似的样子:

opkg install /tmp/ua3f-xxxx.ipk

安装完成后,去路由器后台页面刷新,即可看到服务 - UA3F页面,点击进入即可。

如果这里没看到这个页面,检查是否安装成功,如果确认安装成功,可以尝试重启路由器。

接下来开始配置UA3F,首先需要勾选启用,然后设置User-Agent,然后前往L3重写勾选固定TTL,随后点击保存并应用即可。

点击保存并应用后,看到UA3F的运行状态为运行中即可。

关于这里需要设置的User-Agent值,默认是FFF,这里一般建议改一个实际浏览器的真实常见值,例如我一般会使用ua.233996.xyz里面显示的本浏览器的User-Agent。

验证防检测效果

需要验证两个,首先是验证TTL,在自己电脑上打开终端,然后可以随便ping一个网址,例如:

ping baidu.com

然后观察ICMP数据包的TTL,是64即可。

然后是验证User-Agent修改,分别打开ua.233996.xyz:1234和ua.233996.xyz,显示到两个User-Agent不一样,并且服务器获取到的User-Agent是你在UA3F里面配置的那个UA,即为配置成功。

如果你在UA3F配置的User-Agent就是原样复制的这个网站上的UA,有可能会一样,所以此时需要更换其他浏览器再次尝试,或者使用手机尝试对比。

例如如下,就是配置成功的场景:

注意这里验证的时候,如果你的电脑上开启了代理,需要完全关闭所有代理来进行验证。

自动登录校园网脚本配置

接下来需要配置自动登录校园网,如果不配置这个脚本其实也可以,就是当校园网登录失效的时候,你需要重新去login.csust.edu.cn输入你的账号密码并重新登录,如果你配置了这个自动脚本,这个脚本会实时检测校园网状态,若已断开,则会自动重试登录校园网。

这个脚本是我的一个开源项目:zHElEARN/csust-login

接下来就是正式的配置教程了,这个脚本是由Python编写的,所以需要在路由器上安装Python。

首先依然是ssh到路由器,如果你已经连接到了路由器,跳过即可。

ssh root@192.168.1.1

然后安装Python 3,我这里是apk安装,如果是opkg系统,请咨询AI。

apk add python3 python3-pip

安装完成后,通过以下命令来确认是否安装成功:

python --version
pip --version

如果都有输出版本号,则为安装成功。

接下来安装我们的自动登录脚本:

pip install csust-login

安装完成后,通过以下命令来确认是否安装成功:

which csust-login

如果能够看到具体路径,则为安装成功。

接下来我们创建配置文件:

mkdir -pv csust-login
ls
cd csust-login
cat << 'EOF' > config.yaml
USERNAME: 你的校园网账号
PASSWORD: 你的校园网密码
EOF

最后执行cat config.yaml检查是否就是你配置好的校园网账号和密码即可。

接下来是创建服务文件,执行以下命令:

cat << 'EOF' > /etc/init.d/csust-login
#!/bin/sh /etc/rc.common

START=99
USE_PROCD=1

PROG="/usr/bin/csust-login-daemon"
SCRIPT_PATH="/root/csust-login"

start_service() {
    procd_open_instance

    procd_set_param command /bin/sh -c "cd $SCRIPT_PATH && $PROG"

    procd_set_param respawn
    procd_set_param stdout 1
    procd_set_param stderr 1

    procd_close_instance
}
EOF

然后为服务文件配置可执行权限并启动运行:

chmod +x /etc/init.d/csust-login
/etc/init.d/csust-login enable
/etc/init.d/csust-login start

最后检查服务状态:

/etc/init.d/csust-login status

看到服务状态为running则配置完成。

此时也可以去OpenWrt后台管理页面,前往状态 - 系统日志,然后滚动到底部,看到相关日志验证配置完成。

结束

至此,恭喜你,已经完成了全部的配置。

被检测了怎么办

不过稍微补充一下,万一被检测到了的话,被禁用30分钟了的话,你也可以绕过30分钟的频率限制。

这里补充一个方法,在PPPoE拨号时代是有用的,但是换成DHCP后还有没有用的话,我还没能验证,所以可以自行尝试。

在PPPoE拨号时代,校园网共享封禁是针对的MAC地址进行的封禁,所以如果被封禁了,去换一个MAC地址就行了,然后就可以立马重新正常上网。

这里随便改一个其他的MAC地址然后保存应用就行。

其他问题

如果你遇到了其他问题,随时欢迎联系我。