前言

转载自https://www.cnblogs.com/sttchengfei/p/12594945.html

以windows远程协助映射为例,其他服务的配置大同小异,具体请查看github

https://github.com/fatedier/frp

服务端(公网ip)

下载对应平台的程序

1
wget https://github.com/fatedier/frp/releases/download/v0.24.1/frp_0.24.1_linux_amd64.tar.gz

解压,修改配置文件
 只需要frps,可以把frpc删掉,然后修改frps.ini文件

1
2
3
4
5
6
7
[common]
bind_port = 7000
log_file = ./frps.log
log_level = info
disable_log_color = false
max_pool_count = 100
log_max_days = 3

随便弄一个空闲端口和客户端通信。

1
./frps -c frps.ini

启动服务

客户端
同样下载对应平台的发布程序,同理可以把frps删掉,只保留frpc客户端程序
以远程协助映射3389端口为例,客户端的配置文件这样写

1
2
3
4
5
6
7
8
9
[common]
server_addr = 47.107.86.165
server_port = 7000

[mstsc]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7402

用mstsc连公网服务器:7402 即可。

服务器部分配置参数如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
[common]
# binde_addr是指定frp内网穿透服务器端监听的IP地址,可以省略,默认为127.0.0.1,如果使用IPv6地址的话,必须用方括号包括起来,比如 “[::1]:80”, “[ipv6-host]:http” or “[ipv6-host%zone]:80”
bind_addr = 0.0.0.0

# bind_port 是frp内网穿透服务器端监听的端口,默认是7000
bind_port = 7000

# 下面两个选项是为了frp内网穿透服务器可以支持虚拟主机的http和https协议,是可选项,如果不需要可以不设置这两个参数,需要注意的是如果使用虚拟主机的http和https协议,使得多个虚拟主机都通过默认的80或443端口访问,必须解析域名,否则不同的虚拟主机只能通过不同的端口访问frp内网穿透服务。
vhost_http_port = 80
vhost_https_port = 443

# 这个是frp内网穿透服务器的web界面的端口,可以通过http://你的ip:7500查看frp内网穿透服务器端的连接情况,和各个frp内网穿透客户端的连接情况。
dashboard_port = 7500

# 以下是frp内网穿透服务器web界面访问的用户名和密码,根据需要修改即可。
dashboard_user = admin
dashboard_pwd = admin

# dashboard面板的静态文件目录,只用于frp内网穿透服务的debug模式,默认情况下是不启用的。
# assets_dir = ./static
# 日志的输入方式,如果设置log_file的话日志就输出到日志文件中保存在硬盘中,需要注意绝对路径和相对路径,还要注意Linux系统和Windows系统下 / 和 的区别。

log_file = ./frps.log

# 日志的记录级别,分为debug, info, warn, error四级,日志保存的天数,默认3天
log_level = info

log_max_days = 3

# 特权模式,大部分朋友都会用这种模式,因为frp内网穿透的特权模式下,增加客户端不需要修改服务端的配置文件,非常方便,所有的客户端配置都在客户端进行。
privilege_mode = true
privilege_token = 12345678

# 心跳配置,默认的心跳配置时间是30
# heartbeat_timeout = 30

#frp内网穿透服务端监听的端口,如果不设置的话,所有端口都可以连接使用,但为为了不占用系统使用的端口号,建议设置允许的坚挺端口,比如www.chuantou.org提供的内网穿透服务器就是开放50000-60000端口
privilege_allow_ports = 2000-3000,3001,3003,4000-50000

#连接池的数量,如果frp内网穿透客户端设置的连接池的数量大于下面的数值,就会修改frp客户端的连接池为下面的数值
max_pool_count = 100

# frp内网穿透服务端frps和frp内网穿透的客户端frpc两台电脑的时间差,如果设置为0的话,不校验时间差异,默认校验时间差为900秒。
authentication_timeout = 900