树莓派 frp 内网穿透

杀马特。学长 韩版系。学妹 提交于 2019-11-28 17:39:40

目标:

因为家里没有公网IP,不能像访问云服务器一样访问家里的树莓派,所以目标是外网用SSH、VNC访问家里局域网中的树莓派。

工作原理的个人理解:

在云主机上运行frp服务器,在树莓派上运行frp客户端,使他们连接起来,通过访问云主机暴露出来IP:PORT来访问云主机,再由云主机转发到它连接的树莓派。

材料:

1. 一台有公网IP的云主机

2. 一个树莓派

https://github.com/fatedier/frp/releases
在上面网站根据自己的机器下载对应版本的frp
云主机的:
frp_0.17.0_linux_amd64.tar.gz
树莓派的(注意是arm):
frp_0.17.0_linux_arm.tar.gz

frp包内容:

 

其中frpc...的三个文件是frp客户端,frps...的三个文件是frp服务器端。

配置:

云主机:

在云主机上配置frps.ini

[common]
bind_port = 7000    # 不变
dashboard_port = 8030    # 需要是云主机开放的端口,用于进入frp后台的
dashboard_user = frp-gao    # 进入frp后台的用户名
dashboard_pwd = 1998    # 进入frp后台的密码
privilege_token = 1998    # 这个需要和frpc中的token保持一致

启动:

./frps -c ./frps.ini

可以访问“云主机ip:dashboard_port"

树莓派:

在树莓派上配置frp.ini

[common]
server_addr = 47.100.83.146    # 云主机IP
server_port = 7000    # 不变
privilege_token = 1998    # 和frps上的token保持一致
login_fail_exit = false 

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22       # 22是ssh的端口
remote_port = 8022    # 用于远程ssh连接的端口,需要是云主机开放的端口

[VNC]
type = tcp
local_ip = 127.0.0.1
local_port = 5900     # 5900是树莓派vnc的端口
remote_port = 8020    # 用于远程vnc连接的端口,需要是云主机开放的端口

启动:

./frpc -c ./frpc.ini

可以在frp后台看到对应的信息:

 另外:树莓派需要开启SSH,VNC服务,要不然会拒绝访问。。。

开启方法https://blog.csdn.net/juyuyh/article/details/102984749

测试:

可以在手机上安装vnc viewer

再次强调remote_port必须是云主机开放的端口

输入 云主机ip:remote_port (ssh或vnc的远程端口)

再根据提示输入树莓派的用户名,密码即可连入

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!