在具有公网IP的服务器上安装frps,树莓派上安装frpc,通过端口转发TCP协议,实现非局域网内远程控制。
By - C灵C
服务器(server)端:
本文使用的是阿里云一台Centos7系统的服务器,所以要下载的frp为 amd64 格式的。
在这里可以找到frp的发布版本:
https://github.com/fatedier/frp/releases
frp 的服务器端,一般名字是 frps,对应的配置文件即为 frps.ini
# 在项目发布页面获得最新版本的下载地址 wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz # 解压. tar -zxvf frp_0.33.0_linux_amd64.tar.gz # cd 到 frp 目录. cd frp_0.33.0_linux_amd64 # 编辑配置文件 vim frps.ini
在 frps.ini 中输入:
[common] bind_port = 7000 dashboard_port = 18001 # 管理面板使用的端口,自定义 dashboard_user = coc # 管理面板的用户名,自定义 dashboard_pwd = cocpy.com # 管理面板的用户密码,自定义 privilege_token = cocpy@.com # 身份验证,须于客户端相同,自定义
然后,开启 frps 即可:
nohup ./frps -c ./frps.ini &
客户(customer)端:
本文使用的是一台Raspbian系统的树莓派,版本代号为Buster,所以应该下载arm(32位)格式的frp
frp 的客户端,一般名字是 frpc,对应的配置文件即为 frpc.ini
# 客户端下载frp wget # 解压 tar -zxvf frp_0.33.0_linux_arm.tar.gz # cd 到 frp 目录. cd frp_0.33.0_linux_arm # 编辑客户端配置文件 vim frpc.ini
在frpc.ini中输入:
[common] server_addr = 122.178.236.234 # 公网服务器IP地址 server_port = 7000 # 公网服务器绑定的端口 privilege_token = cocpy@.com # 服务端使用的token login_fail_exit = false # 登陆失败是否退出 [ssh] # SSH服务名称 type = tcp # 使用的协议类型 local_ip = 127.0.0.1 # 本机IP地址 local_port = 22 # 本地使用SSH的端口号 remote_port = 16000 # 公网服务器上转发的端口 [ssh-vnc] # VNC服务名称 type = tcp local_ip = 127.0.0.1 local_port = 5900 # 本地使用VNC的端口 remote_port = 15900
然后,开启 frpsc即可:
nohup ./frpc -c ./frpc.ini &
第三方访问:
配置好SSH服务后,需要在具有公网IP的服务器上开启7000、18001、15900和16000端口,如果树莓派设置了ufw还需要开启22和5900端口。
然后使用SSH软件,输入主机地址和端口号即可访问,如下图所示,在登录用户是使用的是客户端(即树莓派)上的用户名和密码。
或者,也可以使用VNC软件进行登录,这里要特别注意在 VNC Server处要输入公网IP地址和VNC转发的端口号,例:“122.178.236.234:15900”,如下图所示。
也可以使用SSH命令直接登录
ssh -oPort=转发的端口 客户端用户名称@服务端公网IP地址 ssh -oPort=16000 pi@122.178.236.234
开机自启:
服务端和客户端开启方法相同
# 编辑etc下rc.local文件
vim /etc/rc.local
在exit 0前加一行命令:
nohup frpc或frps的绝对路径 -c frpc或frps的ini配置文件的绝对路径 &
nohup /home/pi/App/Frp/frp_0.33.0_linux_arm/frpc -c /home/pi/App/Frp/frp_0.33.0_linux_arm/frpc.ini &
文章评论