树莓派+Openwrt连接校园网,打破校园网设备限制

前言

因为本校学生校园网只允许最多三个设备登录,对于同时拥有多个联网设备的我十分不友好,而且大多单片机如esp32的wifi模块是只允许一般的WPA/WPA2认证的,是不支持校园网的portal认证。所以我决定搞一个路由器。

然后我上网买了一个TP-Link的路由器,首先尝试将插一根网线到宿舍座位上的墙口上,然后发现根本就没有网络(我们学校有的宿舍可以)。然后我尝试无线连接校园网,将路由器MAC改成了我连过校园网的手机/电脑的MAC,无果。于是最后我就决定自己用手头上的树莓派搭建一个软路由。


参考链接:https://www.bilibili.com/read/cv4211352/

准备工作

所需物资

  1. 树莓派4B(最好带散热器)

  2. USB无线网卡一个

  3. 网线

  4. sd卡与读卡器

  5. 路由器一个(可选,我用的是TP-Link)

烧录Openwrt

我采用的烧录软件是win32disk,上网下载树莓派4B的Openwrt的镜像文件。下面是文件链接:

https://openwrt.cc/releases/targets/bcm27xx/bcm2711/

在这里插入图片描述

下载这个然后解压,烧录,插入树莓派,开机。

正式开始

配置好Openwrt

首先,要插入准备好的USB无线网卡,然后连一根网线到树莓派和你的电脑(可以检查一下树莓派有线网口上的指示灯亮没亮)。

等待树莓派开好机后,在浏览器中输入192.168.1.1,输入默认密码password
在这里插入图片描述

点击网络无线,然后点机你树莓派4B的无线网卡的扫描,找到校园网连接,后面的参数全是默认的,保存提交即可。

找到你的有线网卡,调成像我这样的Openwrt

在这里插入图片描述

重启树莓派,打开手机wifi,看看手机上能不能识别到Openwrt这个wifi,因为我这里已经弄好了,正常你们看到的Openwrt应该是不可上网

校园网认证

这是最重要的部分

用你电脑打开校园网认证地址,在这里我们要找到那个登录的请求URL。按下F12,复制下来你的请求URL

