树莓派+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。

在这里插入图片描述

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

在这里插入图片描述

后记

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android Studio 新建Android13 代码提示Build Tools revision XX is corrupted无法编译解决

Android Studio 新建Android13 代码提示Build Tools revision XX is corrupted无法编译解决 文章目录 Android Studio 新建Android13 代码提示Build Tools revision XX is corrupted无法编译解决一、前言二、分析解决1、原因分析2、解决方法 三、其他1、Android13 新项目无法编…

采用matplotlib可视化kitti

配置kitti_object_vis没成功,用kitti_object_vis的一些函数加上matplotlib进行可视化 import numpy as np import matplotlib.pyplot as pltimport numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D def roty(t):"&quo…

JavaWeb-登录校验

会话技术 浏览器使用的是http协议,多次请求间数据是不能共享的,例如我们要去访问用户数据的接口,但这时候用户是否已经登入了呢?是不知道的,为了解决这个问题,于是引入了会话跟踪技术。 会话:…

05—js对象

一、初识对象 JavaScript是面向对象编程(Object Oriented Programming,OOP)语言。 面对象是一种复合值:它将很多值集合在一起,可通过名字访问这些值。对象也可看做一种无序的数据集合,由若干个“键值对”…

iced 入门一

📕作者简介: 过去日记,致力于Java、GoLang,Rust等多种编程语言,热爱技术,喜欢游戏的博主。 📘相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看 📙Jav…

基于ssm的企业在线培训系统论文

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装企业在线培训系统软件来发挥其高效地信息处理的作用&#x…

每日一题

腐烂的苹果_牛客题霸_牛客网 思路分析:广度优先遍历,找到所有腐烂的苹果同时向四方扩散,就是第一轮把所有腐烂的苹果加入队列中,这就跟MQ的消息队列的原理差不多,第一次记录队列的长度,广度遍历一次,长度--…

第一个STM32F767IGT6核心板

一. 制作原因 起先是因为参加计算机设计大赛准备的板子,其作用是连接OV5640摄像头来识别车牌号,主要外设有摄像头,SDRAM,网口等。 二. 原理图和PCB 原理图 PCB 三. 测试 1. 测试SDRAM功能 按下按键我们可以在串口中看到内存…

【基础IO】谈谈动静态库(怒肝7000字)

文章目录 前言实验代码样例静态库生成一个静态库归档工具ar静态库的链接 动态库创建动态库加载动态库 动静态链接静态链接动态链接动静态链接的优缺点 前言 在软件开发中,库(Library)是一种方式,可以将代码打包成可重用的格式&…

【C语言】内存函数-memcpy-memmove-memset...用法及实现,沉淀自己!

&#x1f525;博客主页&#x1f525;&#xff1a;【 坊钰_CSDN博客 】 欢迎各位点赞&#x1f44d;评论✍收藏⭐ 目录 1. memcpy函数使用和模拟实现 2. memmove使用和模拟实现 3. memset函数的使用 4. memcmp函数的使用 1. memcpy函数使用和模拟实现 <string.h>-------…

机器学习理论基础—神经网络算法公式学习

机器学习理论基础—神经网络公式学习 M-P神经元 M-P神经元&#xff08;一个用来模拟生物行为的数学模型&#xff09;&#xff1a;接收n个输入(通常是来自其他神经 元)&#xff0c;并给各个输入赋予权重计算加权和&#xff0c;然后和自身特有的阈值进行比较 (作减法&#xff0…

pytorch-MNIST测试实战

这里写目录标题 1. 为什么test2. 如何做test3. 什么时候做test4. 完整代码 1. 为什么test 如下图&#xff1a;上下两幅图中蓝色分别表示train的accuracy和loss&#xff0c;黄色表示test的accuracy和loss&#xff0c;如果单纯看train的accuracy和loss曲线就会认为模型已经train…

【优质书籍推荐】Vue.js+Node.js全栈开发实战

大家好&#xff0c;我是爱编程的喵喵。双985硕士毕业&#xff0c;现担任全栈工程师一职&#xff0c;热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。…

von Mises-Fisher Distribution (代码解析)

torch.distribution 中包含了很多概率分布的实现&#xff0c;本文首先通过均匀分布来说明 Distribution 的具体用法, 然后再解释 von Mises-Fisher 分布的实现, 其公式推导见 von Mises-Fisher Distribution. 1. torch.distribution.Distribution 以下是 Uniform 的源码: cl…

怎么使用JMeter进行性能测试?

一、简介 JMeter是Apache软件基金会下的一款开源的性能测试工具&#xff0c;完全由Java开发。它专注于对我们应用程序进行负载测试和性能测量&#xff0c;最初设计用于web应用程序&#xff0c;现在已经扩展到其他测试功能&#xff0c;比如&#xff1a;FTP、Database和LDAP等。…

Vue 3 项目构建与效率提升:vite-plugin-vue-setup-extend 插件应用指南

一、Vue3项目创建 前提是已安装Node.js&#xff08;点击跳转Node官网&#xff09; npm create vuelatest这一指令将会安装并执行 create-vue&#xff0c;它是 Vue 官方的项目脚手架工具。你将会看到一些诸如 TypeScript 和测试支持之类的可选功能提示&#xff1a; ✔ Projec…

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

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

electron打包dist为可执行程序后记【electron-quick-start】

文章目录 目录 文章目录 前言 一、直接看效果 二、实现步骤 1.准备dist文件夹 2.NVM管理node版本 3.准备electron容器并npm run start 4.封装成可执行程序 1.手动下载electron对应版本的zip文件&#xff0c;解决打包缓慢问题 2.安装packager 3.配置打包命令执行内容…

【点云语义分割】弱监督点云语义分割自适应标签分布

Adaptive Annotation Distribution for Weakly Supervised Point Cloud Semantic Segmentation 摘要&#xff1a; 弱监督点云语义分割因其能够减轻对点云细粒度注释的严重依赖而备受关注。然而&#xff0c;在实际应用中&#xff0c;稀疏注释通常在点云中呈现出明显的非均匀分布…

Table表格(关于个人介绍与图片)

展开行&#xff1a; <el-table :data"gainData" :border"gainParentBorder" style"width: 100%"><el-table-column type"expand"><template #default"props"><div m"4"><h3>工作经…