FRP是一款基于golang、开源的跨平台内网穿透工具,支持http、https、tcp、udp等协议,同时也支持tls、白名单等安全配置,具有较高的安全性。FRP的原理是利用反向代理技术将公网请求转发至内网服务器上,并将内网服务器的响应再次转发至公网请求者。在实现内网穿透时,FRP能够将公网与内网之间的隔离突破,使得公网用户可以直接访问内网服务器上的资源,从而实现远程访问和管理。
注意:新版docker 自带docker compose 不需要再独立安装了
新版本命令:docker compose up -d 老版本的是:docker-compose up -d
为什么要用 docker-compose 因为搬家很方便 怎么远程备份 下次有机会在出教程吧 论坛里也有很多备份教程。
Ps:懒人可以使用1Panel面板里的应用自动部署
第一步:
docker安装(默认最新版)
curl -fsSL https://get.docker.com | bash -s docker
第二步:
安装 docker-compose
curl -L "https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
第三步:
chmod +x /usr/local/bin/docker-compose 给与权限
第四步:
在VPS 输入命令创建目录 mkdir -p /root/data/docker_data/frps
进入目录 cd /root/data/docker_data/frps 输入命令touch docker-compose.yml 创建配置文件。复制下面代码到配置文件里。
services:
frps:
restart: always
network_mode: host
volumes:
- '/root/data/docker_data/frps/frps.toml:/etc/frp/frps.toml'
container_name: frps
image: snowdreamtech/frps:0.56.0
第五步:
输入命令 touch frps.toml 创建配置文件。复制下面代码到配置文件里。
# frps.toml
bindPort = 1341 # 服务端与客户端通信端口
transport.tls.force = true # 服务端将只接受 TLS链接
auth.token = "dg233eg443u" # 身份验证令牌,frpc要与frps一致
# Server Dashboard,可以查看frp服务状态以及统计信息
webServer.addr = "0.0.0.0" # 后台管理地址 这里不需要改动
webServer.port = 13442 # 后台管理端口
webServer.user = "admin" # 后台登录用户名
webServer.password = "admin" # 后台登录密码
最后 docker-compose up -d 安装即可,到这里我们的服务端FRPS搭建完成,IP:端口 访问服务端面板
1.2.3步骤按照上面操作即可
第四步:
在VPS 输入命令创建目录 mkdir -p /root/data/docker_data/frpc
进入目录 cd /root/data/docker_data/frpc 输入命令touch docker-compose.yml 创建配置文件。复制下面代码到配置文件里。
version: '3.3'
services:
frpc:
restart: always
network_mode: host
volumes:
- '/root/data/docker_data/frpc/frpc.toml:/etc/frp/frpc.toml'
container_name: frpc
image: snowdreamtech/frpc:0.56.0
第五步:
输入命令 touch frpc.toml 创建配置文件。复制下面代码到配置文件里。
# frpc.toml
transport.tls.enable = true # 从 v0.50.0版本开始,transport.tls.enable的默认值为 true
serverAddr = "111.111.111.111" #链接的公网IP 替换成你自己的IP
serverPort = 1341 # 公网服务端通信端口 需要和服务器的保持一致
auth.token = "dg233eg443u" # 令牌,与公网服务端保持一致
[[proxies]]
name = "test-http" #需要多个穿透这里修改名字
type = "tcp" #穿透的协议 具体有哪些 参考官网 https://gofrp.org/zh-cn/docs/examples/
localIP = "192.168.31.21" # 本地IP修改为你自己的
localPort = 3444 # 搭建服务的本地端口
remotePort = 1343 #外网访问端口
最后 docker-compose up -d 安装即可,到这里就大功告成拉 最后就是 IP:端口 访问客户端面板,进行配置
第一步:
去下面的网址下载对应的win版本 如果不清楚是什么架构, 可以选择 frp_0.56.0_windows_amd64.zip
试一下。 不能用再换另外一个。
https://github.com/fatedier/frp/releases/tag/v0.56.0
第二步:
复制下面代码到配置文件里(frpc.toml)
# frpc.toml
transport.tls.enable = true # 从 v0.50.0版本开始,transport.tls.enable的默认值为 true
serverAddr = "111.111.111.111" #链接的公网IP 替换成你自己的IP
serverPort = 1341 # 公网服务端通信端口 需要和服务器的保持一致
auth.token = "dg233eg443u" # 令牌,与公网服务端保持一致
[[proxies]]
name = "test-http" #需要多个穿透这里修改名字
type = "tcp" #穿透的协议 具体有哪些 参考官网 https://gofrp.org/zh-cn/docs/examples/
localIP = "192.168.31.21" # 本地IP修改为你自己的
localPort = 3444 # 搭建服务的本地端口
remotePort = 1343 #外网访问端口
第三步:
frpc文件夹内 新建一个文本文档 改名为 双击运行.bat 复制 cmd /k "frpc.exe -c frpc.toml" 保存 最后在双击运行即可启动!
到这里就大功告成拉 最后就是 IP:端口 访问拉
# frps.toml
bindPort = 1341 # 服务端与客户端通信端口
vhostHTTPSPort = 443
transport.tls.force = true # 服务端将只接受 TLS链接
auth.token = "dg233eg443u" # 身份验证令牌,frpc要与frps一致
# Server Dashboard,可以查看frp服务状态以及统计信息
webServer.addr = "0.0.0.0" # 后台管理地址 这里不需要改动
webServer.port = 13442 # 后台管理端口
webServer.user = "admin" # 后台登录用户名
webServer.password = "admin" # 后台登录密码
证书文件放在 同一个目录。 下面这个配置文件是在win下运行的。 docker不能用???测试过有问题后来改为 win下运行了。如果有知道原因的小伙伴还请分享一下,我好完善教程。
serverAddr = "111.111.111.111" #链接的公网IP 替换成你自己的IP
serverPort = 1341 # 公网服务端通信端口 需要和服务器的保持一致
auth.token = "dg233eg443u" # 令牌,与公网服务端保持一致
[[proxies]]
name = "test_htts2http" # 不用修改
type = "https" # 不用修改
customDomains = ["qq.qq.com"] # 替换成你自己的域名
[proxies.plugin]
type = "https2http" # 不用修改
localAddr = "192.168.11.11:5555" # 本地IP和端口 修改为你自己的
crtPath = "./qq.qq.com.cer" # 证书路径 qq.qq.com.cer 替换成你自己的
keyPath = "./qq.qq.com.key" # 秘钥路径 qq.qq.com.key 替换成你自己的
hostHeaderRewrite = "127.0.0.1" # 不用修改
requestHeaders.set.x-from-where = "frp" # 不用修改