前言:从“失联”说起
就在今晚,我经历了一场跨越成都东三环外到西三环外的“远程自救”。
起因是部署在另一处住宅忘记缴电费,直接停电了,当我缴费后,家里上百个设备全部重启,绿米本身自带的服务倒是能正常一键关灯,但是进不了HA,联动的其他品牌全部失联导致原本通过 Nginx Proxy Manager (NPM)构建的访问链路由于 IPv6 地址变动和 Docker 启动顺序问题彻底失联。在满屏的 Connection Refused 面前,我意识到:在家庭宽带这个特殊的战场上,传统的“服务器运维思维”可能真的跑偏了。
经过一番救急,我最终决定将所有核心权限收归 Lucky。这一变动,让我看清了家宽 IPv6 环境下的“降维打击”真相。
一、 传统方案的“泥潭”:为什么 NPM 在家宽不香了?
在折腾初期,我们习惯于在 Docker 里部署 NPM (Nginx Proxy Manager)。它界面美观、逻辑清晰,是 IPv4 的王者。但在家宽 IPv6 环境下,它有三个难以逾越的“坑”:
Docker 网桥的隔离感:NPM 跑在 HA 或 NAS 的容器里,对 IPv6 的感知是“二手”的。为了让它拿到公网 v6 地址,你可能得折腾 macvlan 或修改 Docker 的 daemon.json。
防火墙的“多层套娃”:流量要先过路由器防火墙,再过宿主机防火墙,最后才到 NPM。身处异地时,任何一层规则没对上,就是永久失联。
对动态 IP 的迟钝:家宽 IP 随时会变。NPM 侧重于静态代理,它本身不具备强大的 DDNS 联动能力,需要配合其他脚本才能生存。
二、 Lucky 的“降维打击”:网关层的降临
当我们将视角从“服务器”转向“路由器(网关)”时,Lucky 的优势就体现出来了。
1.部署位置的“近水楼台
Lucky 运行在 AX3600 这种路由器底层。它离公网最近,对 IPv6 的变动有着天然的敏感度。不需要复杂的网桥设置,它勾选一下就能直接监听双栈流量。这也是为什么lucky不要部署在你的HA盒子中的原因。HA中想要获取到真正的ipv6也是一个折腾事。
2.安全入口”的物理隔离
这是今晚最深刻的体会。NPM 只有密码保护,而 Lucky 的 “安全入口”(Path 后缀) 功能,让你即便暴露了端口,黑客直接访问域名也只会看到 404。
正确访问方式:https://lucky.你的域名:你lucky设置的端口号/后台管理设置中的安全入口
防护效果:暗号不对,大门不开。这种基于路径的隐身术,是家宽防扫描的终极手段。
3.DDNS + 证书 + 转发的一站式闭环
今晚的救援中,我通过 HA 的 SSH 终端“隔山打牛”,仅仅通过一行代码,它就自动完成了获取新 IP、更新 CF 解析、校验证书等一系列动作:
docker restart lucky三、 实战总结:Lucky 还是 NPM?
经过今晚的折腾,我总结出了一套家宽选型准则:
选择 NPM 的场景:你有固定公网 IPv4,或者你在局域网内部有极其复杂的 Web 头部管理需求。
选择 Lucky 的场景:你是典型的 IPv6 家宽拨号用户,追求极高的稳定性,且希望在路由器重启后能“无感复活”。
结论:要玩专业 Web 配置选 NPM;要玩 IPv6 直连和动态域名,Lucky 才是标准答案。
四、 避坑指南(备忘录)
- 别给安全入口“代填暗号”
在 Lucky 的 Web 规则里,后端地址千万别带后缀:
错误设置:http://127.0.0.1:16601/lucky666(会导致安全入口形同虚设)
正确设置:http://127.0.0.1:16601
- SSH 兼容性命令
连接老旧的小米路由器 SSH 时,如果报错算法不匹配,请使用:
ssh -o HostKeyAlgorithms=+ssh-rsa root@192.168.31.1- 容器自启动策略
任何时候都要执行这条命令,这是异地运维的最后一根救命稻草:
docker update --restart=always lucky后记: 当我在浏览器输入那个带暗号的地址,重新看到 Lucky 管理界面的那一刻,我知道,这场“网关保卫战”我打赢了。在这个 IPv6 逐渐普及的时代,选对工具,比努力折腾更重要。
💡 khalil碎碎念
如果你也遇到了类似的问题,或者在 8443 端口转发上卡住了,欢迎在评论区留言。
最好的防御就是让攻击者连门都找不到。
我