跳到主要内容

FRP内网穿透

功能介绍

FRP(Fast Reverse Proxy)是 Lucky 内置的高性能内网穿透工具,支持 TCP、UDP、HTTP、HTTPS 等多种协议,可将内网服务安全地暴露到公网。

主要功能

  • Server/Client 模式:支持服务端和客户端两种部署方式
  • 多代理类型:TCP、UDP、HTTP、HTTPS、STCP、XTCP、SUDP、TCPMux
  • P2P 穿透:XTCP 模式支持 NAT 穿透,流量不经服务器中转
  • 多种传输协议:TCP、KCP、QUIC、WebSocket、WSS
  • 丰富插件:HTTP代理、SOCKS5、静态文件、协议转换等
  • 安全特性:TLS加密、Token认证、流量加密压缩
  • 负载均衡:支持多节点负载均衡和健康检查

基础使用说明

部署架构

公网用户 ---> FRP Server ---> FRP Client ---> 内网服务
(服务端) (客户端)

添加 Server 实例

服务端配置

菜单===>FRP内网穿透===>实例列表===>添加实例===>选择 Server

  1. 基础配置

    1. 实例备注:自定义名称
    2. 绑定地址:监听地址(默认 0.0.0.0)
    3. 绑定端口:监听端口(默认 7000)
  2. 认证配置

    1. Token:客户端连接所需的认证令牌
    2. 建议设置复杂 Token 防止未授权访问
  3. 高级配置(可选)

    1. KCP/QUIC 端口:启用额外传输协议
    2. HTTP/HTTPS 虚拟主机端口:支持域名路由
    3. Dashboard:内置监控面板配置

添加 Client 实例

客户端配置

菜单===>FRP内网穿透===>实例列表===>添加实例===>选择 Client

  1. 服务器配置

    1. 服务器地址:FRP Server 的 IP 或域名
    2. 服务器端口:FRP Server 的监听端口
    3. Token:与服务端配置的 Token 一致
  2. 传输配置

    1. 传输协议:TCP / KCP / QUIC / WebSocket / WSS
    2. TLS 加密:建议启用增强安全性
    3. 代理设置:如需要通过代理连接服务端

添加代理规则

代理配置

在 Client 实例中添加代理规则:

  1. 基础配置

    1. 代理名称:唯一标识
    2. 代理类型:TCP / UDP / HTTP / HTTPS / STCP / XTCP / SUDP
    3. 本地地址:内网服务的 IP 和端口
  2. 远程配置

    1. 远程端口:服务端对外暴露的端口(TCP/UDP)
    2. 自定义域名:HTTP/HTTPS 类型时填写(需要解析到服务端)
  3. STCP/XTCP/SUDP(P2P模式)

    1. SecretKey:连接密钥,访问者需要填写相同密钥
    2. 允许用户:限制哪些用户可以访问(留空表示允许所有)

添加 Visitor(访问者)

Visitor 配置

用于访问 STCP/XTCP/SUDP 类型的代理:

  1. 基础配置

    1. 名称:唯一标识
    2. 类型:STCP / XTCP / SUDP(与被访问代理一致)
    3. 服务器名称:要访问的代理名称
    4. SecretKey:与被访问代理相同的密钥
  2. 绑定配置

    1. 绑定地址:本地监听地址
    2. 绑定端口:本地监听端口
    3. 访问者启动后,通过 绑定地址:绑定端口 即可访问内网服务
  3. XTCP 高级配置

    1. 协议:QUIC / KCP
    2. 保持隧道打开:是否保持 P2P 连接
    3. 回退配置:P2P 失败时回退到其他访问者

使用注意

使用注意
  1. 建议启用 TLS 加密保护通信安全
  2. 设置复杂 Token 防止未授权访问
  3. XTCP P2P 穿透成功率取决于双方 NAT 类型,不完全保证成功
  4. 免费 FRP 公共服务端有带宽和连接数限制,生产环境建议自建服务端
  5. 使用 WebSocket/WSS 协议时注意防火墙和 CDN 兼容性

常见问题

客户端无法连接服务端
  1. 检查服务端是否正常运行,端口是否放行
  2. 确认客户端配置的服务器地址和端口正确
  3. 检查 Token 是否一致
  4. 如果使用 TLS 连接失败,可尝试在客户端配置中跳过 TLS 证书验证(自签名证书或证书域名不匹配时使用)
  5. 如不使用 TLS,关闭客户端的 TLS 加密选项
XTCP P2P 连接失败
  1. XTCP 需要双方都能进行 NAT 穿透,部分 NAT 类型(对称型)可能失败
  2. 尝试切换 XTCP 协议为 QUIC 或 KCP
  3. 配置回退访问者,P2P 失败时通过服务端中转
  4. 确保双方防火墙放行 UDP 流量
HTTP/HTTPS 代理无法访问
  1. 确认自定义域名已解析到 FRP 服务端 IP
  2. 检查服务端是否配置了 VhostHTTPPort/VhostHTTPSPort
  3. 确认本地服务可以正常访问
访问者无法连接 STCP/XTCP
  1. 确认访问者类型与被访问代理类型一致
  2. 检查 SecretKey 是否完全相同
  3. 确认被访问代理允许当前用户访问
  4. 检查访问者绑定的本地端口是否被占用
流量不经服务器中转(XTCP)

这是 XTCP 的正常特性。XTCP 成功建立 P2P 连接后,流量直接在两端传输,不经过 FRP 服务端,可以降低服务器带宽压力。