如果想要树莓派可以被公网访问,可以选择直接网上搜内网穿透提供商,一个月大概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
结束