使用docker compose部署frp实现内网穿透
前置条件:
服务器,docker环境
防火墙放行对应的端口,注意7000端口tcp与udp均需放行
解决办法:
服务端(即服务器上)
再当前目录下创建frps目录
创建frps.toml文件
bindPort = 7000
# 核心:只开启 QUIC 的 UDP 端口
quicBindPort = 7000
# 身份校验,此处自己更改
auth.token = "SECRET_TOKEN_123"
# 管理后台 (http://服务器IP:7500)
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "admin_pwd_123"
创建docker-compose.yml文件
services:
frps:
image: docker.1ms.run/snowdreamtech/frps:latest
container_name: frps
restart: always
network_mode: host
volumes:
- ./frps.toml:/etc/frp/frps.toml
sudo docker compose up -d
客户端(即你得内网电脑)
创建frpc目录
创建frpc.toml
# --- 全局连接配置 ---
serverAddr = "你的公网IP"
serverPort = 7000
auth.token = "你的Token"
# 核心:使用 QUIC 传输(管道协议)
transport.protocol = "quic"
# --- 业务映射配置 ---
[[proxies]]
name = "ssh-windows"
type = "tcp" # 注意:这里必须是 tcp,不能是 quic
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000
[[proxies]]
name = "web-windows"
type = "tcp"
localIP = "127.0.0.1"
localPort = 80
remotePort = 6001
创建docker-compose.yml文件
services:
frpc:
image: docker.1ms.run/snowdreamtech/frpc:latest
container_name: frpc
restart: always
network_mode: host
volumes:
- ./frpc.toml:/etc/frp/frpc.toml
运行
sudo docker compose up -d
网上搜到的一篇部署教程,可以参考(注意,未部署测试)
关于frp 内网穿透 docker安装 终极 (方案) – 学不会xuebuhui – 博客园
提醒:
注意在转发本地使用xmapp3.24版本部署的网页时不能打开,使用如下转发方法可以解决:
修改本地xmapp中的apache端口为81
1、打开 XAMPP 面板,点击 Apache 的 Config -> httpd.conf。
2、搜索 Listen 80,改为 Listen 81。
3、搜索 ServerName localhost:80,改为 ServerName localhost:81。
4、保存并重启 Apache。
5、frpc中使用81端口即可。
参考配置如下:
[[proxies]]
name = "localhost"
type = "tcp"
localIP = "host.docker.internal"
localPort = 81
remotePort = 10008