小米路由器4A千兆版刷入OpenWRT并远程访问

小米路由器4A千兆版刷入OpenWRT并远程访问

文章目录

  • 小米路由器4A千兆版刷入OpenWRT并远程访问
    • 前言
    • [1. 安装Python和需要的库](#1. 安装Python和需要的库)
    • [2. 使用 OpenWRTInvasion 破解路由器](#2. 使用 OpenWRTInvasion 破解路由器)
    • [3. 备份当前分区并刷入新的Breed](#3. 备份当前分区并刷入新的Breed)
    • [4. 安装cpolar内网穿透](#4. 安装cpolar内网穿透)
      • [4.1 注册账号](#4.1 注册账号)
      • [4.2 下载cpolar客户端](#4.2 下载cpolar客户端)
      • [4.3 登录cpolar web ui管理界面](#4.3 登录cpolar web ui管理界面)
      • [4.4 创建公网地址](#4.4 创建公网地址)
    • [5. 固定公网地址访问](#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,将改文件解压缩到一个无中文的路径即可。

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

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

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

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

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

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

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

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

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

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

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

4. 安装cpolar内网穿透

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

4.1 注册账号

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

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

4.2 下载cpolar客户端

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

4.3 登录cpolar web ui管理界面

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

4.4 创建公网地址

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

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

  • 协议:选择http

  • 本地地址:192.168.31.1:80

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

  • 地区:China Top

点击创建

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

5. 固定公网地址访问

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

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

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

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

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

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

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

点击更新

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

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

相关推荐
小屁不止是运维几秒前
麒麟操作系统服务架构保姆级教程(五)NGINX中间件详解
linux·运维·服务器·nginx·中间件·架构
Hacker_Oldv5 分钟前
WPS 认证机制
运维·服务器·wps
bitcsljl14 分钟前
Linux 命令行快捷键
linux·运维·服务器
ac.char17 分钟前
在 Ubuntu 下使用 Tauri 打包 EXE 应用
linux·运维·ubuntu
Youkiup44 分钟前
【linux 常用命令】
linux·运维·服务器
qq_297504611 小时前
【解决】Linux更新系统内核后Nvidia-smi has failed...
linux·运维·服务器
_oP_i1 小时前
.NET Core 项目配置到 Jenkins
运维·jenkins·.netcore
weixin_437398211 小时前
Linux扩展——shell编程
linux·运维·服务器·bash
小燚~1 小时前
ubuntu开机进入initramfs状态
linux·运维·ubuntu
小林熬夜学编程1 小时前
【Linux网络编程】第十四弹---构建功能丰富的HTTP服务器:从状态码处理到服务函数扩展
linux·运维·服务器·c语言·网络·c++·http