frp內網穿透搭建,超級簡單實用

由於前幾天實驗室項目需要,搭建了Ngrok服務器來實現內網主機向外網用戶端提供服務的內網穿透,偶然間遇到了FRP這個工具,感覺frp比ngrok更好用,直接用官網下載相應版本就好,而不用自己編譯,特別方便。下面我將介紹如何通過frp,讓局域網內的arm板對外網用戶提供ssh服務。(居於網內主機如何向外網提供web服務之類的也是一樣的道理)

(1)準備工作

有一個公網IP的服務器(VPS),根據服務器環境,和主機環境下載相應的frp服務器端和客戶端。我這裏服務器服務器環境是linux 64位,客戶端環境是arm 端。所以到官網https://github.com/fatedier/frp/releases下載相應版本,如下圖:


下載解壓後有如下的七個文件:


(2)配置服務器端

服務器端只需要兩個文件frps和frps.ini,其中frps爲可執行文件,frps.ini爲配置文件,是不是很方便?配置文件如下圖(很簡單):其中bind_addr爲本機IP,bind_port爲frp對客戶端的端口號,auto_token是客戶端連接服務器端的口令。


配置好後即可運行服務器端:./frps -c ./frps.ini


運行成功如上圖,現在就可以配置客戶端啦!

(3)配置客戶端

同樣將客戶端解壓後有七個文件,只需要frpc和frpc.ini,配置文件如下:


注意:server_addr是服務器端的公網IP地址,server_port是frp服務端口號,auto_token是連接服務器的口令,必須和服務器保持一致。[ssh_208]是客戶端通過服務器與用戶之間的通道名,每個客戶端必須不一樣,remote_port是服務器端對外提供本機服務的端口號,即用戶連接60.12.220.16:10085,相當於連接127.0.0.1:22,即arm板上的ssh服務

運行客戶端:./frpc -c ./frpc.ini


(4)測試

現在我們用外網主機來遠程登陸到我們的arm板子,ssh 60.12.220.16 -p 10085


可以看到,完美成功!!

(5)補充後期遇到的問題!!!

注意:客戶端的時鐘不能和服務器端時鐘相差太大!否則會出現認證超時的錯誤:authorization timeout

這個超時時間可以在配置文件中通過 authentication_timeout 這個參數來修改,單位爲秒,默認值爲 900,即 15 分鐘。如果修改爲 0,則 frps 將不對身份驗證報文的時間戳進行超時校驗。

使用命令:date 查看當前計算機時間

使用命令:date -s "YYYY-MM-DD HH-MM-SS" 設置時間

使用命令:hwclock -w 寫入flash





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章