使用docker compose部署frp实现内网穿透

使用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

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注