Cloudflare Tunnel:零成本且安全的内网穿透方案
在 2026 年,如果你还在为了让外网访问家里的 NAS 或虚拟机而苦苦折腾“公网 IP”、“动态 DNS (DDNS)”或“路由器端口转发”,那你一定要了解一下 Cloudflare Tunnel (原名 Argo Tunnel)。
它彻底颠覆了传统的内网穿透方式:不需要公网 IP,不需要修改防火墙规则,也不需要暴露任何本地端口。 本文将带你领略这一神器的魅力,并完成从零到一的部署。
一、 什么是 Cloudflare Tunnel?
传统内网穿透是“在墙上开个洞”(打开端口),让外网流量进来。 Cloudflare Tunnel 则是“从墙内打个电话出去”(建立出站连接)。
你的本地服务器会主动运行一个名为 cloudflared 的守护进程,它会建立一个通往 Cloudflare 最近边缘节点的安全加密通道。当有人访问你的域名时,Cloudflare 会通过这个通道将流量转发到你的本地服务。
二、 核心优势
- 安全性极高:不需要在防火墙开启任何入站端口。攻击者无法通过 IP 扫描直接找到你的服务器。
- 配置简单:全图形化界面(Zero Trust 面板)操作,无需复杂的命令行配置。
- 自带 CDN 与 DDoS 防护:享受 Cloudflare 全球加速和强大的安全防护。
- 完全免费:对于个人用户,核心功能完全免费。
三、 部署流程
1. 前提条件
- 拥有一个由 Cloudflare 托管解析的域名。
- 注册并开启 Cloudflare Zero Trust (需要绑定信用卡或 PayPal,但不会扣费)。
2. 创建 Tunnel
- 登录 Cloudflare 控制台 -> Zero Trust。
- 进入 Networks -> Tunnels -> Add a tunnel。
- 给你的 Tunnel 起个名字(如
HomeLab-Master)。
3. 安装连接器 (Connector)
Cloudflare 会生成一行安装命令。以 Docker 为例:
docker run -d --name cloudflared \
cloudflare/cloudflared:latest tunnel --no-autoupdate run --token <你的TOKEN>运行后,你在网页端会看到状态变为 HEALTHY。
4. 配置公共域名 (Public Hostnames)
- 点击刚才创建的 Tunnel,进入 Public Hostname 页签。
- 点击 Add a public hostname。
- 设置域名(如
nas.yourdomain.com)。 - 设置本地服务地址(如
http://192.168.1.50:8080)。
保存后,等待几秒钟,你就可以通过 https://nas.yourdomain.com 访问你的内网服务了!
四、 进阶:加上二次身份验证 (Access)
Cloudflare Tunnel 最大的威力在于可以配合 Cloudflare Access。
你可以设置:只有当你通过邮箱验证码、GitHub 登录或特定的 2FA 验证后,Cloudflare 才会允许你访问内网。这相当于给你的所有内网服务免费加了一个“企业级”的登录墙。
五、 注意事项
- 速度限制:由于流量需要绕道 Cloudflare 节点,如果你在中国国内且使用非优化线路,速度可能会比直接公网访问慢。
- 协议限制:免费版对非 HTTP 协议(如 SSH, RDP)的支持相对复杂,需要客户端也安装
cloudflared。
🛡️ 结语
Cloudflare Tunnel 是 2026 年 Home Lab 用户和 VPS 运维人员的“必修课”。它极大地降低了内网服务上公网的门槛,同时提升了安全性。
如果你还在为内网穿透发愁,今天就去把 cloudflared 跑起来吧!
延伸阅读
免责声明
本文仅供技术交流和学习参考。涉及第三方服务的链接可能包含 sponsored 标记,请自行核实服务条款、价格和可用性,并遵守当地法律法规。