4966 字
25 分钟
内网穿透三剑客:frp vs Cloudflare Tunnel vs VLESS Reality 全面对比与选型指南

内网穿透三剑客:frp vs Cloudflare Tunnel vs VLESS Reality 全面对比与选型指南#

家里有服务想从公网访问?选 frp 自建中转、Cloudflare Tunnel 零成本穿透,还是 VLESS Reality 极致性能?本文从架构、性能、成本、安全四个维度逐一拆解,帮你做出最适合的选择。

版本声明:本文信息基于 2026 年 5 月,所涉工具版本号(frp v0.68.1、cloudflared 等)以撰写时为准,请以各项目官方最新发布为准。

背景:一个需求,三条路#

把家里的 NAS、开发环境、自托管服务暴露到公网,核心矛盾只有一个:没有公网 IP,或者有公网 IP 但 80/443 端口被封

解决这个问题的三条主流路线:

方案 A: frp — 自建中转服务器,数据走自己的 VPS
方案 B: Cloudflare Tunnel — 借用 Cloudflare 全球网络,零成本穿透
方案 C: VLESS Reality — 协议级直连,伪装成普通 HTTPS 流量

三条路都能到达目的地,但路径完全不同。下面逐一拆解。

三种方案架构速览#

frp:经典反向代理模型#

内网客户端(frpc) ──TCP 长连接──▶ 公网 VPS(frps) ◀── 外部用户
端口映射 / 虚拟主机转发

frp 由两部分组成:服务端 frps 跑在公网 VPS 上,客户端 frpc 跑在内网机器上。frpc 主动向 frps 建立一条控制连接,外部用户访问 frps 的端口时,流量通过这条连接反向到达内网服务。

核心特点:自己掌控中转节点,协议无限制,延迟取决于 VPS 线路

Cloudflare Tunnel:托管式隧道#

内网服务 ◀── cloudflared ──QUIC 出站──▶ Cloudflare Edge ◀── 外部用户
自动 HTTPS / WAF / CDN

本地运行 cloudflared 守护进程,通过 QUIC(HTTP/3)出站连接到 Cloudflare 的边缘节点。所有入站流量由 Cloudflare 全球网络接管,自动获得 HTTPS、DDoS 防护、CDN 加速。源站不需要任何入站端口。

核心特点:零服务器成本,Cloudflare 全家桶加持,但数据经过 Cloudflare

VLESS Reality:协议级直连#

客户端 ◀──TLS 1.3(伪装成访问 www.microsoft.com)──▶ VPS(Xray + Reality)
直连内网 / 纯转发

VLESS Reality 不走传统”隧道”思路,而是直接在 VPS 上运行 Xray,利用 Reality 技术借用真实 HTTPS 站点的 TLS 指纹,让代理流量外观与正常 HTTPS 流量完全一致。无需域名、无需证书、无需 Nginx。

核心特点:极致轻量,伪装强度高,但需要 VPS 且不兼容 CDN

基础属性对比#

维度frpCloudflare TunnelVLESS Reality
类型自托管反向代理商业托管隧道协议级代理
开源✅ Apache 2.0 全开源客户端开源,服务端私有✅ MPL 2.0 全开源
需要公网 VPS✅ 必须❌ 不需要✅ 必须
需要域名可选(推荐)✅ 必须(托管在 CF)❌ 不需要
需要证书需自行配置自动 HTTPS❌ 不需要(Reality 借用)
部署复杂度中等较高(需代理协议经验)
典型延迟(国内)<10ms(同地域 VPS)100–500ms(绕境外)<10ms(同地域 VPS)
适合人群有 VPS,追求自主可控无 VPS,面向海外用户有 VPS,追求极致性能与隐蔽性

协议支持#

协议类型frpCloudflare TunnelVLESS Reality
HTTP/HTTPS✅(通过代理)
TCP 通用
UDP❌ 公网路由不支持(见注)
WebSocket
gRPC
SSH✅ 纯转发✅ 含浏览器终端✅ 纯转发
RDP✅ 纯转发✅ 含浏览器渲染✅ 纯转发
游戏联机❌(UDP 公网路由不支持)

