只有信用卡大小的它,同時也是一台功能完備的電腦(樹莓派),把內網能玩的功能都玩了個遍,自然就有了外網訪問這台樹莓派的需求。一樣也是查閱了無數文章,研究了無數個方案,最終試驗成功用FRP實現了內網穿透,實現在外網訪問家里的這台raspbian系統。
下載
接下來到GitHub上下載frp的發行版本(https://github.com/fatedier/frp/releases)。下載時看好對應的平台。ECS對應的是linux_amd64,樹莓派對應的是linux_arm(最好別下arm64位的……)。
下載完成后,我這里用FileZilla工具上傳到騰訊雲 contos7任意文件夾下
上傳到樹莓派raspbian任意文件夾下
然后解壓:
tar -xzv -f /javadev/doc/frp_0.21.0_darwin_amd64.tar.gz -C /javadev/frpc
注意:
公網IP的機器上配置的是frps及frps.ini
處於內網環境的機器上配置的是frpc及frpc.ini
通過ssh訪問公司內網機器(centos7)
- 修改frps.ini文件,這里使用了最簡化的配置:
# frps.ini [common] bind_port = 7000
- 啟動frps:
./frps -c ./frps.ini
啟動成功后先不要退出,繼續打開樹莓派配置frpc
- 修改frpc.ini文件,我的frps所在服務器的公網IP為:182.254.201.12
# frpc.ini [common] server_addr = 182.254.201.12 server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000
- 啟動frpc:
./frpc -c ./frpc.ini
騰訊雲的服務器中需要對網絡安全組進行設置,允許出入站方向的端口。比如在上面的例子中,我們要允許出入站方向TCP連接22、7000、6000的端口。
測試
觀察frpc和frps如果輸出沒有錯誤,成功啟動,那就用SSH連接一下公網IP: 182.254.201.12 ,記得把端口號改成6000。如果能夠連上,就說明沒有問題了
用外網或者手機連接,我這里用的是ios系統的Termius,如果是安卓可以用JuiceSSH
連接成功,大功告成!