把家里 NAS 和电脑暴露到外网:Lucky 端口转发与 DDNS 部署教程
【免费下载链接】lucky软硬路由公网神器,ipv6/ipv4 端口转发,反向代理,DDNS,WOL,ipv4 stun内网穿透,cron,acme,rclone,ftp,webdav,filebrowser项目地址: https://gitcode.com/GitHub_Trending/luc/lucky
你在出差时想访问家里 NAS 上的文件,但家里宽带没有公网 IP。Lucky 是运行在软路由、NAS、Linux 设备上的网络工具,提供端口转发、动态域名(DDNS)、反向代理和网络唤醒,全程用浏览器操作。
它是什么,适合谁用
- 端口转发:核心能力是把公网 IPv6 转到内网 IPv4 的 TCP/UDP 端口,一条规则可配多个转发端口,支持一键开关和定时开关。
- 动态域名(DDNS):接入阿里云、Cloudflare、DNSPod、Porkbun 等多家 DNS 服务商,公网 IP 变化时自动更新域名解析。
- Web 服务:反向代理、重定向、URL 跳转,支持 HTTP 基本认证和 IP/UserAgent 黑白名单。
- 其他:Stun 内网穿透(无公网 IPv4 时可用)、计划任务、ACME 自动证书、网络存储。
- 适用人群:家庭宽带用户(尤其是能获取 IPv6 地址的)、软路由/硬路由玩家、NAS 玩家。前提是设备能运行 Linux 或 Docker。
部署
一键安装脚本(推荐)
- 在目标 Linux 设备(软路由、NAS、服务器)上打开终端。
- 执行官方安装命令:
# 下载并运行官方安装脚本,自动完成 Lucky 安装 curl -fsSL https://get.lucky666.cn | bash- 等待脚本执行完毕,安装脚本会自动把 Lucky 注册为系统服务,开机自启。
- 在浏览器打开
http://<设备IP>:16601,能出现登录页即安装成功。
Docker 镜像部署
# Linux 推荐 host 网络模式,同时支持 IPv4/IPv6;-v 参数挂载配置目录,删容器不丢配置 docker run -d --name lucky --restart=always --net=host -v /root/luckyconf:/goodluck gdy666/lucky适用于已装 Docker 的环境;Mac/Windows 可改用-p 16601:16601桥接模式,但只支持 IPv4。
源码编译
# 克隆源码、编译并指定配置文件夹启动 git clone https://gitcode.com/GitHub_Trending/luc/lucky && cd lucky && go build -v -tags "adminweb nomsgpack" -ldflags="-s -w" && ./lucky -cd luckyconf适用于想阅读源码或二次开发的使用者,需要本机已安装 Go 环境。
首次启动与基础设置
- 浏览器访问
http://<设备IP>:16601,首次运行监听端口就是 16601。 - 使用默认账号登录:管理账号
666,登录密码666。 - 登录后立即进入设置页,把"管理登录账号"和"管理登录密码"改成自己的,保存并退出重新登录。
- 进入"菜单 > 总览",能看到程序版本与运行状态,说明基础环境正常,可以开始配置功能。
核心能力实战
端口转发:公网访问内网 NAS
场景:NAS 的内网地址是192.168.31.180,你在公司想通过宽带访问它。
操作:进入"菜单 > 端口转发 > 转发规则列表",点击"添加转发规则":
- 名称填"NAS访问",勾选
tcp4、tcp6协议; - 监听 IP 选"所有IP",监听端口填外网要用的端口,如
8443; - 目标 IP 填 NAS 的内网地址
192.168.31.180,目标端口填 NAS 网页端端口,如5000; - 打开规则右侧的开关,启用这条转发。
验证:手机断开 Wi-Fi 改用 4G/5G,浏览器访问http://<设备公网IP>:8443,能打开 NAS 的登录页就算成功。规则列表的"统计"栏出现流量字节数、"日志"里出现一条访问记录,是同样的成功信号。
DDNS 动态域名:让域名始终指向家里
场景:家庭宽带的公网 IP 会不定期变化,每次查 IP 再访问很麻烦,希望固定用一个域名。
操作:进入"菜单 > 动态域名 > 动态域名任务列表",点击"添加DDNS任务":
- 选择 DNS 服务商,如 Cloudflare、阿里云、DNSPod;
- 到对应服务商控制台创建 API 密钥,粘贴到任务配置里;
- 填写已归属该账号的域名,如
nas.example.com; - 公网 IP 类型选 IPv4 或 IPv6(没有公网 IPv4 就选 IPv6),获取方式选"网卡"或"URL";
- 打开任务开关,Lucky 会按设置的周期自动检测并更新解析。
验证:任务行的"同步结果"显示"域名和公网IP一致"、"最后检测时间"随时间刷新,即配置生效。再在任意机器上执行nslookup nas.example.com,返回的 IP 与当前公网 IP 相同,就算成功。
网络唤醒 WOL:远程开机家里的电脑
场景:家里的电脑已关机,你出门前忘了传文件,想远程把它开起来。
操作:进入"菜单 > 网络唤醒 > 网络唤醒设备列表",添加设备:
- 设备名称填"家庭主机";
- 网卡物理地址填该电脑网卡的 MAC 地址(在电脑系统里执行
ipconfig /all或ip a查看); - 广播地址填所在网段广播地址,如
192.168.31.255,端口填9; - 在"网络唤醒设置"中开启服务端和客户端,填写一致的认证 Token;
- 同时在电脑 BIOS 里开启网卡的"Wake on Magic Packet"选项。
验证:在设备列表点击该设备的唤醒按钮,几秒后主机电源指示灯亮起并开始启动,即成功。
进阶组合
- 只有 IPv6 的家庭网络:端口转发选
tcp6协议 + DDNS 选 IPv6 类型任务,外网 IPv6 设备可直接访问;若目标设备只有 IPv4,则由 Lucky 完成 IPv6 到 IPv4 的转换转发。 - 域名 + HTTPS 的 Web 服务:反向代理规则把域名指向内网 Web 服务 → ACME 自动证书模块为该域名签发并自动续签证书 → DDNS 保证域名 IP 常新。三者组合后,外网用
https://域名即可访问内网站点。 - 限定开放时间的转发:转发规则支持定时开关,再配合计划任务模块,可做到"仅每天 20:00–23:00 开放 8443 端口",其余时间自动关闭,减少暴露面。
- 无公网 IPv4 的运营商 NAT 环境:启用 Stun 内网穿透模块,通过 STUN 服务器与内网主机建立点对点连接,绕过缺公网 IPv4 的限制。
避坑手册
| 常见症状 | 可能原因 | 处理方式 |
|---|---|---|
打不开:16601管理页 | IP 填错、端口被防火墙拦截、服务未运行 | 核对设备 IP;在防火墙放行 16601;确认 Lucky 进程在运行 |
| 转发规则开了,外网访问不通 | 宽带无公网 IPv4(运营商 NAT);目标服务未监听 | 确认是否拿到公网 IP;没有 IPv4 就用 IPv6 转发或 Stun 穿透;确认内网服务端口可达 |
| DDNS 同步失败 | API 密钥错误;域名不在该服务商账号下 | 重新生成密钥;确认域名归属与服务商一致 |
| 唤醒按钮点了没反应 | MAC 地址填错;广播地址不对;BIOS 未开 WOL | 核对 MAC 与网段广播地址;在 BIOS 中启用网卡的 Wake on Magic Packet |
| 重装或删容器后配置丢失 | 没有持久化配置目录 | 编译运行用-cd luckyconf指定配置文件夹;Docker 加-v挂载;定期备份该目录 |
安全与长期维护
- 登录后第一时间改掉默认的 666/666 账号密码。
- 不要把 16601 管理端口暴露到公网,只用内网地址访问后台。
- 对外转发的重要规则切换到白名单模式,只允许固定 IP 访问。
- 定期查看"菜单 > 程序日志",确认转发与 DDNS 无异常。
- 定期备份配置文件夹(如
luckyconf),并关注版本更新,及时升级到新版。
Lucky 把端口转发、DDNS、反向代理、网络唤醒这些原本要写命令才能完成的事,收敛到了一个后台页面里,对你来说只需要记住两件事:装好它,然后改密码。更多参数细节可看仓库自带的 README.md,各功能的实现代码分别在 module/portforward/、module/ddns/、module/reverseproxy/、module/wol/ 目录,遇到问题先对照源码逻辑排查,会更快。
【免费下载链接】lucky软硬路由公网神器,ipv6/ipv4 端口转发,反向代理,DDNS,WOL,ipv4 stun内网穿透,cron,acme,rclone,ftp,webdav,filebrowser项目地址: https://gitcode.com/GitHub_Trending/luc/lucky
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考