FRP是什么:
FRP是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,其基本原理是目标主机安装客户端连接到代理服务器建立固定连接,客户主机通过代理服务器连接到目标主机进行访问。
市面上有向日葵,TeamViewer也是类似原理,只不过这里变成代理服务器需要我们自己提供,比如从腾讯云或者阿里云购买一台轻量服务器作为代理服务器,有固定的公网IP可以访问。自建服务器的好处是带宽独享,可以有更稳定的连接效果。而制作镜像是希望能够方便多次部署。
环境搭建:
- 在服务器端部署frps
拉取最新版frp
docker pull snowdreamtech/frps
新增fprs.ini 文件并编辑去下内容
root/docker/frp/frps.ini
[common]
bind_port = 7000
bind_addr = 0.0.0.0
# 启用面板
dashboard_port = 7500
# 面板登录名和密码
dashboard_user = username
dashboard_pwd = password
# 使用http代理并使用7102端口进行穿透
vhost_http_port = 80
# 使用https代理并使用7103端口进行穿透
vhost_https_port = 443
# 服务token(根据实际情况修改),相当于连接密码,建议设置
token = tokenzxcvbnm
运行容器
docker run --restart=always --network host -d \
-v /root/docker/frp/frps.ini:/etc/frp/frps.ini \
--privileged=true --privileged=true \
--name frp-server snowdreamtech/frps
[common]
server_addr = FRPS 公网IP或域名
server_port = 7000
# token认证密码,客户端要相同
token = tokenzxcvbnm
[hx-ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 7100
[hx-mstsc]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7101
[yih-mysql]
type = tcp
local_ip = 192.168.1.7
local_port = 3306
remote_port = 7103
[hx-https]
type = https
local_ip = 127.0.0.1
local_port = 8080
custom_domains = XX.AAA.COM #需要时FRPS 接备案的域名
公网IP:7500 可以开启FRPS 控制面板