frp 支持全部代理类型:TCP、UDP、HTTP、HTTPS、STCP(加密 TCP)、SUDP(加密 UDP)、XTCP(P2P 直连)。Cloudflare Tunnel 免费版 public hostname 路由仅支持 HTTP/HTTPS 和 TCP;UDP 可通过 Private Network + WARP 客户端方案(免费)或 Spectrum 实现(Spectrum 为 Enterprise 级附加产品,合约 $3,000–5,000+/月,非小额按月附加组件)。VLESS Reality 底层是 TCP + UDP 代理,协议无限制。

性能对比#

场景frpCloudflare TunnelVLESS Reality
国内 ↔ 国内★★★★★ <10ms★★ 100–500ms★★★★★ <10ms
海外 ↔ 国内★★★ 取决于 VPS 位置★★★★ 利用 CF 节点加速★★★ 取决于 VPS 线路
大文件传输★★★★★ 无限制★★ 请求体上限 100MB★★★★★ 无限制
晚高峰稳定性★★★★ VPS 线路决定★★★ 可能拥堵★★★★ VPS 线路决定
CPU 开销极低(Vision 流控优化)

延迟差异的根本原因:

  • frp 和 VLESS Reality 走的是 VPS 直连,延迟 = 你家到 VPS 的网络延迟,同地域通常 <10ms
  • Cloudflare Tunnel 走的是 Cloudflare 全球网络,国内用户访问时流量必须出境绕到最近边缘节点(香港/新加坡/美西),物理距离决定了延迟 100ms 起步

Cloudflare 免费/Pro/Business 套餐在中国大陆没有边缘节点(仅 Enterprise 通过京东云合作提供,需 ICP 备案)。如果你主要服务国内用户,Tunnel 的高延迟是硬伤。

成本对比#

成本项frpCloudflare TunnelVLESS Reality
软件费用免费免费免费
VPS 费用约 ¥100–500/年¥0约 ¥100–500/年
域名费用可选(¥30–60/年)必须(¥30–60/年)¥0
带宽费用VPS 自带(1–10TB/月)免费(无限制)VPS 自带(1–10TB/月)
年度总成本¥100–560¥30–60¥100–500

frp 和 VLESS Reality 的成本主要来自 VPS。国内云厂商活动机 1C1G 年付 ¥100–200 即可,国外 VPS(如 RackNerd 约 11/年、CloudCone11/年、CloudCone 约 20/年)黑五价更低。

Cloudflare Tunnel 软件免费,唯一必需开销是域名(¥30–60/年),且必须将域名的 NS 记录托管到 Cloudflare。

安全性对比#

维度frpCloudflare TunnelVLESS Reality
传输加密需自行配置 TLS默认全链路加密TLS 1.3(Reality 伪装)
访问控制Token 认证Zero Trust(OTP/SSO/IP 白名单)UUID 鉴权 + shortId
DDoS 防护❌ 自己扛✅ 自带❌ 自己扛
WAF❌ 需自行搭建✅ 自带❌ 需自行搭建
源站 IP 隐藏取决于配置✅ 完全不暴露入站端口✅ 只暴露 Xray 端口
流量伪装❌ 无(看起来像 frp 协议)n/a(走 CF 网络,中间不可见)✅ 伪装成访问正常 HTTPS 站点
数据隐私✅ 完全自主,无第三方⚠️ Cloudflare 可解密 HTTPS✅ 完全自主

