引言
玩NAS的用户最头痛的问题是什么?那当然是如何优雅实现NAS的远程访问啦,或者说如何借助NAS实现全局域网远程访问!
通常来说是使用公网IP+DDNS的形式来实现远程访问,但DDNS这个操作有难也有易,在此之前我一直是使用DDNS-GO这个应用来进行公网解析的,直到最近用上了Lucky这个应用,用完才发现打开新天地了。
Lucky可以部署通过Docker部署在NAS上,它除了可以替代DDNS-GO实现动态域名外,还能实现端口转发、反向代理、Web服务、内网穿透、自签证书、网络存储和远程唤醒,真的超强。
所以本期就来详细讲解一下如何在NAS上通过Docker部署Lucky,并且会演示其中的动态域名、反代、端口转发、自签证书、网络存储和远程唤醒这几个主要功能,希望对于新手朋友有所参考,算是一篇新手的保姆级上手教程,本篇有点长,以下是本文大纲,请按需跳转:
1、Lucky部署教程
2、Lucky初始化
3、域名注册
4、必要前提:端口转发、IPV6和防火墙设置
5、Lucky配置DDNS域名解析
6、开启加密访问
7、反代设置
8、远程唤醒和定时任务
9、网络存储挂载等
10、总结
常规Docker部署Lucky
只要你的NAS支持Docker,都可以部署lucky,以下是Docker-compose部署命令,其中『容器外持久化路径』这个路径请替换为宿主机的真实路径即可。
services: lucky: image: gdy666/lucky container_name: lucky volumes: - 容器外持久化路径:/goodluck network_mode: host restart: always
常规Docker部署命令如下,其中/root/luckyconf部分请替换为你部署主机上的真实路径即可。
docker run -d --name lucky --restart=always --net=host -p 16601:16601 -v /root/luckyconf:/goodluck gdy666/lucky
以上命令只要你的NAS支持Docker或Docker-compose均可部署,但SSH命令可能看起来稍麻烦,至少对于新手来说是这样,以下我就使用图形化界面还演示一下完整部署流程。
绿联UGOS Pro部署Lucky
下面使用绿联DXP4800来演示一下Lucky部署完整教程,只要你是使用绿联NAS且运行UGOS Pro系统,均可以按照以下步骤来操作,首先简单介绍一下绿联这台DXP4800。
这是一台搭载英特尔四核心四线程N100处理器、4盘位(3.5 SATA)+双M.2设计的NAS,不管是硬件性能还是产品做工都极为优秀,没有之一。
而且性价比超高,如果是首发入的用户绝对赚了,单是硬件成本都不止这个价位,在我看来,绿联DXP2800和DXP4800非常适合家用场景,预算有限且想要高性能的选择这这两款就对了,硬件性能在同价位上没发现对手。
而且它搭载的UGOS Pro系统更换为Debian 12底层了,虽然一开始发布时因初始固件问题引起了体验方面的问题,但经过近两个月打鸡血式的固件更新,截止7月中的这个1150版本固件更新后,绿联UGOS Pro系统已经焕然一新了,不管是稳定性还是易用性都可以了,感兴趣的朋友可以去申请体验账号试试,和初始固件体验真的天差地别了。
最重要的是它的系统开放性在国产新兴NAS中是最好的,比如开放SSH、提供完整Docker权限,可以让用户随意折腾,可玩性拉满。
特别是UGSO Pro延续了UGOS简单易用的特点,一个绿联云APP就可以实现和NAS完整交互,有手就会,用它给全家备份照片、搭建家庭影院是非常合适的,不管是备份还是远程观影都可以开箱即用。
在影音方面UGOS Pro也是给力,首先是相册支持AI模型,可以识别宠物、图片文字、场景识别、还支持离线训练模型保护隐私,支持苹果Live照片备份等等,真的很好用,你可以把家人都邀请来使用绿联NAS,各自都有独立空间,可以实现家庭数据中心。
在搭建家庭影院方面还有非常好用的『影视中心』应用,指定影音库位置后就可以搭建成功,而且最新固件已经支持ISO原盘播放和字幕加载了,还支持蓝光目录显示,在完善的道路上越走越好了,用它搭建影音库还可以实现不同用户的观影权限,配合强劲的核显性能,观影体验真的爽。
特别是虚拟机加持,配合本身就不俗的硬件性能可以在NAS上部署各种操作系统,实现NAS的一机多用,还能安装软路由等等实现All in One的功能,感兴趣的话有机会可以分享如何使用绿联UGOS Pro来打造家用AIO,喜欢的朋友多加个关注、多点个赞!
下面进入绿联GUSO Pro部署Lucky的正式演示,首先,在PC版绿联云客户端打开应用中心并安装Dcoker应用。
在部署前先创建lucky容器的映射目录,打开文件管理器,在默认创建的共享文件夹-docker目录下新建一个lucky文件夹,进入lucky文件夹后在其中再创建一个goodluck文件夹,后续安装容器时会使用到这个目录。
现在打开Docker应用,因为一些原因docker镜像不能正常拉取了,是所有NAS都是这样的,所以咱们需要配置一下能拉取的方式,点击镜像-右上角的齿轮进入设置-加速器配置,添加以下几个站点,如果此站点在日后失效,请点击『配置教程』,这是绿联官方提供的教程,按里面文档操作配置后即可正常拉取,如果你当前网络能确保正常拉取,则此步骤可以跳过。
然后点击镜像-镜像仓库,在搜索栏处输入gdy666/lucky搜索,找到对应的名称别搞错了,点击下载按钮。
选择默认最新latest,点击确定,就会拉取了。
取决于网络速度,这个也就16MB左右,反正挺快的,在本地镜像这里就可以看到拉取完成的lucky镜像,点击+号进入部署容器阶段。
容器名称可以随意,或者默认就行,内存限制这里建议改成1024MB即1G足够,『容器自动重启』设置为是。
往下拉,在『存储空间』这里点击添加,在『容器目录/文件处』这里输入/goodluck,照抄就行了,不要改动,在『NAS目录/文件』这里手动选择前面在文件管理器中创建的goodluck文件夹,这一步的意思是lucky容器的相关配置文件会保存在goodluck文件夹中,它们是一一映射对应的,不懂的话直接照抄就行。
在『网络』一栏将『网络模式』设置为host,切记,一定要host,可以减少许多问题,然后点击完成。
OK,在『容器』这里就可以看到部署成功的Lucky容器了,点击运行就行,下面就可以进入lucky后台进行配置了,记下你NAS的内网IP地址,一般在控制面板-网络这里可以看到,后续登录会用到。
Lucky初始化
打开电脑浏览器,在地址栏输入你NAS的内网IP地址加16601端口号访问,成功进入Lucky后台,默认账密都是666,登录就行了,等下咱们会改它。
进入lucky后台,往下拉到最底部,找到设置,在『登陆验证设置』这里输入登录账号和密码就行了,自己记住账密,这样就可以修改默认的666了,往下拉到最底部,点击保存,修改的账密就生效了,会自动登出,然后你使用刚创建的账密重新登录就完事了。
好的,现在就可以把lucky后台的地址以书签保存下来,以免忘记了,下面会进行DDNS域名解析,首先你需要一个域名。
域名注册
lucky支持许多种域名服务端,请按下图提示适当选择。
目前国内域名注册商有阿里万网、腾讯云等,主流就使用这两家就行了,在搜索引擎搜索就可以进入它们对应的官网。
然后登录之类的,搜索你想要注册的域名字符(随意字母数字组合都行),比如testnasdomain搜索,会看到有各种价位的出现,建议打这种12块左右的一年的就行了,够用。
腾讯域名注册也同理,就是搜索想要注册的,看看哪个后缀的便宜就买哪个,10-12块/年这种足够咱们使用了。
这里需要注意的是,国内域名注册后需要实名以及备案操作,不然在你用着的时候会发现访问不了,这个情况出现你就需要去域名注册商后台查看备案要求了,不算复杂,请按后台流程操作即可正常使用。
必要前提:端口转发、IPV6和防火墙设置
注册好域名后,咱们进入DDNS解析步骤了,在进行以下步骤前,请设置好以下必要操作,不然后续是无法开展的。
开启IPV6
如果你和我一样没有公网V4,只有公网IPV6,那么请在部署lucky宿主机即NAS上开启IPV6开关,以绿联UGOS Pro为例,打开控制面板-网络设置-网络连接-编辑网口,在IPV6这里设置自动就行了。
还有一个注意事项,因为IPV6本身是很丰富的,现在的移动、联通的光猫基本都默认开启IPV6的,为了确保NAS能获取到240x开头的公网IPV6地址,如果你接了主路由,请在主路由的IPV6设置处开启IPV6桥模式或中继之类的(或Passthrough字眼)开关就行了,不要选择NATV6类似的设置,以免分配到内网IPV6地址fe80开头之类的,不然就要涉及到端口转发问题了。
按以上开启完成后,如果你也是使用IPV6,那么在NAS的网口信息这里就会展示240x开头的IPV6公网地址了,后续访问时就不用设置端口转发,NAS本身就是一台拥有独立V6公网地址的服务器了。
端口转发
当然,有部分使用电信的朋友没有IPV6,那么请直接去电要求电信分配公网IPV4就行了,电信比较好拿公网IP,而且IPV4公网更好用,虽然要涉及到端口转发,但只需要在路由器上配置一下就行了,很简单的,以我的小米路由器来演示一下端口转发原理,其它路由器找类似端口转发的设置就行了。
比如我的宽带有公网IPV4,地址是114.114.114.114,配合下文的DDNS步骤我将这个公网IPV4指向了example.com这个网址,我给它自定义当访问example.com:8080这个地址时代表访问家中的NAS后台,NAS的内网后台地址是192.168.10.188:9999,那么就在路由器后台添加端口转发规则,协议选择TCP,外部端口就是填写example.com:8080中的8080,内部IP地址就是这台NAS的内网IP地址以及它的内网端口9999,这样,当然使用公网IP或做了DDNS的域名:8080访问时,就是直接远程访问到这台内网NAS的后台了,这就实现了端口转发。
这样很容易理解吧兄弟们,所以下文步骤如果你是使用公网IPV4或NAS只能获取到fe80的V6地址朋友,请切记在路由器上添加转发规则。
如果你的NAS使用IPV6,并且主路由的V6设置桥模式,那么NAS就会获得公网240x开头的IPV6地址,NAS本身就是一台可暴露于公网的服务器,所以就不需要做端口转发了,希望以上解释各位新手朋友可以理解。
防火墙
对了,还有一个防火墙问题,想要让公网流量入站访问内网设备,请去光猫后台关闭防火墙,如果是使用公网IPV6远程访问的朋友,请去光猫后台安全处关闭相关设置,如下图操作,这样才能允许公网流量入站,当然,请做好其它设备的基础防护,担心不安全的朋友也不必继续操作了。
以公网IPV6为例,开启后,可以找到光猫后台的网络状态,复制当前显示的IPV6地址,到下图中的网站中ping一下,如果能通说明防火墙放开了,没问题,可以继续往下操作。
Lucky配置DDNS域名解析
好的,前面的必要前提操作完成后,咱们可以进行DDNS域名解析操作了,首先进入lucky后台,在『动态域名』这里点击『添加任务』,我就以阿里云为例,任务名称可随意,托管服务器就选择阿里云,会提示你需要AccessKey和AccessKey Secret这两个密钥,有这密钥,lucky就有权限接管阿里云域名的解析权限进行DDNS动态解析的意思。
如果没有这两个密钥,点击『创建AccessKey』就会跳转到创建界面,点击创建,按界面提示操作就行了,完事了记得保存下来,然后粘贴到上图中的密钥处。
然后继续按下图红字提示来填写,填入两组key后,在『类型』这里就根据你有公网IPV4还是公网IPV6来选择,我只有V6公网,所以就选择它,如果你是公网V4,那就选择IPV4,切记。
域名列表这里就填写你前面注册好的域名,分两行,比如我注册的域名是example.com,那么第一行就填写example.com,回车后第二行填写*.example.com,注意,加上*.这两个字符,代表泛域名解析,在后续进行反代时咱们自定义的二级域名就是通过这个泛域名访问的,不明白也没关系,照抄这种格式就行了。
然后点击『添加任务』就完成了DDNS解析。
example.com *.example.com
好的,看到以下界面就说明DDNS设置成功了,你会看到你设置的类型、以及解析IP地址,如果你去你的域名商后台也能在解析记录那儿看到Lucky自动解析的DNS记录了。
正常来说解析后域名会在一小时左右生效,你直接使用你的主域名加端口号访问,会发现直接成功通过域名远程访问到这个内网NAS了,成功进入我的绿联DXP4800后台,因为我的绿联NAS获取的是公网240x开头的IPV6地址,所以不需要做端口转发。
如果你的是fe80开头的内网V6地址,或公网IPV4,请去主路由上设置一下端口转发,比如设置外部端口9999转发到内网IP的9999端口上,就可以直接通过域名加9999端口实现远程访问这台内网设备了,这里不再赘述了,在前文『必要前提』的端口转发部分已有详细演示步骤。
然后我的绿联DXP4800上有部署emby服务的,它的内部端口是8098,我直接使用前面ddns成功的域名加这个8098端口访问,OK,直接远程访问成功,我在外面有V6的环境也也能通过这串域名远程访问emby服务了,如果你的公网IPV4,在做好端口转发后,在任意环境下都能远程访问了,不需要V6环境,所以说V4公网的通用性更好。
如果你是腾讯云域名,在选择服务端为腾讯后,会出现跳转设置,按提示开启Key就行了,和上面获取阿里云Key是一样流程。
开启加密访问
前面远程访问NAS和emby后台,你可以看到网址前面有『不安全』的提示,这是因为没有开启SSL加密访问,开启加密访问可以更加安全,避免中间人窃取明文数据等等,开启也很简单,在Lucky的『安全管理』-SSL证书这里点击添加证书。
备注这里可以随意命名,添加方式设置为ACME,验证方式选择你的域名服务商进行验证,我用的是阿里云的域名,所以就选择阿里云,ID和Secret就填写前面DDNS时填写的那两组Key,对应填写就行了,域名列表同样是你的顶级域名加*.的泛域名格式,前面已经有说了,其它保持默认。
往下拉,在『DNS查询强制IPV4』这里按需要操作,如果前面的DDNS是使用的公网IPV4,那么就开启这个开关,如果你和我一样只有公网IPV6,那么就默认关就行,这个是在申请证书时会验证服务器IP之类的,如果不对就会申请失败。
最后,往下拉点击添加就完成了证书申请。
在SSL证书这里会出现你添加的证书,并且显示在申请中,一般要几分钟,耐心等会。
或者点击日志也能看到申请进度,当看到successsed就说明证书申请成功了,它有个过期日期不用管,默认是3个月,到期前lucky会自动续期的。
这样就可以开启https加密访问了,但是当你使用https去访问NAS后台时会提示不安全,这是因为NAS上的加密证书和咱们在lucky中申请的域名的加密证书不一致引起的,所以咱们需要借助反向代理来开启安全的加密访问。
反向代理设置、其它内网设备实现远程
反代也很简单,点击『Web服务』-『添加Web服务规则』,请按下图红字提示操作,规则名称可以随意,见名知意就行,我设置为NAS反代。
监听类型根据你是公网V4还是V6来确定,不用多说;监听端口可随意,不要使用80和443端口就行了,建议使用10000以上的端口号。
TLS需要开启,这是加密访问必要的,然后点击『添加Web服务规则』。
添加后,点击列表中的『添加子规则』,按下图红字提示操作。
子规则名称:可随意填写,我先演示访问绿联NAS后台,所以就写了绿联后台网页_加密,这样自己好区分。
服务类型选择反代,前面地址的话你就指定一个前缀,比如你的域名是example.com,我这条子规则是给NAS后台使用,那么我就在example.com的前面加上dxp4800的前缀,那么整串连起来就是dxp4800.example.com,这个dxp4800可以自定义,就是这种格式,注意example.com换成你自己的域名,别傻傻抄上去哦(手动狗头)。
后端地址就填写你要反代的内网后台地址,我的绿联DXP4800的后台地址是http://192.168.10.188:9999,那么就如实填写,网络类型默认的TCP就行了,其它保持默认,点击修改就OK了。
然后在规则列表这里就会出现你添加的这条子规则,点击域名就会直接复制。
然后你可以打开手机热点给电脑连接模拟外网访问,直接访问复制的这串地址就成功远程访问这台NAS的后台地址了,而且点击前面的小锁会发现有安全的提示,说明加密访问成功了,安全性大增。
继续按照前面规则来添加,例如反代emby后台(http://192.168.10.188:8098)并加密,就是如下图操作,都是换汤不换药的过程,注意你的域名前缀改变一下,我就设置了emby.example.com的前缀,注意example.com换成你自己的域名,别傻傻抄上去哦(手动狗头)。
添加成功后继续点击这个域名复制它。
然后粘贴到浏览器或手机浏览器上访问,OK,也成功远程进入部署在NAS上的emby服务了,还是有安全提示的。
对了,在规则列表这里还可以看到当前页面的访问IP数和连接数等等,一目了然。
继续添加个人导航页(http://192.168.10.188:8098),这次使用了flare前缀,添加。
没问题,同样远程访问部署在NAS的个人导航页了。
其它的,如果想远程访问光猫、路由器后台也是一样的,指向正确的局域网IP和端口就行了,路由器或光猫默认是80端口。
对了,别忘了给lucky的后台反代一下,这样在外面也能远程访问lucky后台进行操作啦,按前面的步骤继续添加,这次我使用lucky的前缀。
好的,成功远程访问lucky的后台了,这样在公司摸鱼时也能访问这个网页了,配合下面的步骤可以实现远程唤醒之类操作了,当然了,继续添加反代,可以把全部内网设备实现远程访问哦。
远程唤醒、定时唤醒、计划任务
Lucky除了DDNS、SSL、反代外还有许多NAS玩家会用到的实用功能,比如远程唤醒,在『网络唤醒』这里添加设备,并添加设备MAC地址(在路由器后台可以看到当前设备的MAC地址,照抄过来),比如说我想远程唤醒局域网中的这台UNRAID设备,我在路由器中获取到它的MAC地址后就行了,广播地址不懂的话就直接按小字提示添加就行。
然后点击唤醒,可以发现成功唤醒这台UNRAID设备了,前提是你的这台被唤醒主机支持,比如开启主板上的WOL功能之类的。
通过反代的lucky域名登录,远程唤醒也是没问题的,怎么样,配合DDNS实现远程唤醒功能真的很实用。
如果你的DIY的NAS,这些NAS的定时关机是有效的,但定时开机是无效的,比如UNRAID,那么你可以配合这个功能来唤醒这台NAS,仅需在Lucky后台的『计划任务』中添加一个任务就行了,如下图所操作,我设置每日12点自动唤醒这台NAS,是不是解决了NAS不能自动开机的问题?!
定时任务还支持其它类型的,此处只演示了自动唤醒NAS的操作。
网络存储挂载
Lucky还有点『不务正业』,它甚至支持挂载网络存储,目前支持本地目录、WebDAV和阿里云盘挂载,『网络存储』-『存储管理』这里就能看到了。
不过目前的网络挂载还没有Alist好用和齐全,但如果只挂载阿里的话可以使用,没问题。
此外还支持FTP和FileBrowser操作,在我看来,Lucky提供了前面如此强大的DDNS、反代、Web服务、STUN等服务后,还能提供这些唤醒、挂载服务,多少有点"不务正业"了哈哈!
总结
通过前面的详细演示,相信各位新手朋友也能上手Lucky了,不用不知道,一用我就把DDNS给抛弃了,Lucky就相当于DDNS+NGINX的完美结合,还提供了人人可上手的UI界面,不用它用哪个呢?!
如果喜欢本期,请动动手指加个关注、点个赞,如果有心得,欢迎评论区交流,咱们下期见!
,