通过Docker部署FRP实现内网穿透功能

一、服务端部署(frps)

  1. 拉取 FRP 服务端镜像:
    docker pull snowdreamtech/frps
  2. 启动 FRP 服务端容器: 使用环境变量直接配置服务端参数,无需挂载配置文件:
    docker run -d --name frps \
    --restart=always \
    -p 7000:7000 \
    -p 7500:7500 \
    -e "FRPS_BIND_PORT=7000" \
    -e "FRPS_DASHBOARD_PORT=7500" \
    -e "FRPS_DASHBOARD_USER=admin" \
    -e "FRPS_DASHBOARD_PASSWORD=admin" \
    -e "FRPS_AUTH_METHOD=token" \
    -e "FRPS_AUTH_TOKEN=your_secure_token" \
    snowdreamtech/frps
    • FRPS_BIND_PORT:服务端监听端口。
    • FRPS_DASHBOARD_PORT:仪表盘端口。
    • FRPS_DASHBOARD_USERFRPS_DASHBOARD_PASSWORD:仪表盘用户名和密码。
    • FRPS_AUTH_METHODFRPS_AUTH_TOKEN:认证方式和令牌,客户端需要使用相同的令牌。

二、客户端部署(frpc)

  1. 拉取 FRP 客户端镜像:
    docker pull snowdreamtech/frpc
  2. 启动 FRP 客户端容器: 使用环境变量直接配置客户端参数,无需挂载配置文件:
    docker run -d --name frpc \
    --restart=always \
    -e "FRPC_SERVER_ADDR=your_server_ip" \
    -e "FRPC_SERVER_PORT=7000" \
    -e "FRPC_AUTH_METHOD=token" \
    -e "FRPC_AUTH_TOKEN=your_secure_token" \
    -e "FRPC_PROXY_NAME=ssh" \
    -e "FRPC_PROXY_TYPE=tcp" \
    -e "FRPC_PROXY_LOCAL_IP=127.0.0.1" \
    -e "FRPC_PROXY_LOCAL_PORT=22" \
    -e "FRPC_PROXY_REMOTE_PORT=6000" \
    snowdreamtech/frpc
    • FRPC_SERVER_ADDRFRPC_SERVER_PORT:服务端的 IP 地址和端口。
    • FRPC_AUTH_METHODFRPC_AUTH_TOKEN:认证方式和令牌,与服务端一致。
    • FRPC_PROXY_NAME:代理名称。
    • FRPC_PROXY_TYPE:代理类型(如 tcphttp)。
    • FRPC_PROXY_LOCAL_IPFRPC_PROXY_LOCAL_PORT:本地服务的 IP 和端口。
    • FRPC_PROXY_REMOTE_PORT:服务端暴露的远程端口。

三、验证部署

  1. 访问仪表盘: 在浏览器中访问 http://your_server_ip:7500,输入用户名和密码,查看服务端的仪表盘。
  2. 测试穿透服务:
    • 如果配置了 SSH 穿透,可以通过以下命令测试:
      ssh -p 6000 user@your_server_ip
    • 如果配置了 HTTP 穿透,可以通过浏览器访问 http://your_server_ip
posted @ 2025-08-15 14:06  YukiRinLL  阅读(85)  评论(0)    收藏  举报