💡 使用 Docker Compose 实现 FRP 内网穿透
FRP 是一款轻量高性能的反向代理应用,使用 Docker Compose 可以轻松部署 FRP 服务端(frps)和客户端(frpc)来实现内网穿透。以下是详细步骤和注释。
📦 安装 Docker 与 Docker Compose
# 更新软件包索引
sudo apt update
# 安装 Docker 和 Compose
sudo apt install docker.io docker-compose -y
# 启动并设置开机自启
sudo systemctl enable --now docker
🖥️ 配置 FRP 服务端(frps)
创建 docker-compose-frps.yml
文件:
version: '3'
services:
frps:
image: snowdreamtech/frps # 使用 FRP 服务端镜像
container_name: frps # 容器名称
restart: always # 开机自动重启
ports:
- "7000:7000" # FRP 连接端口
- "7500:7500" # 仪表板端口
- "6000-6010:6000-6010" # 映射穿透端口范围
volumes:
- ./frps.ini:/etc/frp/frps.ini # 挂载配置文件
创建 frps.ini
配置文件:
[common]
bind_port = 7000 # 接收客户端连接端口
token = your_secure_token # 连接认证令牌
dashboard_port = 7500 # 仪表板端口
dashboard_user = admin # 仪表板用户名
dashboard_pwd = your_password # 仪表板密码
启动服务端:
docker-compose -f docker-compose-frps.yml up -d
📡 配置 FRP 客户端(frpc)
创建 docker-compose-frpc.yml
文件:
version: '3'
services:
frpc:
image: snowdreamtech/frpc # 使用 FRP 客户端镜像
container_name: frpc # 容器名称
restart: always # 开机自动重启
network_mode: host # 使用主机网络,方便转发
volumes:
- ./frpc.ini:/etc/frp/frpc.ini # 挂载配置文件
创建 frpc.ini
配置文件:
[common]
server_addr = your_server_ip # 服务端公网 IP
server_port = 7000 # 服务端监听端口
token = your_secure_token # 与服务端一致
[ssh]
type = tcp # 使用 TCP 转发
local_ip = 127.0.0.1 # 本地服务地址
local_port = 22 # 本地端口(如 SSH)
remote_port = 6000 # 映射到公网的端口
启动客户端:
docker-compose -f docker-compose-frpc.yml up -d
🔧 常用 Docker 管理命令
# 查看日志
docker logs frps
docker logs frpc
# 启停容器
docker start frps
docker stop frpc
# 删除容器
docker rm frps frpc
🔒 推荐安全配置(服务端)
[common]
allow_ports = 6000-6010 # 限制可暴露端口范围
tls_enable = true # 启用 TLS 加密连接
通过以上配置,您就可以轻松在内网机器上通过公网服务器实现远程访问。适用于 SSH、Web、数据库等多种场景。