一、什么是內(nèi)網(wǎng)穿透?
簡(jiǎn)單說(shuō)就是內(nèi)網(wǎng)中的一臺(tái)計(jì)算機(jī)具有自己的內(nèi)部IP,外網(wǎng)的計(jì)算機(jī)具有公共的IP,而內(nèi)部IP是無(wú)法直接通過(guò)外網(wǎng)來(lái)訪問(wèn)的,這就需要一種方式來(lái)將外網(wǎng)的IP轉(zhuǎn)化為內(nèi)部的合法IP來(lái)進(jìn)行合法訪問(wèn)。
二、什么是FRP?
frp 是一個(gè)可用于內(nèi)網(wǎng)穿透的高性能的反向代理應(yīng)用,支持 tcp, udp, http, https 協(xié)議。
三、準(zhǔn)備材料:
服務(wù)端:vps
客戶端:樹(shù)莓派3B/3B+/4B
四、準(zhǔn)備服務(wù)器端的vps
1、什么是VPS?
VPS(Virtual Private Server 虛擬專用服務(wù)器)技術(shù),將一臺(tái)服務(wù)器分割成多個(gè)虛擬專享服務(wù)器的優(yōu)質(zhì)服務(wù)。實(shí)現(xiàn)VPS的技術(shù)分為容器技術(shù),和虛擬化技術(shù)。在容器或虛擬機(jī)中,每個(gè)VPS都可分配獨(dú)立公網(wǎng)IP地址、獨(dú)立操作系統(tǒng)、實(shí)現(xiàn)不同VPS間磁盤空間、內(nèi)存、CPU資源、進(jìn)程和系統(tǒng)配置的隔離,為用戶和應(yīng)用程序模擬出“獨(dú)占”使用計(jì)算資源的體驗(yàn)。VPS可以像獨(dú)立服務(wù)器一樣,重裝操作系統(tǒng),安裝程序,單獨(dú)重啟服務(wù)器。VPS為使用者提供了管理配置的自由,可用于企業(yè)虛擬化,也可以用于IDC資源租用。
公網(wǎng)服務(wù)器與FRP構(gòu)成一個(gè)橋梁.我們通過(guò)它將可以訪問(wèn)我們放置在內(nèi)網(wǎng)的樹(shù)莓派.服務(wù)器
2、使用的virmach的VRS
VirMach它是一家非常便宜的支持Linux VPS和Windows VPS 美國(guó)主機(jī)商
購(gòu)買鏈接(也可以選擇其他家)
https://billing.virmach.com/cart.php
買好以后
會(huì)收到3個(gè)郵件

最上面的郵件里面就是你的IP還有賬號(hào)密碼
點(diǎn)擊我的服務(wù)

然后點(diǎn)擊下方按鍵
進(jìn)入到服務(wù)器后臺(tái)
打開(kāi)PUTTY輸入你的ip(公眾號(hào)發(fā)送putty即可獲得該軟件)
輸入賬戶root還有初始密碼(郵件里面有)
首次登錄到服務(wù)器終端
修改登錄密碼
直接輸入
passwd
輸入兩遍,新密碼即可。
五、服務(wù)器端-vps配置
利用FXP(公眾號(hào)發(fā)送“fxp”即可獲得該軟件”)把下好的frp安裝包上傳到服務(wù)器(公眾號(hào)發(fā)送“frp”即可獲得。
如果你的VPS和本教程的不一樣可以再下面網(wǎng)址選擇適合你VPS的FRP
https://github.com/fatedier/frp/releases
登陸FXP用的是你的服務(wù)器IP以及你剛才修改的密碼
tar -zxvf frp_0.20.0_linux_386.tar.gz
文件解壓后,一般都含有frps(frp服務(wù)端運(yùn)行文件)、frpc(frp客戶端運(yùn)行文件)、frps.ini(frp服務(wù)端配置文件)、frpc.ini(frp客戶端配置文件),以及frp_full.ini(frp全部配置文件解釋說(shuō)明和參考。)
在服務(wù)器終端輸入以下指令
cd frp_0.20.0_linux_386
nano frps.ini
在 frps.ini 中輸入:
[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = dashboard_user_name
dashboard_pwd = dashboard_pwd_value
[common]部分是必須有的配置
其中bind_port是自己設(shè)定的frp服務(wù)端端口
dashboard_port_number 改為一個(gè)特定的端口號(hào),如8000,如此便可以通過(guò) http://yourip:8000 來(lái)訪問(wèn) frps 的網(wǎng)頁(yè)控制臺(tái)頁(yè)面.
dashboard_user 和 dashboard_pwd要填寫一個(gè)自定義的用戶名和密碼,用于在訪問(wèn) frps 控制臺(tái)頁(yè)面時(shí)輸入.

保存上面的配置后,使用以下指令啟動(dòng)frp服務(wù)端。
./frps -c ./frps.ini

在瀏覽器輸入“IP:7500”可以看到你的FRP的后臺(tái)
六、客戶端 – 樹(shù)莓派配置
樹(shù)莓派正常登陸putty,輸入以下指令
wget https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_arm.tar.gz
tar -zxvf frp_0.20.0_linux_arm.tar.gz
cd frp_0.20.0_linux_arm
sudo nano frpc.ini
寫入下面內(nèi)容
[common]
server_addr = 填寫你的服務(wù)器ip
server_port = 7000
[VNC]
type = tcp
local_ip = 127.0.0.1
local_port = 5900
remote_port = 5900
注意
這里是用VNC舉例子,你也可以做域名的映射

輸入下面指令運(yùn)行
./frpc -c ./frpc.ini

成功
我們開(kāi)始用VNC來(lái)測(cè)試一下是否成功
可以用你的手機(jī)的VNC或者是電腦的VNC進(jìn)行登陸測(cè)試(不要和樹(shù)莓派連接在同一網(wǎng)絡(luò))
還可以在我們剛才的FRP后臺(tái)看一看端口的情況
