OrangePi Zero安裝openwrt配FRP內(nèi)網(wǎng)穿透

由于家里的寬帶沒有公網(wǎng)IP,所以在外面訪問自己的電腦就成了問題,雖然有TeamViewer,但是它經(jīng)常性的斷連更新密碼,老是各種連不上,所以還是FRP內(nèi)網(wǎng)穿透方便,剛好手里有個OrangePi,正好可以利用起來。

原理介紹

內(nèi)網(wǎng)穿透就是當(dāng)你家的寬帶沒有公網(wǎng)IP的時候,你在外面想連接家里的電腦或者攝像頭或者NAS什么的,就沒有辦法連接。此時一種辦法就是和寬帶的客服battle,看能不能給你提供一個公網(wǎng)IP。如果失敗,另一個招就是使用FRP進行內(nèi)網(wǎng)穿透。FRP就是需要你有一臺具有公網(wǎng)IP的服務(wù)器,比如阿里云、騰訊云,然后利用這個VPS當(dāng)跳板,這樣就能利用VPS的公網(wǎng)IP訪問到你的內(nèi)網(wǎng)設(shè)備。

材料準備

  • VPS:從原理上我們知道需要準備一個帶有公網(wǎng)IP的VPS,國內(nèi)的阿里云、騰訊云等最好,國外的VPS也可以但是通常延遲會很大,搭好以后操作比較卡頓體驗很差。我自己測試過國外的VPS延遲一般在280300ms左右,國內(nèi)的騰訊云在4050ms左右,你自己可以ping一下他的公網(wǎng)IP試試,實際體驗我認為20ms以內(nèi)最好,最大不超過100ms。實際上,如果你哪個朋友家里有公網(wǎng)IP,利用他家里的電腦也可以作為服務(wù)端,不過這個很難滿足,暫不討論。
  • 本地客戶端:家里的內(nèi)網(wǎng)需要有個設(shè)備作為客戶端,和服務(wù)端配合完成協(xié)議的中轉(zhuǎn),有些人動手能力比較強,可以把自己的路由器刷成openwrt的系統(tǒng),用它作為客戶端,有人直接運行在自己的windows電腦上作為客戶端。我這里就是用的一個OragenPi做的,相信你能看到這個博客大概率是通過OrangePi搜索進來的,我們就只寫這種情況,另外你需要準備讀卡器,大于1G的TF卡。
  • 操作步驟

    服務(wù)端安裝

    下載FRP服務(wù)端,一般大家申請的VPS都是linux系統(tǒng)的,到FRP的GITHUB地址下載最新的版本,linux服務(wù)器下載下圖中的386或者64版本,視你的系統(tǒng)是32還是64位系統(tǒng)而定,不清楚的統(tǒng)一選擇386即可。

    解壓下載的壓縮包,因為做服務(wù)端,所以我們只需要里面的frps和frps.ini兩個文件,把它上傳到你VPS的/usr/local/frp目錄中,修改frps.ini文件內(nèi)容如下:

    [common]bind_port = 17000dashboard_port = 17500dashboard_user = 網(wǎng)頁控制臺用戶名dashboard_pwd = 網(wǎng)頁控制臺密碼vhost_http_port = 4000vhost_https_port = 4001max_pool_count = 50token = xxxxxxxxxxxxxxxxxxxtcp_mux = truelog_file = ./frps.loglog_level = infolog_max_days = 3authentication_timeout = 0privilege_mode = true

    上面的17000是你服務(wù)器和客戶端通信使用的端口,17500是網(wǎng)頁查看服務(wù)器狀態(tài)的時候使用的端口,下面的用戶名密碼這些都可以根據(jù)你自己的喜好配置。token是服務(wù)端和客戶端通信認證用的,到時候兩個必須要填的一樣。其他的選項保持不動即可。

    開放服務(wù)器的防火墻端口

    剛才我們配置使用了17000 17500 4000 4001這些端口,我們要在服務(wù)器上開放這些端口,否則訪問不了,我的是centos系統(tǒng),操作如下,其他的發(fā)行版自己搜索對應(yīng)的防火墻添加端口命令。

    # 列出系統(tǒng)當(dāng)前開放的端口號firewall-cmd --list-port# 添加端口,其他的端口類似操作即可firewall-cmd --zone=public --add-port=17000/tcp --permanent# 重啟防火墻使規(guī)則生效firewall-cmd --reload# 再次查看對應(yīng)端口好是否打開firewall-cmd --list-port

    開啟服務(wù)器

    執(zhí)行下列操作確定FRP服務(wù)器

    cd /usr/local/frpchmod +x *nohup ./frps -c frps.ini > /dev/null 2>&1 &

    OrangePi安裝OpenWRT系統(tǒng)

    網(wǎng)上已經(jīng)有人專門發(fā)布基于OrangePi Zero打包的OpenWRT系統(tǒng)了,直接點擊pulpstone網(wǎng)站下載對應(yīng)的版本。網(wǎng)站有可能改版,需要你自己找下下圖所示的鏈接下載:

    下載之后解壓,用軟件把解壓出的img鏡像文件燒寫到SD卡中,燒寫軟件我用的是樹莓派官方推薦的imager.exe

    安裝后啟動,默認用戶名密碼是root,root

    OrangePi安裝frp客戶端

    同樣從上面的GITHUB地址中下載arm的壓縮包,解壓后我們只需要frpc和frpc.ini文件,同樣上傳到OrangePi的/usr/local/frp中,frpc.ini修改如下:

    [common]server_addr = xxx.xxx.xxx.xxxserver_port = 17000log_file = ./frpc.logtoken = xxxxxxxxxxxxxxxxxxxlogin_fail_exit = false[ssh]type = tcplocal_ip = 192.168.124.8local_port = 22remote_port = 17522[mstsc]type = tcplocal_ip = 192.168.124.6local_port = 3389remote_port = 17589use_encryption = trueuse_compression = true

    修改上面的xxx字樣部分為你自己服務(wù)器的ip、端口以及token,然后下面的我映射了我自己OrangePi的ssh端口和我windows電腦的遠程桌面3389端口,分別映射到遠程服務(wù)器的17522和17589端口,因此,我們需要到遠程VPS的機器上,再把17522和17589端口打開防火墻,操作和上面一樣。

    啟動客戶端并設(shè)置開啟自啟

    手動啟動測試下,命令如下:

    cd /usr/frpc./frpc -c frpc.ini

    操作完成后,既可以測試內(nèi)網(wǎng)穿透效果了,比如ssh端口測試如下:

    遠程桌面測試如下:

    測試完成沒問題可以通之后,可以登陸frp的網(wǎng)頁管理端,在瀏覽器輸入openwrt的IP地址,彈出登陸界面:

    輸入root密碼之后,在系統(tǒng)-啟動項里面,填入如下命令:

    cd /usr/frpc./frpc -c frpc.ini &

    這樣在orangepi斷電重啟之后,會自動在后臺啟動frp服務(wù),不用手動起了。

    OK,到此就可以完成內(nèi)網(wǎng)穿透了,買了獨立域名的還可以配置域名跳轉(zhuǎn)到服務(wù)器IP,這樣就可以使用域名+端口號訪問了,不用記IP。不過我這里個人感覺意義不大沒有試,感興趣的可以自行g(shù)oogle試試。

    最后編輯于
    ?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
    【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
    平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

    友情鏈接更多精彩內(nèi)容