文章目錄
- 前言
- 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,將改文件解壓縮到一個無中文的路徑即可。
小米路由器聯網,登錄路由器,在地址欄中找到參數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進行操作了。