关键差异:

  • frp 的安全模型是”靠自己”。Token 认证是基本盘,剩下的 TLS、防火墙、DDoS 防护都得自行搭建。默认情况下 frp 协议流量特征明显,深度包检测(DPI)可能识别。
  • Cloudflare Tunnel 的安全模型是”靠平台”。Cloudflare 替你扛 DDoS、提供 WAF、Zero Trust 鉴权,代价是 HTTPS 流量在 CF 边缘节点被解密后再加密——技术上 Cloudflare 可以看到明文。
  • VLESS Reality 的安全模型是”靠伪装”。它不试图防御攻击,而是让流量看起来根本不像代理流量。Reality 借用 www.microsoft.com 等真实站点的 TLS 证书和握手特征,中间设备看到的就是普通 HTTPS。

隐私敏感场景(如企业内部系统、个人数据)谨慎使用 Cloudflare Tunnel。你的 HTTPS 流量在 Cloudflare 边缘节点被解密,虽然 CF 有严格的隐私政策,但技术上确实存在这个能力。

frp 安全漏洞提醒:frp v0.43.0 至 v0.68.0 存在认证绕过漏洞 CVE-2026-40910(多个安全库评定为高危:GitHub Advisory 6.5 / NIST NVD 9.1 / 阿里云漏洞库、Snyk 均标为高危),当启用 routeByHTTPUser 做 HTTP vhost 访问控制时,攻击者可通过 Proxy-AuthorizationAuthorization 头分离的机制绕过认证。务必升级到 v0.68.1+。不使用 routeByHTTPUser 的部署不受影响,但保持更新仍是基本安全习惯。

WARNING

Cloudflare Tunnel 使用限制:Cloudflare 免费套餐的 CDN Service-Specific Terms 禁止通过 Tunnel 代理大量非 HTML 内容(如视频/音频流、大文件分发)。违反可能导致账号被限制。Tunnel 适合 Web 应用和 SSH/RDP,不适合搭建流媒体服务器或图床。

方案一:frp — 最灵活的自建中转#

✅ 核心优势#

全协议覆盖,无任何限制。 TCP、UDP、HTTP、HTTPS、STCP、SUDP、XTCP 全部支持。想暴露游戏服务器(UDP)、想 P2P 直连两台内网设备(XTCP),frp 都能做到。

延迟极低。 选一台同地域或同线路的 VPS,延迟轻松控制在 10ms 以内。

完全自主。 数据只在你的 VPS 和内网机器之间流转,没有第三方介入。

带宽取决于 VPS。 大多数 VPS 提供 1–10TB 月流量,大文件传输不受限。

生态成熟。 GitHub 100k+ stars,文档完善,社区活跃。Dashboard 面板支持实时监控连接状态和带宽使用,v0.67 重新设计 Dashboard(暗色模式 + Prometheus 集成),v0.66 起支持 HTTPS 负载均衡组和 OIDC 身份源。

❌ 核心劣势#

需要 VPS。 这是最大的门槛。没有公网 VPS,frp 无法工作。

运维成本高。 你需要自己搞定:TLS 证书、Nginx/Caddy 反向代理、防火墙规则、服务进程守护、版本升级。有人觉得这是掌控感,有人觉得这是负担。

没有内置安全防护。 被 DDoS 了自己扛,被扫端口了自己封。Token 认证相对基础,精细化访问控制需要借助 Nginx 或其他中间件。

协议指纹可识别。 默认配置下 frp 协议特征较明显。如果网络环境存在深度包检测,可能被识别和干扰。启用 STCP 或套一层 TLS 可以缓解。

典型部署拓扑#

公网 VPS (frps)
├── 端口 7000 : frp 控制连接
├── 端口 8080 → 内网 Dev 环境
├── 端口 2222 → 内网 SSH
└── 端口 25565 → 内网 Minecraft 服务器
内网机器 (frpc)
├── [web] localhost:3000 → frps:8080
├── [tcp] localhost:22 → frps:2222
└── [udp] localhost:25565 → frps:25565

基础 frpc.toml 配置示例(与服务端部署拓扑对应):

