如果想要樹莓派可以被公網訪問,可以選擇直接網上搜內網穿透提供商,一個月大概10塊錢,也有免費的,但是免費的速度就不要希望很好了。
也可以選擇接下來介紹的frp,這種方式不需要付費,但是需要你有一臺有著公網ip的服務器,如果沒有就不用往下看了,我正好有一臺騰訊云服務器,所以采用這種方式。
接下來的例子作用是能通過公網ssh連接樹莓派
進入frp的GitHub項目release界面,下載相應的包
鏈接為:GitHub - fatedier/frp: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
解壓應該是這樣的(以arm架構為例,x86一樣)
剩下的license不用管
注意,將x86架構的frps和frps.toml上傳到服務器
arm64架構的frpc和frpc.toml上傳到樹莓派
兩個toml文件是需要寫配置的,可以用vscode打開編寫
frps.toml打開后為
一般無需修改,這個是用來設置接受樹莓派連接的端口
frpc.toml打開后為
需要按照如下方式修改
serverAddr需要改為云服務器的公網ip,騰訊云服務器直接在控制臺看就好
serverPort需要和frps.toml一致
localIP和localPort是樹莓派的內網地址和想要暴露服務的內網端口(ssh是22端口)
remtePort代表公網所監聽的端口,就是說訪問公網IP:這個端口,就可以訪問到內網服務了,也就是咱們的樹莓派暴露的那個端口的服務
接下來需要把文件分別上傳到騰訊云服務器和樹莓派,并且啟動frps和frpc(-c是掛載配置文件,frpc與此相同)
./frps -c frps.toml
注意,公網要開放6000,7000端口,內網無需多做設置
如果看到兩邊的終端都顯示success了,就證明成功辣
然后通過ssh命令就可以訪問內網機器
終端輸入如下內容,test換成用戶名,x.x.x.x換成公網IP
結束