frp服务器搭建
以windows远程协助映射为例,其他服务的配置大同小异,具体请查看github
https://github.com/fatedier/frp
服务端(公网ip)
下载对应平台的程序
wget https://github.com/fatedier/frp/releases/download/v0.24.1/frp_0.24.1_linux_amd64.tar.gz
解压,修改配置文件
只需要frps,可以把frpc删掉,然后修改frps.ini文件
[common] bind_port = 7000 log_file = ./frps.log log_level = info disable_log_color = false max_pool_count = 100 log_max_days = 3
随便弄一个空闲端口和客户端通信。
启动服务
./frps -c frps.ini
客户端
同样下载对应平台的发布程序,同理可以把frps删掉,只保留frpc客户端程序
以远程协助映射3389端口为例,客户端的配置文件这样写
[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 即可。
服务器部分配置参数如下:
[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