# frpc.toml — 内网客户端配置
serverAddr = "你的VPS IP"
serverPort = 7000
auth.token = "你的安全令牌"
[[proxies]]
name = "dev-web"
type = "http"
localPort = 3000
remotePort = 8080
[[proxies]]
name = "ssh"
type = "tcp"
localPort = 22
remotePort = 2222
[[proxies]]
name = "mc-server"
type = "udp"
localPort = 25565
remotePort = 25565

安全加固建议:

# frps.toml — 服务端
bindPort = 7000
auth.token = "生成一个随机长令牌"
transport.tls.enable = true # 控制连接启用 TLS
transport.tls.certFile = "server.crt"
transport.tls.keyFile = "server.key"

frp 默认不加密控制连接。强烈建议启用 transport.tls 并配合 iptables/nftables 限制 frps 端口仅对必要来源 IP 开放。auth.token 应使用 openssl rand -hex 32 生成长随机令牌,避免暴力破解。

适合谁#

  • 有一台 VPS(或愿意买一台)
  • 需要暴露非 HTTP 协议(UDP 游戏、TCP 数据库、IoT 设备)
  • 传输大文件、流媒体等高带宽场景
  • 对数据隐私有要求,不想经过第三方
  • 愿意花时间配置和维护

方案二:Cloudflare Tunnel — 最省心的零成本方案#

✅ 核心优势#

完全免费,零 VPS 成本。 不需要买任何服务器,不需要公网 IP,不需要开任何入站端口。一台内网机器 + 一个域名 + cloudflared 一条命令就够了。

自动 HTTPS + 全球 CDN。 证书自动签发和续期,无需配置。海外用户访问你的服务时自动走 Cloudflare 全球 330+ 节点加速。

安全全家桶。 自带 DDoS 防护、WAF、Bot 管理。配合 Cloudflare Access 实现 Zero Trust 鉴权:邮箱验证码、GitHub/Google OAuth、SAML SSO、IP 白名单、地区限制,精细度远超自建方案。

部署极简。

Terminal window
# 一条命令安装
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o cloudflared
chmod +x cloudflared
# 登录认证
cloudflared tunnel login
# 创建隧道并启动
cloudflared tunnel create my-tunnel
cloudflared tunnel route dns my-tunnel app.example.com
cloudflared tunnel run my-tunnel

浏览器终端。 SSH/RDP/VNC 等 TCP 服务可以直接通过 Cloudflare 的浏览器终端访问,不需要客户端安装任何软件。

❌ 核心劣势#

国内延迟高。 Cloudflare 免费/Pro/Business 套餐在中国大陆没有边缘节点,流量必须出境绕香港/新加坡/美西。实测国内访问 100–500ms,晚高峰可能更慢,部分偏远地区可达 500ms+。Enterprise 可通过京东云合作获取大陆节点,但需 ICP 备案,年费数千美元起。如果你的用户在国内,体验会比较差。

不支持 UDP 公网路由。 Tunnel 免费版的 public hostname 路由仅支持 HTTP/HTTPS 和 TCP。UDP 有两个方案:

(1) Private Network + WARP 客户端(免费):客户端安装 WARP 并加入 Zero Trust 组织后,通过 cloudflared 的 QUIC 隧道访问 UDP 服务。操作流程:Cloudflare One Dashboard → Settings → WARP Client → Device enrollment → 创建 Private Network 路由(如 10.0.0.0/8)→ 客户端设备安装 WARP 并登录。性能开销:WARP 基于 WireGuard 协议,额外延迟约 5–15ms,对游戏联机等延迟敏感场景影响不大。

(2) Cloudflare Spectrum(仅 Enterprise 套餐,合约通常 $3,000–5,000+/月,非小额按月附加组件)。

大文件受限。 免费版单个请求体(上传)上限约 100MB,晚高峰时传输速度可能降至 1MB/s 左右。不适合传输大文件和流媒体。

域名必须托管在 Cloudflare。 域名的 NS 记录必须指向 Cloudflare 的 DNS 服务器。已有其他 DNS 服务商的需求无法共存。

