本流程为2025全新版本,适用公网IPv4和公网IPv6,跟着流程走即可。
关于Lucky
Lucky是 @古大羊 开发的一款家庭公网利器。支持多种设备和系统,包括 Windows、Linux、梅林路由器固件、OpenWrt、Padavan、小米路由官方系统,甚至光猫。
功能强大,支持IPv6/IPv4 端口转发、Web服务、动态域名、语音助手网络唤醒、IPv4 内网穿透、计划任务、自动证书、webdav、ftp、filebrowser、挂载阿里云盘/webdav等多项功能。
对于国内的家庭网络环境,Lucky尤其适合搭建在 NAS(如威联通 QNAP)、软路由或轻量级 Linux 服务器上,用于实现外网访问(内网穿透和反向代理)家庭设备或服务,简单易用稳定也基本不需要怎么折腾。
前言
我的Lucky版本最近一次更新距今至少有半年,当时看公告有一次大版本更新,但本着能用就不升级的原则(嫌麻烦),还一直坚持用着旧版本。
鉴于最近白天神游,不小心删除了主NAS的Lucky所有配置文件,现在重新配置并记录新版本的配置流程,大家可以参考看看。
部署平台:威联通NAS TS-673A
Lucky版本:2.17.3 linux(x86_64)
部署方式:Docker Compose
网络状况:默认已经折腾好公网IP
另外还需要我们提前准备Token,这个可从域名托管商处获得,我们以DNSPod为例。
将ID和Token复制下来备用。
部署方式
打开威联通的Container Station,创建新的应用程序。部署代码如下:
services:
lucky:
image: gdy666/lucky
container_name: lucky
restart: always
volumes:
- '/share/Container/lucky:/goodluck' # 这步必须做,否则重启配置会消失,可直接照抄配置。
network_mode: host
# host模式, 同时支持IPv4/IPv6, Liunx系统推荐
# 桥接模式, 只支持IPv4,windows 不推荐使用docker版本
# 我仍然不建议使用默认的桥接模式,如作者所说很容易出问题,已经试验过
修改基础配置
内网环境下,输入NAS_IP:16601即可访问管理界面。默认的账户密码为 666/666
但如果像我一样,远程折腾,可以利用威联通自带的Browser Station。也可将16601端口通过路由器转发到公网,通过外网访问(公网IP:16601)进行配置。
从版本2.13.9开始,在默认配置中,外网访问开关处于关闭状态。然而,在 lucky_base.lkcf 配置初始化后的十分钟内,系统允许外网访问。如果在这十分钟内执行了配置保存操作,则外网访问开关的设置将优先生效。如果错过了这个时间,您需要通过删除 lucky_base.lkcf 配置文件并重启 Lucky 进程的方式,使 lucky_base.lkcf 配置再次初始化。
登入后如下图所示进行设置,除了登陆验证修改默认账号密码外,其他凭大家需求。
安全入口部分为了安全考虑能改则改,比如若修改为/ydxian
,则内外网无论那个想要访问Lucky的登陆面板,最后都要在完整的访问地址后加上/ydxian
。如果不加,会得到如下结果。
动态域名(DDNS)
这里需要使用到上文域名托管商所获的Token。
左侧栏第三项「动态域名」,点击「添加任务」。
选择托管商,我这里选择的是DnspodCN(如果你的DNS服务商不在列表当中,则使用万能的自定义Callback模式),粘贴ID与Token。根据你的网络情况选择启用同步类型(IPv4或IPv6),我的为IPv4公网。
接着下拉界面,点击「添加同步记录」。
记录栏中先填写主域名(二级域名),回车换到下一行,再填写通配符域名(所有三级子域名),如果你有更多需求则回车另起一行再继续添加即可。
点击「添加任务」,Lucky就会自动保存并自动进行同步。成功后的界面如下。
SSL/TLS证书
这里依然需要使用到上文域名托管商所获的Token。
左侧栏点击「SSL/TLS证书」,接着点击「添加证书」。
对证书进行备注,添加方式选择ACEM
,ACME类型证书会在到期前约36天自动续签。证书颁发机构选择Let's Encrypt
。验证方式要与上文动态域名解析的保持一致。粘贴ID和Token,补充域名列表,这里同样与上文一致。更多设置勾选DNS查询强制IPv4
和DNS查询仅使用TCP
。搞定后直接点击「添加」。
如果你有其他证书需求,也可自行上传或指定证书路径。
稍等一会儿,成功的结果界面如下。
Web服务
这里开始配置反向代理相关。
左侧栏点击「Web服务」,点击「添加Web服务规则」。
对服务规则进行命名。监听类型
同样根据实际网络情况选择。监听端口
自定(我预设为7086,但IPv6可忽略这项),要是未被占用的可用端口,后面还要对这个转口进行转发,可惜国内IPv4的443基本不能用。我们已然申请证书要通过HTTPS访问,TLS
需要开启。
接着是默认规则
,选择关闭链接
,会对下面的子规则生效。就是如果访问的地址与子规则的配置不符,不会返回任何响应(如 403、404、503 等),而是直接丢弃请求。这里其实完全没必要管,官方文档也有提示。
最后添加子规则。现在的Lucky支持批量修改前端域名,如果我们实行域名年抛策略会非常方便。
以上一篇部署的TR下载器为例,服务类型选择反向代理。前端地址填写纯粹的域名,不要带杂七杂八内容,域名前缀自定义即可。后端地址则要填写内网完整的访问地址,如下图所示。
确认无误后,右下角点击「添加/修改子规则」即可。如下图的红色框标注部分便是以后外网访问TR的地址。
最后还差一步,就是IPv4用户需要对监听端口进行转发。
来到路由器,设置端口转发/映射,内网地址填写为NAS内网IP,端口则为上文设置的监听端口,最后保存即可。
至此已经实现家庭NAS外网访问方案。后续也可以将Lucky本身以及其他服务都加入进去。
情况补充
当时写Lucky流程试验后碰到的问题:
在手机浏览器输入域名+监听端口
时,会连接失败,必须要手动再补上https://
。
因此我们要添加 HTTP → HTTPS 的自动跳转规则。
继续点击「添加Web服务规则」。
配置如下。
监听端口和前面的保持一致。TLS不要开。
接着下拉界面编辑默认规则。
服务类型选择重定向。
默认目标地址填写https://{host}:{port}
。
修改/保存即可。
最后
大家多备份配置吧。。。浪费一天重新搞,只能怪自己懒。
感谢观看,本文完。
评论区