今天突然发现家里的NAS没法在外网访问了,存里面的笔记也同步不了。排查了半天才找到原因——软银路由升级把IPv6的入站连接给封锁了。之前我分享过“去掉非443端口小尾巴”的方法,能解决不少访问问题,但面对这次的IPv6封锁,那套办法就完全不管用了。
既然老办法失效,那我就换了新方案:Lucky + Cloudflare(简称CF)Tunnel,完美解决了问题,下面就把详细步骤一步步讲清楚,新手也能跟着做。
先说说我一直在用的核心工具——Lucky

Lucky是一个集成度超高的小工具,集合了DDNS、反向代理、内网穿透、端口转发、WebDAV、CorazaWAF防火墙等多种实用功能。不管是普通路由器,还是用Docker安装,它都能完美适配。
更棒的是它的“轻量”优势:常见的组合方案(比如NPM+cloudflared+ddclient)安装后,占用空间能到600-800M,运行内存也耗得多;而Lucky安装包不到30M,日常运行内存占用也就50M出头,对硬件配置低的设备特别友好。
接下来分步骤教大家搭建,全程跟着操作就行👇
第一步:在Cloudflare里创建隧道

- 登录你的Cloudflare账号,进入【Zero Trust】→【网络】→【连接器】,点击【创建隧道】按钮。
- 按页面提示给隧道起个名字(随便填,自己能区分就行),完成创建后,页面会显示一串隧道Token。
⚠️ 重要提醒:这个Token只显示一次!一定要立刻复制下来,粘贴到记事本里保存好,丢了就只能重新创建隧道了。
举个例子:页面里会显示类似--token 一串字符的内容,--token后面的所有字符,就是我们要的隧道Token,就算显示不全也要完整复制保存。

第二步:创建Cloudflare的API令牌
- 点击页面右上角的头像,进入【配置文件】,找到【API令牌】选项,点击【创建令牌】。
- 选择【使用模板】或者手动配置权限,按下面的要求勾选权限:
- 权限1:账户 → Cloudflare Tunnel → 编辑
- 权限2:区域 → DNS → 编辑
- 【账户资源】和【区域资源】选择“所有账户/区域”,也可以指定你要使用的具体域名对应的账户和区域。
- 点击保存后,页面会生成API令牌,同样只显示一次!复制下来保存好,建议备注成“API-Token”,避免和第一步的“Tunnel-Token”弄混。

第三步:在Lucky里添加隧道配置
- 打开Lucky的管理界面,找到【内网穿透】→【Cloudflare】,点击【添加实例】。
- 按下面的要求填参数,其他没提到的选项保持默认就行:
- 备注:填你喜欢的名字,方便识别这个隧道的用途(比如“NAS访问隧道”)
- 实例类型:选择【隧道】
- 第一个令牌输入框:粘贴第一步保存的“Tunnel-Token”
- 最下方的CF API Token输入框:粘贴第二步保存的“API-Token”
- 保存后,就能在隧道列表里看到刚添加的项目了。点击后面的【应用路由】,页面会显示一串专属的记录值,把这个值完整复制下来。

第四步:在Cloudflare里配置DNS解析
- 回到Cloudflare的管理界面,进入【DNS】→【记录】,点击【添加记录】。
- 记录类型选择【CNAME】,按要求填内容:
- 名称:填你想用来访问服务的域名前缀(比如用nas.xxx.com访问,就填nas)
- 内容:粘贴上一步从Lucky里复制的记录值
- 代理状态:打开“小黄云”图标(也就是开启CDN和代理)
- 点击保存,DNS记录就配置好了。
第五步:完成最终关联,开始使用
- 回到Lucky的隧道配置页面,在【主机名】输入框里,填上一步新建的完整域名(比如nas.xxx.com)。
- 点击旁边的【检测】,等检测结果变成绿色,就说明隧道已经连通了。
- 在【目标服务】输入框里,填你内网里设备的地址和端口(比如NAS的地址192.168.1.100:5000),保存后就能通过域名正常访问服务了。

最后说下这个方案的优缺点
✅ 优点:和传统的“DDNS+反向代理”方案比,它的加密性更好,而且通过Cloudflare中转,几乎不会被运营商拦截或封锁,稳定性拉满。
❌ 缺点:目前只支持HTTP、HTTPS协议的服务;如果你要用到远程桌面、FTP这类其他协议,这个方案就不适合了,得换其他方式。