写在前面
为了实现在外能够随时随地快速访问家中的NAS设备,无疑是一项非常实用的功能。
然而,由于大多数家用网络都采用动态IP地址分配,导致远程访问NAS变得困难重重,用NAS厂商的域名访问存在速度慢和域名长的问题。
幸运的是,有了Lucky,这一切都不再是问题。
Lucky简介
Lucky是一款免费的软路由公网利器,支持docker部署,可以为NAS用户实现动态域名解析服务。它的主要作用是将您家中的动态IP地址与一个固定的域名关联起来,这样即使您的IP地址发生变化,您也可以通过这个固定域名轻松访问到您的NAS设备。简而言之,Lucky DDNS就像是一个桥梁,它连接了您的NAS与外界,使得远程访问变得更加便捷。另外还支持ACME,可以自动申请和续期SSL证书,一劳永逸实现https访问。
实现自定义域名访问NAS教程
前提条件
- 支持docker的NAS设备
- 1个个人域名
设置步骤
域名申请
- 访问万网申请域名并购买; 其他域名管理服务商也可以,都差不多; 取个短的好记的域名,域名过长输入也麻烦;
万网:https://wanwang.aliyun.com/domain?spm=5176.21213303.J_qCOwPWspKEuWcmp8qiZNQ.2.69262f3dsXwnSc&scm=20140722.S_card@@%E4%BA%A7%E5%93%81@@3417315._.ID_card@@%E4%BA%A7%E5%93%81@@3417315-RL_%E5%9F%9F%E5%90%8D-LOC_search~UND~card~UND~item-OR_ser-V_4-RE_cardNew-P0_0
- 进入阿里云控制台,选择域名管理,选择刚申请的域名,根据引导进行实名认证(备案),如下图。
控制台地址:https://dc.console.aliyun.com/#/domain-list/all
- 切换云产品到云解析,开通个云解析,然后可以看下云解析个人版,当前正在活动;
云解析地址:https://dns.console.aliyun.com/?spm=5176.21213303.J_qCOwPWspKEuWcmp8qiZNQ.2.3bee2f3dsfeQNg&scm=20140722.S_card@@%E4%BA%A7%E5%93%81@@106845._.ID_card@@%E4%BA%A7%E5%93%81@@106845-RL_%E4%BA%91%E8%A7%A3%E6%9E%90dns-LOC_search~UND~card~UND~item-OR_ser-V_4-RE_cardNew-P0_0#/dns/domainList
- 打开AccessKey,生成AK,记住生成的AK,如下图。
AK地址:https://ram.console.aliyun.com/profile/access-keys
安装Lucky
此处以极空间为例,群晖可以使用compose
- 打开极空间里的Docker;
- 在 镜像>常用镜像 里搜索lucky,点击下载;
- 下载完成后,双击开始安装,设置如下:
- 容器名称:随便取,能识别就好
- 性能限制:取消,用不了多少资源,不用限制
- 自动启动:开启
- 文件夹:如果有M.2盘,设置到M.2盘,减少唤醒机械盘的情况,装载路径设置为/goodluck
- 网络:切换到host模式,需要获取外网IP
- 端口:不用设置,默认使用16601
- 其他都不用设置
如果群晖下使用compose,则如下:
services:
lucky:
image: gdy666/lucky
container_name: lucky
volumes:- 容器外持久化路径:/goodluck
network_mode: host
restart: always```
至此,安装Lucky完成。
Lucky:动态域名+SSL证书申请
- 局域网访问http://{NAS IP}:16601,使用账号666,密码666登录;
- 登录后先改账号密码;
- 注册域名:菜单上选择动态域名,填写上面申请的域名和AK信息,如下图所示。
- 托管服务商,选择你的域名提供商;
- 云服务账号的AK信息;
- IP类型:选择IPV4
- IP获取方式保持默认即可(通过接口获取);
- 域名列表:把 xxx.xxx和*xxx.xxx都填进去,这样后面一级域名和二级域名都可以访问;
- 重复步骤3,IP类型选择IPV6,把V4和V6都注册一下;IPV6以备不时之需;
- 菜单切换到SSL/TLS证书,选择添加证书:
- 添加方式:ACME
- 证书颁发机构和AK:可以选择Let's Encrypt或者ZeroSSL,去对应的网站申请下AK,具体可以参见lucky的教程
- 验证方式和AK:阿里云或者你云服务商和对应的AK
- 域名:把上面步骤3里要注册的域名都填进去
- 邮箱:你自己的邮箱,随意,没有验证
- 算法:选择RSA2048(默认)
至此,基础配置完成,后面开始设置个性域名。
Lucky:Web服务设置
- 菜单切换到 Web服务;
- 添加Web服务规则,设置以下参数后,直接确认添加,子规则在服务规则创建后慢慢添加;
- 规则开关:启用
- 操作模式:简易
- 监听类型:全选
- 监听端口:可以设置为88,89之类的没被占用的端口,或者4000以后的端口;这里记得在路由器上转发这个端口到你的nas上,或者可以直接在路由器上使用DMZ直接把NAS暴露在公网;
- TLS:启用
- 添加子规则:
- 子规则开关:启用
- 显示在所选前端列表:启用
- 服务类型:反向代理
- 前端地址:你外网要访问的地址,举例如图
- 后端地址:要转发的内网设备地址和端口,如果是本机就使用localhost:ip即可。
- 测试一下,看设定的域名是否可以通过外网访问到了。
访问不到可能的原因: - 域名解析未生效,登录云服务商后台看下云解析的情况,是否已经注册了IP,IP对不对;
- 路由器端口映射或者DMZ没有设置;