Featured image of post Lucky 部署 IPv6 DDNS 和反向代理

Lucky 部署 IPv6 DDNS 和反向代理

这是一个使用 Lucky (一款集成了 DDNS、反向代理、SSL 证书申请、端口转发等功能的神器) 部署 IPv6 DDNS 和反向代理的精简教程。

Lucky 特别适合家庭宽带环境(特别是 NAS 用户),因为它配置简单且资源占用极低。


✅ 核心思路

  1. 部署 Lucky:通常使用 Docker 部署(推荐 Host 模式,方便获取 IPv6)。如果你不使用docker,也可以使用官方的一键部署命令。
  2. 配置 DDNS:让 Lucky 自动把你的公网 IPv6 地址同步到你的域名。
  3. 申请 SSL 证书:Lucky 内置 ACME,可自动申请 HTTPS 证书。
  4. 配置反向代理:将外部请求(如 https://nas.你的域名:端口)转发给局域网内的服务。

第一步:Docker 部署 Lucky

推荐使用 Docker 的 host 网络模式,这样 Lucky 能直接读取宿主机的 IPv6 地址,省去很多网络桥接的麻烦。

Docker Run 命令示例:

1
2
3
4
5
6
7

docker run -d \
  --name lucky \
  --restart always \
  --net=host \
  -v /你的宿主机路径/lucky/conf:/goodluck \
  gdy666/lucky
  • 注意/你的宿主机路径/lucky/conf 请替换为你实际想要保存配置文件的路径(例如 Synology NAS 上的 /volume1/docker/lucky)。
  • 启动后,默认管理端口为 16601

一键部署

使用以下命令

1
URL="http://release.66666.host"; curl -o /tmp/install.sh "$URL/install.sh" && sh /tmp/install.sh "$URL"

此代码为lucky官网提供,可以自动识别处理器架构和系统类型,请在网络良好的时候使用。


第二步:登录与基础设置

  1. 在浏览器输入:http://你的内网IP:16601
  2. 默认账号/密码666 / 666 (登录后请务必第一时间修改密码)。
  3. 进入界面后,界面非常直观。

第三步:配置 IPv6 DDNS (动态域名)

这一步是为了让你的域名时刻指向你家中不断变化的 IPv6 地址。

  1. 点击左侧菜单 “动态域名” -> “添加任务”
  2. 托管服务商:选择你的域名服务商(如 Cloudflare, Aliyun, Tencent/DNSPod 等)。
  • 你需要去服务商后台获取 Token / SecretID / SecretKey 并填入。
  1. 获取方式
  • 推荐选择 “网卡” (Interface)
  • 在下拉菜单中选择获取到公网 IPv6 地址的那个网卡(通常是 eth0ovs_eth0,看哪个带 240x 开头的地址)。
  1. 域名列表:填写你要解析的域名,例如 *.example.com (泛解析) 或 nas.example.com
  2. 类型:选择 IPv6
  3. 点击 “添加” ,稍等片刻,看日志显示“同步成功”即可。

第四步:配置 SSL 证书 (HTTPS)

为了安全访问,我们需要 SSL 证书。Lucky 内置了 ACME 功能。

  1. 点击左侧菜单 “安全管理” -> “添加证书”
  2. 添加方式:选择 ACME
  3. 验证方式:选择 DNS验证 (最稳,支持泛域名)。
  4. DNS服务商:选择刚才配置过密钥的服务商。
  5. 域名:填写 *.example.com (推荐申请泛域名证书,这样所有子域名都能用)。如果你只是有特定的需求,也可以指定指定的子域名。但是要注意一个子域名对应一个端口转发服务或者反向代理服务,需要同步更新。
  6. 点击 “添加” 。Lucky 会自动去 Let’s Encrypt 或 ZeroSSL 申请并续期证书。

第五步:配置反向代理 (Web服务)

这一步是将外部流量分发给内部服务(NAS、Jellyfin、HomeAssistant 等)。

  1. 点击左侧菜单 “Web服务” -> “添加规则”
  2. 基础设置
  • 名称:随便填(如 “Main Proxy”)。
  • 监听端口:填写你希望外网访问的端口。
  • 注意:家庭宽带通常封锁 80 和 443 端口,建议使用高位端口,例如 16666
  • 开启 TLS (HTTPS)开启
  • 选择证书:选择刚才第四步申请到的证书。
  1. 添加子规则 (关键步骤)
  • 在刚才创建的规则下,点击 “添加子规则”
  • 前端域名:填写 nas.example.com
  • 后端地址:填写内网服务的地址,例如 http://127.0.0.1:5000 (如果是lucky和后端不是在同一个机器,使用http://机器内网ip:端口的格式)。
  • 你可以继续添加子规则,例如 movie.example.com 指向 127.0.0.1:8096 (Jellyfin)。

第六步:路由器防火墙设置 (至关重要)

这是 IPv6 部署中最容易被忽略的一步。

由于 IPv6 是公网 IP 直接给到设备,路由器的防火墙默认会拦截所有外部入站流量

  1. 登录你的主路由后台。
  2. 找到 IPv6 防火墙防火墙规则
  3. 添加一条 入站规则 (Inbound)
  • 协议:TCP (或 TCP/UDP)。
  • 源地址:任意。
  • 目标地址:你运行 Lucky 的那台设备的 IPv6 地址(或者直接选 MAC 地址,部分路由器支持)。
  • 目标端口:你在第五步设置的监听端口(例如 16666)。
  • 动作:允许 (Accept/Allow)。

🎉 最终效果

完成以上步骤后,你在外网(手机开 5G 测试)访问:

https://nas.example.com:16666

Lucky 就会接收请求,通过 SSL 解密,然后转发给内网的 NAS 端口,实现安全远程访问。

💡 常见问题与提示

  • 不要用 80/443:除非你有企业专线,否则家用宽带请避开这两个端口。
  • Loopback 问题:在局域网内用公网域名访问可能会不通(取决于路由器的 NAT 回流能力)。如果内网访问不通,在内网请直接用局域网 IP,或在路由器/电脑 hosts 做内网 DNS 劫持。
  • 安全性:建议在 Lucky 的 Web 服务设置中开启 “基本认证” (Basic Auth) 或者使用 Lucky 的 2FA 功能,给暴露在公网的服务多加一把锁。

使用 Hugo 构建
主题 StackJimmy 设计