数据经过 Cloudflare。 HTTPS 流量在边缘节点被解密后重新加密。Cloudflare 在技术上可以查看明文流量。对隐私极度敏感的场景需注意。

强依赖 Cloudflare。 如果 Cloudflare 服务中断(罕见但发生过),你的所有 Tunnel 全部不可用。

适合谁#

  • 不想花钱买 VPS
  • 主要服务海外用户(或国内用户能接受高延迟)
  • 只需要暴露 Web 服务或 SSH/RDP
  • 需要企业级安全防护(Zero Trust、WAF、DDoS)
  • 快速原型演示、临时调试

方案三:VLESS Reality — 极致性能与伪装#

✅ 核心优势#

延迟最低,CPU 开销最小。 去掉 WebSocket 封装、去掉 Nginx 中间层、去掉证书管理,数据路径最短。XTLS Vision 流控部分评测显示可降低 CPU 开销 30–50%(社区实测,非官方基准)。

传统 WS+TLS 路径: 数据 → VLESS 封装 → WS 帧 → TLS 加密 → Nginx 解密 → Xray 解析
Reality 路径: 数据 → VLESS 封装 → TLS 伪装(直出) → Xray 解析

无需域名和证书。 Reality 借用真实 HTTPS 站点的 TLS 指纹(如 www.microsoft.com),第三方观测到的就是访问微软官网的流量。零证书维护成本。

伪装强度高。 不是简单的端口转发或隧道封装,而是直接在 TLS 层面模拟目标站点的握手行为。目前已知的 DPI 系统难以有效识别。

自主可控。 数据只经过你自己的 VPS,不依赖任何第三方平台。

❌ 核心劣势#

不兼容 CDN。 Reality 的 TLS 伪装绑定在特定目标站点,无法套 CDN。如果 VPS IP 被墙或线路差,没有 CDN 做缓冲。配套的 VLESS + WS + TLS + CDN 架构更重但更抗封锁。

部署门槛较高(对比 frp 和 Tunnel)。 Xray 不是开箱即用的隧道工具——你需要掌握 VLESS 协议语义、Reality 的 TLS 指纹借用与 dest 目标站点选择策略、Vision 流控原理、Xray 配置文件结构及路由规则。选错 destserverNames 不仅无法工作,还可能暴露流量特征。建议先阅读本博客 VLESS 三部曲建立基础后再动手。

不支持 HTTP Host 路由。 VLESS 协议不解析 HTTP Host 头,无法像 frp 的 vhost 路由或 Nginx 反向代理那样基于域名分发流量到不同后端。如果你需要 a.example.com → 服务Ab.example.com → 服务B 这样的路由,VLESS Reality 无法直接实现,需要叠加 frp 或 Nginx 做二次分发。

只适合代理流量,不是通用的”隧道”。 frp 和 Cloudflare Tunnel 可以把任何 TCP/UDP 端口映射出去。VLESS Reality 本质是代理协议,适合作为网络入口,不适合暴露数据库、游戏服务器等。

没有内置安全防护。 和 frp 一样,DDoS、WAF、访问控制需要自己搭建。

需自行关注安全公告。 Xray-core 作为活跃的开源项目,时有安全更新发布。部署后建议定期查看 Xray-core GitHub Security 页面 或订阅 Release 通知,及时升级。

客户端兼容性风险。 Reality 协议需要客户端支持(v2rayN、v2rayNG、Shadowrocket、Sing-box 等主流客户端均已支持),但部分小众或老旧客户端可能不完全兼容 Reality + Vision flow,部署前需确认你的客户端在支持列表中。

典型配置片段#

{
"inbounds": [{
"port": 443,
"protocol": "vless",
"settings": {
"clients": [{"id": "你的-UUID", "flow": "xtls-rprx-vision"}],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"dest": "www.microsoft.com:443",
"serverNames": ["www.microsoft.com"],
"privateKey": "你的私钥",
"shortIds": ["abcdef"]
}
}
}]
}

