FRP
https://github.com/fatedier/frp/blob/master/README_zh.md
下载软件包

frp包里有如下文件
服务器端需要更改frps.ini文件
客户端需要更改frpc.ini文件
服务器
安装
https://github.com/snowdreamtech/frp?spm=a2c4e.10696291.0.0.4a5619a4SqlVwU
:::success
Docker
docker run —restart=always —network host -d -v /etc/frp/frps.ini:/etc/frp/frps.ini —name frps snowdreamtech/frps :::
修改frps.ini
[common]#绑定的端口,bind_port = 7000#设置监听 HTTP 请求端口为 8080vhost_https_port = 8080#使用 xx.xx.xx.xx:7500 访问frp,展示你的信息dashboard_port = 7500#进入 xx.xx.xx.xx:7500 所需要的用户名和密码dashboard_user = admindashboard_pwd = password# 自己设的tokenprivilege_token = 123456#log_file日志文件log_file = ./frps.log#log_level记录的日志级别log_level = info#log_max_days日志留存天数log_max_days = 3#authentication_timeout超时时间authentication_timeout = 0#max_pool_count最大链接池,每个代理预先与后端服务器建立起指定数量的最大链接数max_pool_count = 50

:::success 配置文件 :::
[common] # 通用配置段bind_addr = 0.0.0.0 # 绑定的IP地址,支持IPv6,不指定默认0.0.0.0;bind_port = 7000 # 服务端口;bind_udp_port = 7001 # 是否使用udp端口,不使用删除或注释本行;kcp_bind_port = 7000 # 是否使用kcp协议,不使用删除或注释本行;# proxy_bind_addr = 127.0.0.1 # 代理监听地址,默认和bind_addr相同;# 虚拟主机vhost_http_port = 80 # 是否启用虚拟主机,端口可以和bind_port相同;vhost_https_port = 443vhost_http_timeout = 60 # 后端虚拟主机响应超时时间,默认为60s;# 开启frps仪表盘可以检查frp的状态和代理的统计信息。dashboard_addr = 0.0.0.0 # frps仪表盘绑定的地址;dashboard_port = 7500 # frps仪表盘绑定的端口;dashboard_user = admin # 访问frps仪表盘的用户;dashboard_pwd = admin # 密码;assets_dir = ./static # 仪表盘页面文件目录,只适用于调试;# 日志配置文件log_file = ./frps.log # 日志文件,不指定日志信息默认输出到控制台;log_level = info # 日志等级,可用等级“trace, debug, info, warn, error”;log_max_days = 3 # 日志保存最大保存时间;token = 12345678 # 客户端与服务端通信的身份验证令牌heartbeat_timeout = 90 # 心跳检测超时时间,不建议修改默认配置,默认值为90;?# 指定允许客户端使用的端口范围,未指定则没有限制;allow_ports = 2000-3000,3001,3003,4000-50000max_pool_count = 5 # 每个客户端连接服务端的最大连接数;max_ports_per_client = 0 # 每个客户端最大可以使用的端口,0表示无限制authentication_timeout = 900 # 客户端连接超时时间(秒),默认为900s;subdomain_host = frps.com # 自定义子域名,需要在dns中将域名解析为泛域名;tcp_mux = true # 是否使用tcp复用,默认为true;# frp只对同意客户端的连接进行复用;
客户端/树莓派
rm -f frps*
[common]server_addr = 此处填服务器公网ipserver_port = 7777 #此处要与服务器端frps.ini文件中bind_port相同[ssh]type = tcplocal_ip = 192.168.31.65 #内网主机的iplocal_port = 22 #ssh的默认端口remote_port = 6000 #自定义的访问内部ssh端口号,确保服务器已开放此端口
运行服务
./frpc -c frpc.ini #直接运行nohup ./frpc -c ./frpc.ini & #后台运行
测试
ssh pi@公网ip -p 6000
端口占用问题
在外部云服务器上布置Frp服务的时候发现80被占用,于是用到了Ngnix反向代理功能
