Hacker News 中文摘要

RSS订阅

我终于明白了Cloudflare零信任隧道 -- I finally understand Cloudflare Zero Trust tunnels

文章摘要

作者因对Tailscale在NAT/防火墙穿透方面的不足感到失望,转而学习Cloudflare Zero Trust和Warp技术。经过深入研究,他成功掌握了该技术,现在主要通过Zero Trust隧道进行网络连接。该技术能实现私有网络互联、将内网服务安全公开到互联网,以及创建仅限Warp客户端访问的私有网络,功能强大且灵活。

文章总结

我终于搞懂了Cloudflare零信任隧道

在经历了Tailscale无法穿透NAT/防火墙建立P2P连接的挫败后,我决定投入时间学习Cloudflare零信任+Warp技术。经过漫长摸索,现在我可以自信地说:我完全掌握了Cloudflare零信任Warp。虽然仍保留Tailscale并行运行,但我的主要流量都已转向零信任隧道。

为什么值得学习? 零信任隧道能实现诸多强大功能: - 连接私有网络(家庭网络/Kubernetes集群等) - 将内网服务公开到互联网(如将192.168.1.1的路由器配置为公开访问) - 创建仅限Warp客户端访问的私有网络(10.x.x.x地址段) - 快速暴露本地服务用于开发测试 - 完全规避NAT问题,所有流量经由Cloudflare网络 - 精细化访问控制(登录方式/邮箱白名单/服务令牌等) - 无需SSH密钥即可安全登录(可完全关闭公网SSH端口)

核心概念解析 1. 组件区别: - Warp客户端:连接Cloudflare网络的终端工具,支持类Tailscale的warp-to-warp P2P连接 - Cloudflared:创建隧道并接入零信任网络的守护程序

  1. 三大要素:
    • 隧道(Tunnels):通过/etc/cloudflared/config.yml配置流量出口,例如: yaml ingress: <ul> <li>hostname: gitlab.example.com service: http://localhost:80</li> <li>hostname: ssh.example.com service: ssh://localhost:22
  2. 路由(Routes):指示Warp客户端如何转发流量(如将192.168.1.0/24指向特定隧道)
  3. 目标(Targets):定义受保护的网络资源,配合访问策略使用

实战案例:家庭助理部署 1. 配置隧道将homeassistant.example.com映射到内网192.168.1.3 2. 设置DNS解析:CNAME homeassistant.example.com [隧道ID].cfargotunnel.com 3. 创建访问策略: - 公开访问需GitHub认证+指定邮箱 - 已连接Warp客户端的用户免认证

Warp客户端部署要点 - 在零信任面板设置注册策略(如仅允许特定邮箱) - 配置客户端行为:协议选择/IP分配/证书安装等 - 启用设备状态检查(如验证操作系统版本)

最终成果: - 通过homeassistant.example.com公开服务(需GitHub认证) - 通过192.168.1.3私有访问(需Warp连接) - 智能策略实现:Warp用户免认证,公网用户需严格验证

(注:本文未涵盖warp-to-warp路由、私有IP分配等进阶功能,读者可通过作者社交媒体进一步交流)

[原文配图说明] - 图1:零信任面板中的路由配置界面 - 图2:目标(Targets)配置界面 - 图3:基于GitHub邮箱的访问策略 - 图4:网关认证策略设置 - 图5:设备注册登录方式配置 - 图6:设备状态检查设置

评论总结

评论内容总结:

1. 对Cloudflare解决方案的质疑

  • 主要观点:认为Cloudflare的解决方案存在隐私和安全性问题,尤其是TLS终止和中间人代理的问题。
    • 引用评论3:"Cloudflare acts as a termination point for TLS... a pretty big privacy downgrade"
      (Cloudflare作为TLS终止点...这是隐私的重大降级)
    • 引用评论7:"The whole configuration scheme feels like... unreal"
      (整个配置方案感觉像是...不真实)

2. 对Tailscale的偏好

  • 主要观点:Tailscale的P2P连接和隐私保护更受青睐,尤其是其新的peer relay功能。
    • 引用评论4:"Tailscale now has the awesome feature of peer relays... forget about DERP servers"
      (Tailscale现在有了peer relay功能...可以忘记DERP服务器了)
    • 引用评论9:"Tailscale... kind of the point... converted your security model to Cloudflare's"
      (Tailscale的意义在于...而你现在把安全模型完全交给了Cloudflare)

3. 对Cloudflare的强烈反对

  • 主要观点:部分用户对Cloudflare持完全反对态度,认为其破坏互联网的开放性。
    • 引用评论8:"I am anti cloudflare... pro destruction of the internet"
      (我反对Cloudflare...支持破坏互联网)
    • 引用评论6:"Free Cloudflare account cannot serve Plex... a no-go"
      (免费Cloudflare账户不能用于Plex服务器...这是不可接受的)

4. 对替代方案的推荐

  • 主要观点:推荐使用更简单或更灵活的替代方案,如Headscale或SSH隧道。
    • 引用评论1:"a $3 VPS running Headscale seems simpler"
      (用3美元的VPS运行Headscale更简单)
    • 引用评论5:"I’ve been using tuns.sh... zero install solution"
      (我一直在用tuns.sh...零安装解决方案)

5. 对教程的认可

  • 主要观点:部分用户认为教程本身很有价值,尤其是对技术细节的解析。
    • 引用评论2:"excellent guide... how the pieces fit together"
      (优秀的指南...解析了各部分如何协作)
    • 引用评论10:"I don't understand the use case... enterprise access control?"
      (我不太理解这里的用例...是企业内部应用访问控制吗?)

总结:

评论中既有对Cloudflare解决方案的批评(隐私、复杂性、锁入),也有对Tailscale的推崇(P2P、隐私保护)。同时,部分用户推荐替代方案(如Headscale、SSH隧道),并对教程本身的技术解析表示认可。反对Cloudflare的声音较为激烈,认为其破坏了互联网的开放性。