如何在小米路由器4A千兆版刷入OpenWRT并通过内网穿透工具实现公网远程访问

news/2024/6/17 22:49:06 标签: 智能路由器

文章目录

    • 前言
    • 1. 安装Python和需要的库
    • 2. 使用 OpenWRTInvasion 破解路由器
    • 3. 备份当前分区并刷入新的Breed
    • 4. 安装cpolar内网穿透
      • 4.1 注册账号
      • 4.2 下载cpolar客户端
      • 4.3 登录cpolar web ui管理界面
      • 4.4 创建公网地址
    • 5. 固定公网地址访问

前言

OpenWRT是一个高度模块化、高度自动化的嵌入式Linux系统,可以让路由器变得更智能,简单的说,路由器刷了OpenWrt就相当于一个Linux系统带无线带多网卡的电脑。

举个栗子:有usb功能的路由器刷后可以实现多端文件共享 ,挂站,远程监控甚至智能家居 ;无线可桥接,可以无线连接一般的chinanet热点并拨号;组建局域网无线网络传输数据等。

今天就分享一下如何在小米路由器4A千兆版刷入OpenWRT并通过内网穿透工具实现公网远程访问。

1. 安装Python和需要的库

首先打开 www.python.org 下载一个 Python3 的安装包并安装。

安装完成后执行以下命令升级pip与安装需要的库:

python -m pip install --upgrade pip
pip install pycryptodome
pip install requests

2. 使用 OpenWRTInvasion 破解路由器

打开 OpenWRTInvasion 的 releases 页面,下载一个可用的版本,我这里选择的是支持Windows的版本的是0.0.7。

下载后得到的压缩包名为:OpenWRTInvasion-0.0.7,将改文件解压缩到一个无中文的路径即可。

image-20231110132110564

小米路由器联网,登录路由器,在地址栏中找到参数stok并复制等号后的字符,保持网页不要关闭。

image-20231110132322135

在解压OpenWRTInvasion的目录打开cmd(本教程中使用的是Windows PowerShell)

输入python remote_command_execution_vulnerability.py指令运行破解脚本

根据提示输入路由器IP(192.168.31.1),粘贴之前复制的stok等号后的字符,开始破解

破解成功后会有提示,可以复制提示的指令连接Telent或者SSH,用户名、密码都是root

1699594102179

3. 备份当前分区并刷入新的Breed

首先执行以下指令查看与备份分区

cat /proc/mtd   #显示路由分区
dd if=/dev/mtd0 of=/tmp/all.bin   #备份所有分区到/tmp/all.bin
dd if=/dev/mtd1 of=/tmp/Bootloader.bin   #备份引导分区到/tmp/Bootloader.bin

2.png

然后使用WinSCP或者其他FTP工具创建FTP连接,地址是路由器IP,用户名root,没有密码,连接后将刚才备份的两个文件all.bin,Bootloader.bin传输出来,并且将 breed-mt7621-pbr-m1.bin 上传到tmp目录下。

image-20231110133106317

上传完成后执行mtd -r write /tmp/breed-mt7621-pbr-m1.bin Bootloader刷入Breed,刷入完成后重启路由器

image-20231110133436834

使用浏览器打开192.168.1.1打开Breed控制台,刷入openwrt-ramips-mt7621-xiaomi_r4a-squashfs-sysupgrade.bin。点击确定后,会进行更新读条。

image-20231110133222053

等待读条结束后,浏览器输入192.168.31.1即可看到OpenWrt登录界面

默认账号为root,密码是 coolxiaomi,登录后显示下方界面即刷入成功。

image-20231110133305818

4. 安装cpolar内网穿透

此时已经可以成功登录OpenWrt并运行,不过只能在本地访问,如果打算在公网环境随时随时访问内网的OpenWrt进行文件传输等操作,我们需要安装cpolar内网穿透工具来实现。

4.1 注册账号

进入cpolar官网:https://www.cpolar.com/

点击右上角的免费注册,使用邮箱免费注册一个cpolar账号并登录

20221117173301

4.2 下载cpolar客户端

登录成功后,点击下载cpolar到本地并安装(一路默认安装即可)本教程选择下载Windows版本。

20221117173307

4.3 登录cpolar web ui管理界面

在浏览器上访问127.0.0.1:9200,使用所注册的cpolar邮箱账号登录cpolar web ui管理界面(默认为本地9200端口)

20221117173316

4.4 创建公网地址

登录成功进入主界面后,我们点击左侧仪表盘的隧道管理——隧道列表,再点击创建隧道.

