大家好,我是羊刀仙儿。
年前新购了一台威联通TS-464C2,原本打算趁着过年在家给爹妈在家里搭建一套家庭影音库,无奈时间紧凑,只能在走之前先把外网访问相关的事情先搞定,方便我后续其它项目的搭建。
目前我个人认为TS-464C2是威联通性价比最高的消费级机型,比464C也就贵了小几百,
TS-464C2相较于TS-464C有以下优势:
从板载内存升级为双通道可扩内存,再无内存焦虑;
全覆盖SSD散热片,不用单独买散热甲;
每个硬盘槽都新增了硬盘锁,家里小孩子比较多的朋友可能对这东西的作用深有体会。
丢几张图:
配件一览
可能有朋友会说,既然给爹妈搭建影音库,那极空间岂不是更好更易用?
确实有考虑过,也被一些群友种草,但长时间观察下来,我觉得极空间也就仅仅适合娱乐;频频出现的死亡漏洞先不提,别家品牌包括同样是后起新秀的绿联在内,ssh root权限起码都开放,但到极空间这边却封掉,NAS不应该做成闭环产品/生态,感觉极空间会走上不同的道路,不太想去赌。
再考虑到系统功能完善程度,企业级技术背书,老牌群晖和威联通即便在企业场景下都能轻松保障所有数据安全,家用场景那更不用说,各种功能都应有尽有;并且我个人从Dmini用到564,对威联通也基本熟悉个大概,最终做出了上面的选择。
好了,唠了不少,咱们进入正题。
那么该如何实现外网访问家中的NAS设备?首先需要开通公网IP;将光猫设置为桥接,通过主路由进行拨号;在主路由中将NAS的5000映射好。
公网IP
俩老大家里宽带的公网IP获取出乎意料简单。跟师傅说需要装远程摄像头,没想到师傅当即把光猫超级密码发给我爹,隔天上门帮忙把光猫改了桥接,并且嘱咐说不要偷摸搞上传类业务~
用笔记本查询的IP和主路由的WAN IP一致,公网无疑~
本文以华硕路由器演示,我的这款刷成梅林改,路由器的拨号位置如下图所示,有同款的朋友其它选项可以参照我这里的或保持默认。
一般联通和电信都能免费申请到,如果不行的话,可以试试公网ipv6,如果这还是不行,那就只能使用内网穿透软件或使用myqnapcloudlink服务(smarturl),绿联、群晖、极空间等也有类似功能。
端口转发
非常简单,如下图所示,点击添加配置文件
需要填写的东西也不多,请看图,本机IP地址选择要转发的设备即可
如下图所示,5000端口已经映射好
此时就可以在web输入 公网IP:5000
就可访问到NAS,但是网址那里飘着一个大大的不安全
,这当然不行!不过这不是本文最终目的,只是先做下演示,咱们继续操作!
顺路提一下,虽然威联通myqnapcloud配置DDNS后,用qnap域名+端口号
,再申请个免费的SSL证书也能实现https访问,但从国内目前的大环境来说,不建议过度依赖威联通提供的域名。
域名相关
目前国内主流的域名注册购买平台是阿里云和腾讯云,新用户第一年一块钱可以注册一个,不过实名认证是必须的;如果大伙有办法,可以搜索Namesilo,它是国外最大的 ICANN 认证域名提供商之一,以物美价廉的优势积累了不错的口碑;费用方面,其域名注册费用相较国内来说便宜不少~
购买完域名后,首先要做的是解析工作,如下图,对应IP填写咱们的公网IP(动态公网IP无需在这里解析,往下看就得)
这里解释一下@
代表主域名,代表我们可以解析二级域名,例如注册域名为abcd.com
,我们给NAS配置的二级域名可以为 nas.abcd.com
,*
就代表所有的前缀,*.abcd.com
还需要准备的是AccessKey,阿里云的位置很好寻找,腾讯云的话可以在搜索栏搜索一下,切记生成后立刻保存好ID和密码
建议下载CSV文件保存好
我用的是腾讯云注册的 .love
域名。接下来步骤也都非常简单,咱们先部署Lucky
部署Lucky
先在文件管理器中创建一个主机挂载目录,这样就算删除、更新容器后配置也不会丢失
接着咱们打开Container Station,创建应用
代码如下
version: '3'
services:
lucky:
image: gdy666/lucky:latest
container_name: lucky
ports:
- "16601:16601"
volumes:
- /share/CACHEDEV2_DATA/Container/lucky:/goodluck
restart: always
network_mode: host
这个端口我就不做修改保持默认,反正以后不会冲突,如下图所示
也可ssh工具进入后台,直接输入Docker run命令安装,标红的可进行修改,参照上面docker compose
-p 16601:16601
-v /root/luckyconf:/goodluck
#挂载主机目录, 删除容器后配置不会丢失。可替换 /root/luckyconf 为主机目录, 配置文件为lucky.conf
docker run -d --name lucky --restart=always --net=host -p 16601:16601 -v /root/luckyconf:/goodluck gdy666/lucky
运行成功后,我们便可在web端输入 NAS_IP:16601
进行访问,默认账户密码:666/666
首次登陆先去设置中修改一下账户密码
一切顺利,下面我们开始进行动态域名解析
DDNS(动态域名解析)
左侧菜单,点击动态域名
,继续点击添加任务
任务名称随意,选择对应域名服务商,填写上文域名相关中提到的Token,选择咱们家里公网类型,域名列表填写示例: 第一行输入abcd.com
按下回车换行,继续输入 *.abcd.com
,保证一行一条域名。填写完毕后如下图所示,点击右下角的添加任务
像下图这样便是成功了
SSL证书
左侧菜单,点击安全管理
后,选择右上添加证书
让我们来看看该如何设置:
初始的界面可能会不一样,证书的添加方式选择
ACEM
即可域名颁发机构为Let's Encrypt,SSL证书有效期三个月,但是Lucky支持自动续签,我们无需理会
验证方式还有密钥以及域名列表同上文,填写方式相同
更多设置勾选
DNS查询强制IPv4
和DNS查询仅使用TCP通道
其它内容无需做额外改动,最终如下图所示,点击右下角添加
:
证书不会立刻申请下来,我们得等个十几秒或一分钟,就会看到已经成功更新:
申请日志:
接下来就是最后一步,反向代理!
反向代理
左侧菜单,点击Web服务
,再选择顶部的添加Web服务规则
,弹出下图窗口:
规则名称随便填
监听类型根据宽带情况选择,我这是IPv4
监听端口填个可用端口,国内
443
基本是关闭状态,否则就能纯域名访问设备,我改成了8881
我们要实现https访问,TLS是必须的,必须开启!
接下来要做的是点击上图中的添加Web服务子规则
如下图所示,会出新的子规则窗口:
名称依旧随意
服务类型默认为反向代理,无需修改
前端域名/地址:填写一个好记忆的二级域名,我用来访问NSA,就可以填写成
nas.abcd.com
;若是webdav,就可以填写webdav.abcd.com
;甚至lucky本身也做个反代,就可以填写lucky.abcd.com
后端地址即为NAS局域网地址 标准填写示例:
http://192.168.66.66:5000
BasicAuth认证就是通过域名访问进入服务前再加一道锁,保护服务安全,有需要的服务可以开启
检查一遍,没问题就点击右下角添加
还差最后一步,回到我们的路由器后台将监听端口转发一下,我之前设置成了8881
,把它转发出来!
部分补充
浏览器输入 nas.xxx.love:8881
,访问我的NAS,可以看到小🔒出现,目的达成
NAS的访问搞完,Lucky自身也顺路,只需要在原来的规则下添加第二个子规则即可
二级域名设置为 lucky.xxx.love
最后点击右下加修改
,因为是同一个监听端口,也不需要再次转发,直接输入域名+端口
就可成功访问
后面发现移动端输入域名:端口
,默认还是http
访问,必须手打 https://
,这就很麻烦,解决方法如下:
回到Lucky,左菜单点击Web服务
,添加一条全新的规则
规则名称自定
操作模式选择
定制模式
监听类型按照公网类型选择,监听端口跟上面设置的监听端口相同,我这里为
8881
TLS千万不要开启,因为要让
http
自动重新定向到https
点击上图的默认子规则
,会出来以下界面
服务类型选择
重定向
默认目标地址填写
https://{host}:{port}
最后点击右下角的修改
即可~
最后
在分享Nginx Proxy Manager之后,陆续有不少小伙伴推荐 神器Lucky ,尝试之后颇感震撼:确实集成很多常用功能,对于新用户来说也非常友好,原本要部署多个容器才能实现的功能,Lucky自己就能搞定。现在还支持网络存储模块,可以把阿里云盘等服务挂载到Lucky内部的WebDAV、FTP、FileBrowser和Web服务模块,点我查看。
本篇就先分享到这儿,最近抽空再把家庭影音折腾一下,欢迎大伙评论区留言交流讨论~
评论区