这里放个插曲(因为下面你可能会遇到),如果你发现,校园网认证网址(比如这个https://portal.csu.edu.cn/)打开后,网页很快的就反应了无法连接,而校园网wifi是连接上的,多半是DNS解析出了错(原因暂时不知,推测是校园网发现了你是路由器)。把网址改成10.1.1.1我们直接替它DNS解析好。

在这里插入图片描述

现在让我们来分析一下这个URL,别的学校应该也差不多

在这里插入图片描述

我们需要关注的就这几个东西,这里的IP地址,就是校园网分配个你电脑的IP地址,我们用在树莓派上也是ok的,随机数感兴趣的话可以看看前端的js脚本是怎么写的,这里也不用管。把这这个url保存好,待会用。

SSH链接树莓派

在你电脑上cmd窗口输入

ssh root@192.168.1.1

连上校园网后,先ping一下portal.csu.edu.cn,发现ping不通,ping一下10.1.1.1,可以ping通,就是我上面说的那个DNS的问题。

C:\Users\LEGION>ssh root@192.168.1.1
/root/.zcompdump:145: unmatched '# root @ OpenWrt in ~ [13:21:15]
$ ping portal.csu.edu.cn
ping: bad address 'portal.csu.edu.cn'# root @ OpenWrt in ~ [13:21:27] C:1
$ ping 10.1.1.1
PING 10.1.1.1 (10.1.1.1): 56 data bytes
64 bytes from 10.1.1.1: seq=0 ttl=63 time=6.838 ms
64 bytes from 10.1.1.1: seq=1 ttl=63 time=5.550 ms
64 bytes from 10.1.1.1: seq=2 ttl=63 time=2.374 ms
64 bytes from 10.1.1.1: seq=3 ttl=63 time=4.579 ms
^C
--- 10.1.1.1 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 2.374/4.835/6.838 ms

然后用curl指令发送请求,-k是忽略不安全访问。

curl -k "你的请求URL"

如果成功了的话,通常会得到一个respond有认证成功的。如果不成功,就要自己找原因了。

在这次登录以后,校园网已经记住了树莓派的MAC。我就可以直接通过其他设备连接软路由WIFI,然后输入10.1.1.1就可以认证校园网了。

Openwrt计划任务

参考链接: https://blog.csdn.net/ET1131429439/article/details/128200042

你可以写个计划任务,让软路由自动登录校园网。也是上面的那个命令。

网络加速

在这里插入图片描述

这个是我用的USB无线网卡,能用但是很拉胯,通常使用来做实验用的。后面我给树莓派网线接上了一个TP-Link路由器,让路由器转发路由。这样我后来连接的都是路由器SSID名的WIFI,其实就等同于连接了Openwrt。

在这里插入图片描述

这是我后来的网速,勉勉强强

在这里插入图片描述

后记

也许有的同学觉得让手机连校园网再开热点,让电脑连校园网再开热点就行了。但是自己搓出来的软路由对我来说更有成就感(然后对比了一下同学的网速,自己的网速更快,成就感更高了)。此外软路由还有其他非常棒的用途,请自行搜索。

每个人总要踏出自己的舒适圈,要积极尝试,然后用知识改变命运。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/826426.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ThinkPHP框架教程·Part-01】ThinkPHP6.x框架安装教程

文章目录 一、框架介绍1、框架简介和版本选择2、主要新特性 二、安装步骤1、下载并运行Composer-Setup.exe2、安装TP前切换镜像3、安装稳定版4、测试运行 一、框架介绍 1、框架简介和版本选择 Thinkphp是一种基于php的开源web应用程序开发框架ThinkPHP框架,是免费开…

基于注解配置bean

文章目录 1.基本使用1.基本介绍2.快速入门1.引入jar包2.MyComponent.java3.UserAction.java3.UserDao.java4.UserService.java5.beans05.xml6.断点查看bean对象是否创建7.测试 3.注意事项和细节 2.自己实现spring注解1.需求分析2.思路分析图3.编写自定义注解ComponentScan4.编写…

Mybaties入门

文章目录 介绍持久层框架Jdbc缺点Mybaties简化整体框架ORM方式 Mybaties快速入门(Mapper代理)核心配置文件映射文件配置编写会话工具类 介绍 Mybaties是一款优秀的持久层框架,用于简化JDBC开发 持久层 负责将数据保存到数据库的那一层代码JavaEE三层架构&#x…

【双曲几何】圆盘上的三角形概念

目录 一、说明二、对偶三角形概念2.1 反演关系2.2 对偶关系2.3 找出三角形的对偶三角形 三、正交三角形概念3.1 通过对偶三角形,找到垂心3.2 正交三角形的概念3.3 中心射影点的概念 四、后记 一、说明 本文对双曲空间的三角形进行分析,本篇首先给出&am…

漆包线行业你了解多少?专业漆包线行业MES生产管理系统

今天就说说漆包线行业,漆包线是工业电机(包括电动机和发电机)、变压器、电工仪表、电力及电子元器件、电动工具、家用电器、汽车电器等用来绕制电磁线圈的主要材料。 漆包线上游是铜杆行业,下游是各种消费终端,主要是电…

代码优化实践之税率计算问题

开篇 今天的问题来自于《编程珠玑》第三章【数据决定程序结构】,这里提出了几条代码优化相关的原则,受益不浅。下面是提到的几条原则: 使用数组重新编写重复代码。冗长的相似代码往往可以使用最简单的数据结构——数组来更好的表述&#xff1…

C++入门之类和对象(中)

C入门之类和对象(中) 文章目录 C入门之类和对象(中)1. 类的6个默认对象2. 构造函数2.1 概念2.2 特性2.3 补丁 3. 析构函数3.1 概念3.2 特性3.3 总结 4. 拷贝构造函数4.1 概念4.2 特性4.3 总结 1. 类的6个默认对象 如果一个类中什么都没有,那么这个类就是一个空类。…

什么是代理IP?如何正确使用代理IP?

代理IP(Proxy IP)是一种网络技术,它允许用户通过一个中介服务器(即代理服务器)来访问互联网。具体来说,代理IP隐藏了用户的真实IP地址,使用第三方的IP地址进行网络访问。当用户发起网络请求时&a…

CAD小软件diy-读柴油机壳体装配图

读取一个柴油机壳体dxf图纸,一般这种装配体轮廓曲线都是用直线和圆弧拟合的,全部都是显示的白色实现,发现有线段间隙,拖动线段补上间隙。 这个测试放在蓝奏云上面 https://wwf.lanzout.com/ip1Xx1vvhbkh

tcp bbr pacing 的对与错

前面提到 pacing 替代 burst 是大势所趋,核心原因就是摩尔定律逐渐失效,主机带宽追平交换带宽,交换机不再能轻易吸收掉主机突发,且随着视频类流量激增,又不能以大 buffer 做带宽后备。因此,主机必须 pacing…

A-1:树状数组

A-1:树状数组 1.介绍Q1:树状数组解决什么问题?Q2:树状数组的使用1.前置知识:lowbit(x)2.单点修改3.求[1,n]的和4.区间查询5.hh Q3:树状数组是否优化了Q4:上图上例子解释上面说的东西(Important) 2.习题练习 1.介绍 树状数组是一个比较难以理解的高级数据…

C语言---单链表(二)

文章目录 前言1.准备工作2,打印链表、创建新的节点、销毁链表2.1.打印链表2.2.创建节点2.3.销毁链表 3.尾插、头插、尾删、头删3.1.尾插3.2.头插3.3.尾删3.4.头删 4.在特殊位置之前、之后插入、删除以及查找节点4.1.查找节点4.2.在指定位置之前插入4.3.在指定位置之后插入数组4…

亚信安全入选中国数据安全市场图谱

近日,全球领先的IT市场研究和咨询公司IDC发布了《IDC Market Glance:中国数据安全市场图谱,2024》报告(以下简称“报告”),报告展示了中国数据安全市场的构成和格局,遴选出不同细分市场领域的主…

C语言中的结构体:从定义到传递

前言 结构体是C语言中一种重要的数据类型,它允许我们将不同类型的数据组合成一个整体,并以自定义的方式进行操作。通过结构体,我们可以更加灵活地管理和处理复杂的数据结构,从而提高程序的可读性和可维护性。本篇博客将从结构体的…

jetcache fastjson 泛型复杂对象JSON序列 ,反序列化

Jetcache fastjson 泛型复杂对象JSON序列 ,反序列化 默认的FastJson2 序列化存在问题增强FastJson 支持Encode 编码器Decode 解码器 默认的FastJson2 序列化存在问题 默认的序列化不能转换List 中的泛型数据类型, 从缓存拿取的list集合对象数据全部都转换成了JSONObject 增强F…

nginx--Nginx转发真实的IP

Nginx转发真实的IP 前言给nginx.conf 设置proxy_set_headerjava 程序里获取 前言 在使用nginx的时候可能会遇到判断是不是本机在做操作,这样的话web端我们是可以通过ip和端口进行远程连接的这样的话我们就需要从后端获取到真实ip来判断是不是指定的机器了&#xff…

Linux 序列化、反序列化、实现网络版计算器

目录 一、序列化与反序列化 1、序列化(Serialization) 2、反序列化(Deserialization) 3、Linux环境中的应用实例 二、实现网络版计算器 Sock.hpp TcpServer.hpp Jsoncpp库 Protocol.hpp 类 Request 类 Response 辅助函…

稳压二极管仿真实验

稳压二极管仿真实验 1、稳压管稳压实验 用Multisim搭建如下的仿真电路图,选用5.1V的稳压管,12V的直流电源,开启仿真后,12V电压将稳压管击穿,稳压管将两端的电压稳压到5.07V,该电压与限流电阻R1的阻值有关…

跟着Carl大佬学leetcode之977 有序数组的平方

来点强调,刷题是按照代码随想录的顺序进行的,链接如下https://www.programmercarl.com/本系列是记录一些刷题心得和学习过程,就看到题目自己先上手试试,然后看程序员Carl大佬的解释,自己再敲一遍修修补补,练…

msyql中SQL 错误 [1118] [42000]: Row size too large (> 8126)

场景: CREATE TABLE test-qd.eqtree (INSERT INTO test.eqtree (idocid VARCHAR(50) NULL,sfcode VARCHAR(50) NULL,sfname VARCHAR(50) NULL,sfengname VARCHAR(50) NULL,…… ) ENGINEInnoDB DEFAULT CHARSETutf8 COLLATEutf8_general_ci;或 alter table eqtre…