frp配置全解析

GitHub地址

GitHub - frp

frps.ini

[common]

# bind_addr为0.0.0.0含义就是服务端服务器上的所有IP都可以监听外部连接请求
# 如果需要配置单个就将服务器的某一个公网IP写在bind_addr
bind_addr = 0.0.0.0
bind_port = 7000

# 可以使用nat打洞,进行点对点的连接,这时候数据通信不仅过frp服务端
bind_udp_port = 7001

# 可以使用底层通信端口为kcp
kcp_bind_port = 7000

# 考虑到这个场景:内网的的数据库是个备库,frps这边要把本地的数据库备份到内网机器上,在此使用proxy_bind_addr = 127.0.0.1 就可以达到这个效果,还很安全
proxy_bind_addr = 127.0.0.1

# 域名访问内网的web服务,需要将域名解析到服务器,A记录或者CNAME记录
vhost_http_port = 80
vhost_https_port = 443

# http相应超时,默认60s
vhost_http_timeout = 60

# frpweb统计界面
dashboard_addr = 0.0.0.0
dashboard_port = 7500

# web统计界面认证信息
dashboard_user = admin
dashboard_pwd = admin

# frp服务端日志文件
log_file = ./frps.log

# 日志等级 trace, debug, info, warn, error
log_level = info

# 日志保留天数
log_max_days = 3

# frp服务端和客户端通过bind_port端口进行认证的token,服务端和客户端都要一直
token = 12345678

# 服务器上可以用映射的端口
allow_ports = 2000-3000,3001,3003,4000-50000


# 默认情况下:当用户请求建立连接后,frps 才会请求 frpc 主动与后端服务建立一个连接 
# 如果由大量短连接的情况呢,是不是很和耗时?因此,该字段会在和frp客户端连接后,主动建立max_pool_count个连接,当有用户来访问业务的是时候就会从该连接池内取出连接来用,使用于大量短连接的情况
max_pool_count = 5

# 限制frpc使用服务端端口的数量。0为不限制
max_ports_per_client = 0

# 该功能需要泛解析,即把*.frps.com A记录到frps在的服务器上,然后frpc就可以只配置subdomain = test 就可以使用 test.frps.com来使用,多人使用很方便
subdomain_host = frps.com

# 启动tcp多路复用
tcp_mux = true

frpc.ini

[common]
# 和frps底层通信的信息,和bind_addr = 0.0.0.0 bind_port = 7000 保持一致
server_addr = 0.0.0.0
server_port = 7000

# frpc通过代理去连接frps。http或socks5代理方式
# http_proxy = http://user:passwd@192.168.1.128:8080
http_proxy = socks5://user:passwd@192.168.1.128:1080

# 日志文件
log_file = ./frpc.log

# 日志等级 trace, debug, info, warn, error
log_level = info

# 日志最大保留天数
log_max_days = 3

# 和frps底层通信认证token和frps一致
token = 12345678

# 热加载frpc配置使用 frpc reload -c ./frpc.ini
admin_addr = 127.0.0.1
admin_port = 7400
admin_user = admin
admin_pwd = admin

# 和frps刚开始通信时建立的连接数量
pool_count = 5

# 开启tcp多路复用 和frps一致
tcp_mux = true

# 加入frpc标识,下面的模块使用 如 your_name.ssh
user = your_name

# frpc和frps登陆失败后是否继续持续登陆
login_fail_exit = true

# 和frps通信的底层协议 tcp kcp websocket,  默认是 tcp
protocol = tcp

# frpc使用的dns服务器
# dns_server = 8.8.8.8

# frpc中启动的代理模块,模式都启动
# start = ssh,dns

# ssh代理模块
[ssh]
...
...

# dns代理模块
[dns]
...
...

demo

[common]
token = {{ .Envs.FRP_SERVER_TOKEN }}
server_addr = {{ .Envs.FRP_SERVER_ADDR }}
server_port = {{ .Envs.FRP_SERVER_PORT }}

admin_addr = 0.0.0.0
admin_port = 7400
admin_user = admin
admin_pwd = admin

[name]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = {{ .Envs.FRP_SSH_REMOTE_PORT }}
use_encryption = true
posted @ 2022-01-27 16:39  liuyang9643  阅读(3883)  评论(0编辑  收藏  举报