这两年折腾内网穿透,基本把市面方案试了个遍:
- FRP反向代理:靠学生优惠白嫖的腾讯云服务器(4核4G+6M带宽)确实香,但三年到期后续费直接翻倍。新买的2核2G云服务器做中继,转发网页服务勉强够用,但每年上千的续费账单实在肉疼。
- 虚拟局域网:Zerotier打洞成功率确实高,但每次知道服务器位于北美就心慌,生怕哪天断联;换成国人开发的Easytier后虽然数据走P2P更安全,但穿透率又掉回解放前——现在直接两条腿走路,两套方案互为备份24。
- Cloudflare Tunnel:最近发现的宝藏方案,用托管在CF的域名就能把内网服务甩到公网。虽然节点在国外偶尔抽风,但胜在零成本+免备案+银行级加密,配个域名10分钟搞定,比FRP改配置重启服务省心十倍。
这次重点讲Cloudflare Tunnel,就是看中它能把NAS低频访问的内网服务,用最低成本稳定暴露到外网。关键数据全程SSL加密,比自建FRP省了服务器钱还不用操心DDoS防护。
一、前置准备
-
域名与账号配置
-
注册Cloudflare账号并完成邮箱验证(建议使用Gmail等国际邮箱)。
-
将已有域名托管至Cloudflare:进入域名注册商后台(如阿里云、华为云),将DNS服务器替换为Cloudflare提供的地址(例如
mike.ns.cloudflare.com
)。 -
绑定付款方式:支持国际信用卡、借记卡或PayPal,仅用于身份验证(支付金额为0元,服务免费)
确认是0元免费就可以继续支付了
不添加付款方式不让下一步,你可以点Next后输入付款方式
-
-
内网环境要求
- 确保被穿透设备(如NAS、Web服务器)支持Docker或本地客户端运行(推荐Linux系统或群晖DSM
- 开放设备互联网访问权限,检查防火墙是否放行Cloudflare客户端通信端口(如HTTP/80、HTTPS/443)
二、创建Cloudflare Tunnel隧道
-
进入Zero Trust控制台
- 登录Cloudflare控制台 → 左侧菜单点击 Zero Trust → 进入 Networks > Tunnels
- 首次使用需选择免费计划(Free Plan)
-
新建隧道
-
点击 Create a tunnel → 输入隧道名称(如
home-nas
)→ 保存 -
客户端安装:根据设备系统选择安装方式(推荐Docker),群晖可以通过矿神源第三方应用进行安装,本质上也是docker。
# 拉取官方镜像 docker pull cloudflare/cloudflared:latest # 运行隧道(替换YOUR_TOKEN为实际令牌) docker run -d cloudflare/cloudflared tunnel --no-autoupdate run --token YOUR_TOKEN
-
隧道类型选Cloudflared就可以,然后下一步
创建隧道
因为我们要在群晖的Docker下用所以选择Docker,你可以根据自己情况选择。在群晖第三方套件 中安装Cloudflare Tunnel,输入tocken安装进行连接,在下方就可以看到连接器了。
三、配置公网访问规则
- 域名映射与协议设置
- 在隧道详情页点击 Configure Public Hostname → 选择已托管的域名和子域名(如
blog.leitool.top
) - 设置协议(HTTP/HTTPS)及内网服务地址,比如我的内网服务部署在本地群晖的8080端口上,内网服务地址就填
http://localhost:8080
。 - 支持路径映射(如将
/jellyfin
指向本地端口8096
) - 一个 Tunnel 中可以添加多条三级域名来跳转到不同的内网服务,在 Tunnel 页面的 Public Hostname 中新增即可。
- 在隧道详情页点击 Configure Public Hostname → 选择已托管的域名和子域名(如
- 端口限制说明
- 免费版仅支持部分HTTP/HTTPS端口(如80、443、2082等),需避免使用非常用端口
这样配置好托管的域名和群晖的IP和端口就OK了
四、验证与访问
-
测试穿透服务
-
通过浏览器访问配置的子域名(如
https://blog.leitool.top
),若显示内网服务页面则成功。 -
若失败,检查客户端日志或Cloudflare Tunnel状态
-
五、为你的服务添加额外验证
如果你觉得这种直接暴露内网服务的方式有较高的安全风险,我们还可以使用 Application 功能为服务添加额外的安全验证。
-
点击 Application - Get started。
2.选择自托管
- 填写配置,注意 域名和子域名需要使用刚刚创建的 Tunnel 服务相同的域名配置。
- 选择验证方式。填写 策略名称(任意)。在添加规则区域选择验证方式,示例图片中使用的是特定完整邮箱地址。你还可以选择使用指定的邮箱域名(如@gmail.com)验证、IP 地址范围等方式。
- 完成添加
- 这样访问配置的子域名(如
https://blog.leitool.top
)可以看到网站多了一个验证页面,使用刚刚设置的域名邮箱来访问。
六、总结与适用场景
- 核心优势:免费、无需公网IP、集成DDoS防护和HTTPS加密。
- 典型用途:
- 家庭NAS远程访问(如Jellyfin影音服务)。
- 自建GitLab、Nextcloud等Web服务公网暴露。
- 通过SSH/RDP隧道安全访问内网设备(需配置TCP协议映射)。