Cloudflare Tunnel 内网穿透群晖 NAS 部署教程:免服务器复杂技术
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
📌 本文看点 01 怎么一回事 02 为什么我没选 FRP / 租云服务器 03 干起来 DEEP DIVE 我家那台群晖 DS220+其实挺老的,跑了好几年下载机和备份仓库。平时在家看没问题,但一旦出门或者在咖啡店里,文件怎么也拿不回来。以前学校里同学玩的那个花生壳、Ngrok 之类的,免费送的流量总有限,用着用着就提示“流量耗尽”,然后要么绑卡要么充钱。 正好那段时间在折腾家里的软路由,顺道刷了梅林固件,就知道了 Cloudflare 的“Zero Trust”平台上有一个叫做 Cloudflare Tunnel 的玩意。它本质上是 Cloudflare 在全球 300 多座城市部署的隧道入口,你的设备主动把一条到 Cloudflare 边缘节点的 HTTPS 隧道拖出来,Cloudflare 再把公网的请求原路转进去。所以你的机器不用暴露任何端口,也不用公网 IP——访问方看到的永远是 Cloudflare 的那些 IP。 这一招的好处,说起来也就三点: 1。 不用公网 IP。家里电信的动态 IP,每月换一次还频繁;有了 Tunnel,IP 换不换都不用管。 - 免费额度够用:个人免费套餐就能绑自己的域名、建几条隧道,扛几个小服务绰绸够了;Zero Trust Access 部分支持到 50 个用户名额。 3。 自带访问控制。想让老婆看照片可以,想让公司同事看就设置单独的验证——靠 Cloudflare 自带的 Access 做,比自己搭个 auth 中间件省事多了。 DEEP DIVE FRP 比较经济,但你得自己掏一台能跑 24h 的服务器,哪怕再便宜的那款轻量,也得 99 块起,一个月。而且 FRP 那一套,配置文件写得晦涩,弄不好就是端口暴露出去被扫。Cloudflare Tunnel 就省了这些心:它不走你的公网 IP,也不在本地监听任何公网端口,全程走 HTTPS,连证书都给免了(Cloudflare 帮你搞定泛域名证书)。 租云服务器自然是最傻,但是成本高,而且你的家庭宽带下行一般不太行,服务器在北京云,家里在广州,每次穿透都绕上一圈,延迟跟着掉。本地 Tunnel 走的其实还是就近的节点,体验上要好不少。 还有一件我踩到的坑:一条 Tunnel 能绑多个本地服务一起跑,但免费套餐的并发上限还是有的。cloudflared 每条隧道维持到两个 Cloudflare 数据中心的四条长连接,负荷过大的时候别的服务会跟着断。我之前不知道这点,直接把 NAS 的 SMB、WebDAV、rsync 全塞进去了,结果有时候 SSH 连上就突然断,还挺诡异。后来整明白了:不是隧道炸了,负荷抢占,我就把服务拆到两条隧道上,每个绑一两个,才稳下来。 DEEP DIVE 整个过程可以拆成四步:装 cloudflared → 建隧道 → 绑服务 → 管权限。 第一步,拿群晖的 Docker 当作例子。官方的 cloudflared 其实也可以直接装在群晖上,但是群晖的 Docker 会比较省心,所以我直接拉镜像跑。关键一条:记得给它加 --network host 或者桥接到 local 网络,不然它没法找到你的 NAS 服务。
第二步是服务映射。群晖的 Web UI 比较方便,地址就比如 http://192.168.1.4:5000。注意 host.docker.internal 只能用在 Docker Desktop 里;我群晖是群晖的 DSM 系统,那边得写实际的局域网 IP。写完 ingress,cloudflared 每次启动就自动去 Cloudflare 那拿证书、建 TLS,省了我自己配 nginx 或者 letsencrypt 的麻烦。 第三步是权限。Cloudflare Access 自带一个登录页面,你可以直接绑第三方(GitHub、Google 邮箱之类),也可以开个 PIN 码让家人填一下。我选了 GitHub 登录,每次远程拿文件就点一下 GitHub 授权。比自己写一个登录页要省得多。 这里的坑点,记好:不要直接暴露 SMB/SSH 这种二进制协议给 Tunnel。官方文档说 Tunnel 目前只适配 HTTP/HTTPS,SMB 和 rsync 这种,你得套一层“Cloudflared 本地代理”或者直接走 SSH over HTTPS。我当时没看文档,直接把 22 端口映射过去,结果连不上的,还以为是自己配错了,折腾了好久才发现。 DEEP DIVE 最长的一个感受是稳定性其实挺好的。跑了三个月,除了一次 Cloudflare 自己的维护导致短暂掉线(那时候我正刷 bilibili,突然家里摄像头刷不出来,吓了一跳),另外的时候都不错。另一个小优点是:Cloudflare 的 WAF 在前面挡着,扫描器扫到你的 IP 就会直接被墙掉一些已知的攻击模式,等于免费给你加了一道防火墙。 值得一提的是,Tunnel 还有一个“反向”的惯用法:不光本地服务能暴露出去,要给内部的开发机加个公网 webhook,就也可以建一条反向隧道。我做过一个微信回调本地调试的场景,就是把 ngrok 换成 Tunnel,本地 5000 端口直接收公众号的消息推送,省了工具费还稳定。 DEEP DIVE 如果你的诉求是“每天拿一点文件”“远程看看照片”,Tunnel 几乎是当前最省的选项。真正租不起云服务器的人,或者希望别把家里的端口暴露给攻击面的人,这招都很合适。缺点呢也简单:Cloudflare 自己挂了你就没了,不过那种概率其实比你家里光猫炸掉还小。还有免费额度里有连接数上限,跑十几个容器映射可能会顶不住,这种就得考虑付费套餐,或者把服务拆到多条隧道上。 我截止写这篇的时候,这套东西已经稳跑在我家两台 NAS 机器上,月头花钱就是那个域名的续费——不到 50 块一年。别的啥都不用操心。 阅读原文:点击这里 该文章在 2026/10/20 17:37:29 编辑过 |
关键字查询
相关文章
正在查询... |