1、前期准备

下载地址:https://github.com/fatedier/frp/releases

分别下载服务端及客户端安装包

 

 2、服务端安装包(frp_0.40.0_linux_amd64.tar.gz)上传至服务器

使用tar命令解压

tar -zxvf frp_0.40.0_linux_amd64.tar.gz

文件夹改名为frp

mv frp_0.40.0_linux_amd64 frp

进入frp

cd frp

3、修改服务端配置文件(frps.ini)

[common]   # 必须标识头,是不可或缺的部分;

#必须服务器IP,0.0.0.0为服务器全局所有IP可用,假如你的服务器有多个IP则可以这样做,或者填写为指定其中的一个服务器IP,支持IPV6;
bind_addr = 0.0.0.0

#FRP通讯端口,用于和客户端内网穿透传输数据的端口,可自定义。
bind_port =

#用于KCP协议UDP通讯端口,也可以和“bind_port”共用同一端口,如果没有设置,则kcp在frps中被禁用,可自定义;
kcp_bind_port =

#frps 网页控制台WEB服务端口,访问web服务端IP:端口就可以打开frps网页控制后台,端口可自定义,通过浏览器查看 frps下的frpc 的状态以及代理统计信息展示;
dashboard_port =

#登陆账号,自定义WEB管理用户名,如果没有设置,默认值是admin;
dashboard_user = admin

#登陆密码,自定义WEB管理密码,如果没有设置,默认值是admin;
dashboard_pwd = 

#如果你想支持http,必须指定http端口监听,指定端口为http网页协议,可自定义;
vhost_http_port =

#如果你想支持https,必须指定https端口监听,指定端口为https网页协议,可自定义;
vhost_https_port =

#日志存放路径;
log_file = ./frps.log

#日志记录类别,可选:trace, debug, info, warn, error;
log_level = info

#最多保存多少天日志,可自定义保存多少天;
log_max_days = 3

#连接认证密钥-特权模式,客户端连接到本服务端的登录验证密钥,可自定义;
token =

#每个内网穿透可以创建的连接池上限,避免大量资源占用。可自定义;
max_pool_count = 50

#如果使用tcp流复用,默认值为true,不开启则,false;客户端和服务器端之间的连接支持多路复用,不再需要为每一个用户请求创建一个连接,使连接建立的延迟降低,并且避免了大量文件描述符的占用,使 frp 可以承载更高的并发数。
tcp_mux = true

4、启动frp服务端

后台运行

nohup ./frps -c frps.ini & > frps.log

 停止运行frp的方法

ps -ef | grep frp
kill -9 进程id

 

5、解压客户端压缩包(frp_0.40.0_windows_amd64)

编辑frpc.ini文件

[common]

#是公网服务器frps的IP;
server_addr = X.X.X.X

#服务器frps的服务端连接端口;
server_port = 

#服务器frps连接的Token;
token =

[ssh]

#连接协议;
type = tcp

#内网服务器ip;
local_ip = 192.168.0.12

#ssh默认端口号;
local_port = 22

#自定义外部访问内部ssh的转发端口号;
remote_port = 122

[web]
#访问协议;
type = http

#内网服务器ip;
local_ip = 192.168.0.12

#内网web服务的端口号;
local_port = 8080

#所绑定的公网服务器域名,一级、二级域名、IP都可以;
custom_domains =

 

 

6、启动frp客户端

frpc.exe -c frpc.ini