openwrt折腾校园网——自动化登录脚本与DNS配置

jiuyuan 2026-09-19 19:18 1

部分代码由AI生成文字部分纯人工


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



# 自动化登录:


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


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


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


## 获得登录信息


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



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



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



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


curl -k ‘https 。。。。。。。’


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


## 新建脚本和添加定时任务


连接ssh新建并添加一个如下脚本



[color=#d4d4d4]添加一个每分钟的自动定时任务


> 参考指令:


> vim


> 编辑文本用的 # vim 文件路径


> 摁A进入编辑本模式


> 摁esc进入指令模式


> 在指令模式下输入":"冒号


> 输入wq保存退出,输入q!不保存退出


>


> cat


> 显示文本内容


>


> <<


> 插入


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


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


DNS加密部分是用ai写的,已经测试过了



by-Lucas(本站的jiuyuan)


by-ShanyJin (b站的 闪耀金金)

最新回复 (3)
  • Liunian 09-19 19:21
    1

    可以 先mark一下一会试试

  • jiuyuan 楼主 09-19 19:24
    2

    大部分工作都是ShanyJin完成的,甚至是这篇博客的大部分,我只是参与了脚本部分和脚本部分的博客,在其他平台看的的大概路就是由ShanyJin发布的,他很厉害,但是没有Linuxdo的账号,github还差一年就可以注册了

  • jiuyuan 楼主 09-19 23:59
    3

    帖子已经按照社区规则改正了,谢谢佬友们监督

* 帖子来源Linux.do
返回