侧边栏壁纸
  • 累计撰写 5 篇文章
  • 累计收到 0 条评论

基于Docker快速部署FRP服务端实现内网穿透

2026-7-30 / 0 评论 / 19 阅读

在需要公网访问内网服务的场景中,FRP(Fast Reverse Proxy)是一款轻量级内网穿透工具。本文基于Docker容器化技术,详细介绍FRP服务端(frps)的部署流程及关键配置要点。

部署环境准备

服务器要求

  • 公网IP的云服务器(如阿里云/腾讯云)
  • 已安装Docker环境(以CentOS为例):
 
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker

配置文件管理

  1. 创建配置目录:
 
sudo mkdir -p /etc/frp
  1. 编写服务端配置文件frps.toml
 
# frps.toml 核心配置
bindPort = 7000          # 客户端连接端口
webServer.addr = "0.0.0.0"  # Dashboard监听地址
webServer.port = 7500    # Dashboard访问端口
webServer.user = "admin"   # Dashboard账号
webServer.password = "admin" # Dashboard密码
auth.token = "admin123"  # 客户端认证令牌

容器化部署方案

基础部署方式

使用官方镜像快速启动:

docker run -d \
  --name frps \
  --restart always \
  --network host \
  -v /etc/frp/frps.toml:/etc/frp/frps.toml \
  snowdreamtech/frps

参数说明

参数 作用
--network host 直接使用主机网络,避免端口映射
-v 挂载配置文件实现持久化
--restart always 容器异常退出时自动重启

Docker Compose部署

创建docker-compose.yml文件:

version: "3"
services:
  frps:
    image: snowdreamtech/frps
    container_name: frps
    restart: always
    network_mode: host
    volumes:
      - /etc/frp/frps.toml:/etc/frp/frps.toml

启动服务:

docker-compose up -d

服务验证与维护

状态检查

1.查看容器运行状态:

docker ps | grep frps

 

2.检查服务日志:

 
docker logs frps

3.访问Dashboard:

http://<服务器IP>:7500

输入配置的账号密码(如admin/admin)查看连接状态

客户端配置示例

 
# frpc.toml 客户端配置
serverAddr = "公网IP"
serverPort = 7000
auth.token = "admin123"

[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000

客户端启动命令:

docker run -d \
  --name frpc \
  --restart always \
  --network host \
  -v /etc/frp/frpc.toml:/etc/frp/frpc.toml \
  snowdreamtech/frpc

常见问题处理

典型故障排查

问题现象 解决方案
客户端连接失败 检查防火墙是否放行7000端口
Dashboard无法访问 确认7500端口是否开放
配置文件解析错误 检查TOML格式缩进和符号
镜像版本问题 指定版本号如snowdreamtech/frps:0.58.0

安全建议

  1. 修改默认Dashboard账号密码
  2. 使用强认证令牌(至少16位混合字符)
  3. 限制Dashboard访问IP范围(通过云服务商安全组)
  4. 定期更新FRP镜像版本

评论一下?

OωO
取消