NAS应用商店
专为飞牛、群晖、威联通等Nas打造的通用应用商店

frp-高性能的内网穿透工具

应用介绍

FRP(Fast Reverse Proxy)是一款高性能的内网穿透工具,采用服务端(frps)与客户端(frpc)架构,支持 TCP/UDP/HTTP/HTTPS 等多种协议映射,适合在 NAS 场景下将局域网服务安全、稳定地暴露到公网。相比通过路由器端口映射,FRP 在链路控制、鉴权与多端穿透方面更灵活,且支持多条隧道与访问统计。

典型用法是把 frps 部署在一台有公网 IP 的云服务器上,把 frpc 部署在家里的 NAS 上,NAS 通过 frpc 主动连接到 frps 并注册隧道,实现公网到 NAS 的反向访问。FRP 支持自定义域名的 HTTP/HTTPS 代理、TCP 直通(如 SSH、数据库)、以及 UDP(如 IPTV/游戏服务)等。

安装说明

前提依赖

  • 一台具备公网访问能力的服务器,用于部署 frps(建议 Linux x86_64,系统防火墙与安全组开放必要端口)
  • 一台家庭 NAS(Docker 环境已安装),用于部署 frpc

安装配置

以下提供服务端和客户端分别部署的 docker-compose 示例(建议分别在云服务器与 NAS 上独立目录使用)。

服务器端(frps)示例(云服务器):

version: "3.8"
services:
  frps:
    image: snowdreamtech/frps:latest
    container_name: frps
    restart: unless-stopped
    ports:
      - "7000:7000"         # frps 服务端口
      - "80:80"             # 用于 HTTP 反向代理(可选)
      - "443:443"           # 用于 HTTPS 反向代理(可选)
    volumes:
      - ./frps.ini:/etc/frp/frps.ini:ro

frps.ini 示例:

[common]
bind_port = 7000
token = change-me-strong-token
vhost_http_port = 80
vhost_https_port = 443
max_pool_count = 5

客户端(frpc)示例(NAS):

version: "3.8"
services:
  frpc:
    image: snowdreamtech/frpc:latest
    container_name: frpc
    restart: unless-stopped
    network_mode: host
    volumes:
      - ./frpc.ini:/etc/frp/frpc.ini:ro

frpc.ini 示例(把 NAS 上的 Web 通过自定义域名暴露到公网):

[common]
server_addr = your-cloud-ip-or-domain
server_port = 7000
token = change-me-strong-token

[jellyfin-web]
type = http
local_ip = 127.0.0.1
local_port = 8096
custom_domains = you.example.com

注意事项:

  • token 请务必替换为强口令;云服务器与 NAS 需保持时间同步
  • network_mode: host 方便 frpc 直连宿主服务;如不使用 host,需额外配置容器到宿主的访问
  • vhost 端口映射到 80/443 后,可结合 Nginx Proxy Manager做更细的路由与证书管理,见https://nasapp.store/nginx-proxy-manager/

使用说明

  • 在云服务器目录下 docker compose up -d 启动 frps;在 NAS 目录下 docker compose up -d 启动 frpc
  • 确认云服务器的 80/443/7000 端口在安全组与系统防火墙均已放行
  • 将域名 you.example.com 的 DNS A 记录解析到云服务器公网 IP
  • 访问 https://you.example.com 即可通过 FRP 反向代理访问 NAS 上的 服务
  • 其他服务(SSH、数据库、UDP 服务)可按需新增对应的 frpc 配置段(type=tcp/udp/http/https)

开源信息