openwrt校园网无法登录(登录网页打不开)

问题描述:

自己淘工控板折腾了软路由,刷上openwrt发现联网不弹校园网登录网页,手动打开也不行。

解决方法:

先说解决方法。进入openwrt后台管理,然后菜单栏找网络→DHCP/DNS,把服务器设置里的重绑定保护对勾去掉,如图。。。
在这里插入图片描述

原因排查:

校园网登录大致原理就是在登录前把你的所有请求强制转发到某个内网服务器提供的登录服务,登陆后才能分配到合法的主机IP。显然现在连不上该服务器了。
第一步,尝试ping该登录服务的域名。不通
在这里插入图片描述
第二步,nslookup看看域名服务器的解析情况。压根没找到
在这里插入图片描述
随手刷新一下dns缓存。没有奇迹
在这里插入图片描述
第三步,找一台可以正常登录的硬路由或者直连校园网路由,ping下该域名。这次通了。不通问题就大了
在这里插入图片描述
找到IP了,换回软路由继续折腾。IP是ping通了,说明链路状态良好。基本锁定问题在dns了。于是乎查资料,关掉了重绑定保护。
在这里插入图片描述
改完dns就找到了。宝宝巴适
在这里插入图片描述

疑点和总结:

谢天谢地这并不是一个复杂的问题。当我们能够确信数据链路没有异常时,我们往往就可以立即转向软件层面的故障。
关于openwrt的DNS服务如何工作,Dnsmasq究竟是何方神圣,以及所谓的重绑定保护(Prevent DNS-rebind attacks)存在的意义,可以参考官方文档和相关博客,此处列举几篇:

openwrt 内网域名 解析错误

OpenWrt DNS问题排查

OpenWRT DNS无法解析WAN连接的内网服务器域名

### OpenWRT 校园网自动登录脚本实现 对于OpenWRT系统而言,创建一个能够自动检测网络状态并尝试重新登录校园网的Shell脚本是一项实用的功能。下面提供了一个具体的实现方案。 #### 创建与编辑登录脚本 `login.sh` 首先,在设备上通过SSH访问终端,并利用vi或其他文本编辑器来建立一个新的bash shell文件`login.sh`: ```bash #!/bin/bash # 判断是否可以ping通外部网站以确认联网状况 ping -c5 www.baidu.com >/dev/null 2>&1 if [ $? -ne 0 ];then # 获取当前分配给路由器接口eth0的IP地址作为user_ip变量值 user_ip=$(ifconfig eth0 | grep "inet addr" | cut -d: -f2 | awk '{print $1}') # 执行curl请求模拟浏览器提交表单完成认证过程;注意替换实际使用的URL路径以及账户信息 curl 'http://example.com/drcom/login?callback=dr1004&DDDDD=学号%40cmcc&upass=密码&0MKKey=Login&R1=0&R3=0&R6=0&para=00&v6ip=&v=9102' \ --interface "$user_ip" fi ``` 此段代码实现了当无法正常访问互联网时触发一次新的认证流程[^1]。这里特别强调了动态获取路由器所获得的内部IP地址用于构建完整的HTTP POST请求参数列表[^2]。 为了使上述脚本能顺利运行,还需要确保几个前提条件得到满足: - 已经安装好必要的软件包如`wget`, `curl`等工具; - 正确设置了防火墙规则允许向外发起HTTPS/HTTP请求; - 将该脚本设置为可执行权限并通过crontab定时任务定期调用来保持在线状态。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值