适合谁#

  • 有代理协议部署经验(至少熟悉 Xray 或类似工具的基本概念)
  • 有 VPS,追求极致低延迟和低 CPU 开销
  • 不想维护域名和证书
  • 需要流量伪装,对抗深度包检测
  • 作为个人代理入口(配合内网路由访问内部服务)
  • 已阅读本博客 VLESS 三部曲或具备等效知识

选型决策:一张图帮你决定#

需要对外暴露服务
┌─────────┴─────────┐
│ │
有公网 VPS? 没有 VPS?
│ │
┌─────┴─────┐ Cloudflare Tunnel
│ │ (零成本,自动 HTTPS,
需要 UDP 不需要 UDP 国内延迟高)
或极致性能? │
│ │
┌─────┴─────┐ │
│ │ │
需要流量伪装 不需要 │
对抗 DPI? 伪装 │
│ │ │
VLESS frp frp
Reality (灵活、全协议)
(低延迟、 Cloudflare Tunnel
无需证书) (省心、安全全家桶)

简化版决策逻辑:

你的情况推荐方案
没 VPS,不想花钱Cloudflare Tunnel
有 VPS,需要暴露各种协议frp
有 VPS,主要做代理入口,追求低延迟VLESS Reality
服务国内用户,要低延迟frpVLESS Reality
服务海外用户,要自动 HTTPS + CDNCloudflare Tunnel
既要低延迟又要 UDP + 又要零运维frp + Cloudflare Tunnel 组合使用

组合方案:取长补短#

三种方案不互斥。实际使用中,很多人同时跑两套:

frp(主力)+ Cloudflare Tunnel(备用 + Web 服务)

内网机器
├── frpc ────────▶ VPS(frps) ────────▶ 低延迟、大带宽、UDP 场景
└── cloudflared ─▶ Cloudflare Edge ──▶ Web 服务自动 HTTPS、DDoS 防护

frp 负责需要低延迟和高带宽的场景(SSH、文件传输、流媒体),Cloudflare Tunnel 负责 Web 服务(自动 HTTPS、WAF、CDN),两者互补。

VLESS Reality(入口)+ frp(内网分发)

客户端 ──Reality──▶ VPS(Xray) ──frp 内网穿透──▶ 内网各服务

VLESS Reality 提供安全的公网入口(低延迟、伪装),frp 负责 VPS 到内网的端口映射和协议分发。这个组合兼顾了入口性能和内网灵活性。

最后的话#

三个方案在各自的适用场景下都是最佳选择:

  • frp 赢在灵活性和自主性。全协议支持、低延迟、数据自主,代价是 VPS 成本和运维投入。
  • Cloudflare Tunnel 赢在省心和免费。零服务器成本、自动 HTTPS、安全全家桶,代价是国内延迟高和隐私妥协。
  • VLESS Reality 赢在极致性能和伪装。最短数据路径、无需域名证书、流量不可识别,代价是只适合代理场景且不兼容 CDN。

选择哪个,取决于你的 VPS 预算、用户地理位置、协议需求和隐私偏好。没有银弹,只有最适合你的那颗子弹。

如果看完还是不确定,从 Cloudflare Tunnel 开始试——零成本、十分钟搞定、不满意随时换。

社区建议:优先支持 IPv6。 如果你的宽带已获取公网 IPv6 地址(国内多数运营商已默认分配),可考虑直接使用 IPv6 + DDNS 方案作为最低成本暴露路径,仅在需要 IPv4 访问、UDP 穿透或流量伪装时才叠加 frp/Tunnel/Reality。IPv6 直连延迟最低(等同本地网络),且无端口映射损耗。

参考资源#

内网穿透三剑客:frp vs Cloudflare Tunnel vs VLESS Reality 全面对比与选型指南
https://blog.syomega.top/posts/frp-cloudflare-tunnel-vless-reality-comparison/
作者
酱w
发布于
2026-05-27
许可协议
CC BY-NC-SA 4.0