准备工作
搭建一个完整的frp服务链,我们需要
VPS一台(也可以是具有公网IP的实体机)
访问目标设备(就是你最终要访问的设备)
简单的Linux基础(会用cp等几个简单命令即可)
满足以上条件即可进行
原理图
服务端设置
SSH连接到VPS之后运行如下命令查看处理器架构,根据架构下载不同版本的frp
arch
查看结果,如果是“X86_64“即可选择”amd64”,
运行如下命令,根据架构不同,选择相应版本并进行下载
wget https://github.com/fatedier/frp/releases/download/v0.22.0/frp_0.44.0_linux_amd64.tar.gz
然后解压
tar -zxvf frp_0.44.0_linux_amd64.tar.gz
进入root/frp_0.44.0_linux_amd64,找到文件 frps.ini
并修改成
[common]
bind_port = 6000
vhost_http_port = 909
dashboard_user = admin
dashboard_pwd = admin
token=123456 #请自行修改
“bind_port”
表示用于客户端和服务端连接的端口,这个端口号我们之后在配置客户端的时候要用到。
“dashboard_port”
是服务端仪表板的端口,若使用6000端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:6000 (其中x.x.x.x为VPS的IP)查看frp服务运行信息。
“token”
是用于客户端和服务端连接的口令,请自行设置并记录,稍后会用到。
“dashboard_user”
和 “dashboard_pwd”
表示打开仪表板页面登录的用户名和密码,自行设置即可。
“vhost_http_port”
和 “vhost_https_port”
用于反向代理HTTP主机时使用。
运行服务端
./frps -c frps.ini
后台运行
nohup ./frps -c frps.ini >/dev/null 2>&1 &
客户端设置
与服务端相同,下载frp-解压
进入root/frp_0.44.0_linux_amd64,找到文件 frpc.ini
并修改成
[common]
server_addr = 服务端IP
server_port = 6000
token = 123456
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 5700
remote_port = 909
“server_addr”
为服务端IP地址,填入即可。
“server_port”
为服务器端口,填入你设置的端口号即可,如果未改变就是6000
“token”
是你在服务器上设置的连接口令。
“local_ip”
是你在本地端IP。
“[xxx]”
表示一个规则名称,自己定义,便于查询即可。
“type”
表示转发的协议类型,有TCP和UDP等选项可以选择,如有需要请自行查询frp手册。
“local_port”
是本地应用的端口号,按照实际应用工作在本机的端口号填写即可。
“remote_port”
是该条规则在服务端开放的端口号,自己填写并记录即可。
运行本地端
./frpc -c frpc.ini
后台运行
nohup ./frpc -c frpc.ini >/dev/null 2>&1 &