image-20231110162208198

  • 隧道名称:可自定义命名,不能与已有的隧道名重复,这里我填写了website

  • 协议:选择http

  • 本地地址:192.168.31.1:80

  • 域名类型:免费套餐选择随机域名

  • 地区:China Top

点击创建

image-20231110162518951

此时,点击左侧状态中的在线隧道列表,可以看到刚才创建的wamp隧道,生成了两个公网地址,有两种访问方式,分别是http 和https,随意复制一个地址,在公网电脑浏览器打开即可,如下图所示即代表成功实现公网访问本地内网路由器的OpenWrt。

image-20231110162548764

5. 固定公网地址访问

需要注意的是,本次教程中使用的是免费cpolar所生成的公网随机临时地址,该地址24小时内会发生变化,对于需要长期在外使用OpenWrt的用户来讲,配置一个固定地址就很有必要。

我一般会使用固定二级子域名,原因是这样一个固定、易记的公网地址(例如:open.cpolar.cn),这样远程路由器时更方便也更快捷。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称。

image-20231110163339847

以本次教程为例,地区选择China VIP,二级域名填写open,描述填写1,点击保留

image-20231110163454502

保留成功后复制保留的二级子域名地址,登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道:website,点击右侧的编辑

image-20231110163710840

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名open
  • 地区:选择China VIP

点击更新

image-20231110163829552

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20231110163857679

最后,我们使用固定的公网地址进行连接访问,复制二级子域名:http://open.vip.cpolar.cn/到另一台公网电脑浏览器打开,无报错和连接异常,可以看到连接成功,这样一个固定不变的地址访问就设置好了,您可以随时随地使用该域名来公网访问内网路由器OpenWrt进行操作了。

image-20231110163939222


http://www.niftyadmin.cn/n/5262484.html

相关文章

C# 避免定时器重入的4种方法

System.Timers.Timer执行方法的时候,会开一个线程去执行,如果使用锁(方法3)避免重入,可能会有多个线程等在那里执行。 按照单片机的写法要推荐方法1 但是C#提供了方便的定时器Stop方法,所以可用方法2&…

Android其他组件(单选框)

一、单选框(RadioGroup) 单选框(RadioGroup)需要配合单选按钮(RadioButton)使用,同一个单选框中的单选按钮只能被选中一个,默认是一个都不选中。 RadioGroup的常见属性&#xff08…

uc_15_TCP协议

1 TCP协议 TCP提供客户机与服务器的链接。一个完整TCP通信过程需要经历三个阶段 1)首先,客户机必须建立与服务器的连接,所谓虚电路 2)然后,凭借已建立好的连接,通信双方相互交换数据 3)最后&am…

通过smb服务器实现本机和virtualBox虚拟机文件共享

前言 一直使用virtualBox进行开发,然后安装的系统是ubuntu 16.04, ubuntu和本地的文件交换一直用的是virtualBox中的共享文件夹功能,但是由于项目需要,后来又安装了ubuntu 22.04, 但是发现共享文件夹一直配不成功,mou…

【五】Python 代理模式

文章目录 5.1 代理模式概述5.1.1 代理介绍5.1.2 代理模式的作用 5.2 代理模式的UML类图5.3 了解不同类型的代理5.3.1虚拟代理5.3.2 远程代理5.3.3 保护代理5.3.4 智能代理 5.4 现实世界中的代理模式5.5 代理模式的优点5.6 门面模式和代理模式之间的比较 5.1 代理模式概述 5.1.…

深入理解 Go 语言 Goroutine 的工作原理

一、设计思路 1、设计描述 启动服务之时先初始化一个 Goroutine Pool 池,这个 Pool 维护了一个类似栈的 LIFO 队列,里面存放负责处理任务的 Worker然后在 client 端提交 task 到 Pool 中之后,在 Pool 内部,接收 task 之后的核心…

Git篇---第七篇

系列文章目录 文章目录 系列文章目录前言一、如果分支是否已合并为master,你可以通过什么手段知道?二、 什么是SubGit?三、列举工作中常用的几个git命令?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文…

2023.12.9 关于 Spring Boot 事务传播机制详解

目录 事务传播机制 七大事务传播机制 支持当前调用链上的事务 Propagation.REQUIRED Propagation.SUPPORTS Propagation.MANDATORY 不支持当前调用链上的事务 Propagation.REQUIRES_NEW Propagation.NOT_SUPPORTED Propagation.NEVER 嵌套事务 Propagation.NESTED…