侧边栏壁纸
博主头像
是羊刀仙啊博主等级

闲不下来!

  • 累计撰写 70 篇文章
  • 累计创建 30 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

一篇解决NAS外网安全访问!公网IP、端口转发、域名解析、反向代理、https全攻略!

羊刀仙
2024-04-17 / 0 评论 / 0 点赞 / 98 阅读 / 24922 字
温馨提示:
本文最后更新于 2024-04-17,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

大家好,我是羊刀仙儿。

年前新购了一台威联通TS-464C2,原本打算趁着过年在家给爹妈在家里搭建一套家庭影音库,无奈时间紧凑,只能在走之前先把外网访问相关的事情先搞定,方便我后续其它项目的搭建。

2bb6a20b461a5fa6013b8a1d7deb16a.jpg

目前我个人认为TS-464C2是威联通性价比最高的消费级机型,比464C也就贵了小几百,

TS-464C2相较于TS-464C有以下优势:
  • 从板载内存升级为双通道可扩内存,再无内存焦虑;

  • 全覆盖SSD散热片,不用单独买散热甲;

  • 每个硬盘槽都新增了硬盘锁,家里小孩子比较多的朋友可能对这东西的作用深有体会。

丢几张图:

c02bc093b25ddb3c4c077a4cf9ff11e.jpg

未标题-1-qcal.jpg

b8fbcbf24f4771a2fe1224c2a5cad45.jpg

配件一览

c13ed81d7d086ac074a15ee64c3c1cc.jpg

未标题-1-2.jpg

可能有朋友会说,既然给爹妈搭建影音库,那极空间岂不是更好更易用?

确实有考虑过,也被一些群友种草,但长时间观察下来,我觉得极空间也就仅仅适合娱乐;频频出现的死亡漏洞先不提,别家品牌包括同样是后起新秀的绿联在内,ssh root权限起码都开放,但到极空间这边却封掉,NAS不应该做成闭环产品/生态,感觉极空间会走上不同的道路,不太想去赌。

再考虑到系统功能完善程度,企业级技术背书,老牌群晖和威联通即便在企业场景下都能轻松保障所有数据安全,家用场景那更不用说,各种功能都应有尽有;并且我个人从Dmini用到564,对威联通也基本熟悉个大概,最终做出了上面的选择。

好了,唠了不少,咱们进入正题。

那么该如何实现外网访问家中的NAS设备?首先需要开通公网IP;将光猫设置为桥接,通过主路由进行拨号;在主路由中将NAS的5000映射好。

公网IP

俩老大家里宽带的公网IP获取出乎意料简单。跟师傅说需要装远程摄像头,没想到师傅当即把光猫超级密码发给我爹,隔天上门帮忙把光猫改了桥接,并且嘱咐说不要偷摸搞上传类业务~

用笔记本查询的IP和主路由的WAN IP一致,公网无疑~

image-olzl.png

本文以华硕路由器演示,我的这款刷成梅林改,路由器的拨号位置如下图所示,有同款的朋友其它选项可以参照我这里的或保持默认。

image-2-ddxo.png

一般联通和电信都能免费申请到,如果不行的话,可以试试公网ipv6,如果这还是不行,那就只能使用内网穿透软件或使用myqnapcloudlink服务(smarturl),绿联、群晖、极空间等也有类似功能。

端口转发

非常简单,如下图所示,点击添加配置文件

image-3-pexf.png

需要填写的东西也不多,请看图,本机IP地址选择要转发的设备即可

image-4-zfjc.png

如下图所示,5000端口已经映射好

image-5-uofb.png

此时就可以在web输入 公网IP:5000 就可访问到NAS,但是网址那里飘着一个大大的不安全,这当然不行!不过这不是本文最终目的,只是先做下演示,咱们继续操作!

image-6-jlmn.png

顺路提一下,虽然威联通myqnapcloud配置DDNS后,用qnap域名+端口号,再申请个免费的SSL证书也能实现https访问,但从国内目前的大环境来说,不建议过度依赖威联通提供的域名。

image-7-eycr.png

image-8-regl.png

域名相关

目前国内主流的域名注册购买平台是阿里云腾讯云,新用户第一年一块钱可以注册一个,不过实名认证是必须的;如果大伙有办法,可以搜索Namesilo,它是国外最大的 ICANN 认证域名提供商之一,以物美价廉的优势积累了不错的口碑;费用方面,其域名注册费用相较国内来说便宜不少~

购买完域名后,首先要做的是解析工作,如下图,对应IP填写咱们的公网IP(动态公网IP无需在这里解析,往下看就得

image-9-nxol.png

这里解释一下@代表主域名,代表我们可以解析二级域名,例如注册域名为abcd.com,我们给NAS配置的二级域名可以为 nas.abcd.com*就代表所有的前缀,*.abcd.com

还需要准备的是AccessKey,阿里云的位置很好寻找,腾讯云的话可以在搜索栏搜索一下,切记生成后立刻保存好ID和密码

image-10-fkyf.png

 

image-11-ctdx.png

建议下载CSV文件保存好

image-12-jxlh.pngimage-13-jhoe.png

我用的是腾讯云注册的 .love 域名。接下来步骤也都非常简单,咱们先部署Lucky

部署Lucky

image-14-jual.png

先在文件管理器中创建一个主机挂载目录,这样就算删除、更新容器后配置也不会丢失

image-15-sgvl.png

接着咱们打开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

这个端口我就不做修改保持默认,反正以后不会冲突,如下图所示

image-16-drov.png

也可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

image-17-wpuy.png

首次登陆先去设置中修改一下账户密码

image-18-rgoo.png

一切顺利,下面我们开始进行动态域名解析

DDNS(动态域名解析)

左侧菜单,点击动态域名,继续点击添加任务

image-19-zzkp.png

任务名称随意,选择对应域名服务商,填写上文域名相关中提到的Token,选择咱们家里公网类型,域名列表填写示例: 第一行输入abcd.com 按下回车换行,继续输入 *.abcd.com,保证一行一条域名。填写完毕后如下图所示,点击右下角的添加任务

image-20-uwco.png

像下图这样便是成功了

image-21-wmgm.png

SSL证书

左侧菜单,点击安全管理后,选择右上添加证书

image-22-hbry.png

让我们来看看该如何设置:

  • 初始的界面可能会不一样,证书的添加方式选择ACEM即可

  • 域名颁发机构为Let's Encrypt,SSL证书有效期三个月,但是Lucky支持自动续签,我们无需理会

  • 验证方式还有密钥以及域名列表同上文,填写方式相同

  • 更多设置勾选DNS查询强制IPv4DNS查询仅使用TCP通道

其它内容无需做额外改动,最终如下图所示,点击右下角添加

image-23-prvw.png

证书不会立刻申请下来,我们得等个十几秒或一分钟,就会看到已经成功更新:

image-24-tfgw.png

申请日志:

image-25-yfpk.png

接下来就是最后一步,反向代理!

反向代理

左侧菜单,点击Web服务,再选择顶部的添加Web服务规则,弹出下图窗口:

image-26-pfwc.png

  • 规则名称随便填

  • 监听类型根据宽带情况选择,我这是IPv4

  • 监听端口填个可用端口,国内443基本是关闭状态,否则就能纯域名访问设备,我改成了8881

  • 我们要实现https访问,TLS是必须的,必须开启!

接下来要做的是点击上图中的添加Web服务子规则

如下图所示,会出新的子规则窗口:

image-27-bpvu.png

  • 名称依旧随意

  • 服务类型默认为反向代理,无需修改

  • 前端域名/地址:填写一个好记忆的二级域名,我用来访问NSA,就可以填写成 nas.abcd.com;若是webdav,就可以填写 webdav.abcd.com;甚至lucky本身也做个反代,就可以填写 lucky.abcd.com

  • 后端地址即为NAS局域网地址 标准填写示例:http://192.168.66.66:5000

  • BasicAuth认证就是通过域名访问进入服务前再加一道锁,保护服务安全,有需要的服务可以开启

检查一遍,没问题就点击右下角添加

还差最后一步,回到我们的路由器后台将监听端口转发一下,我之前设置成了8881,把它转发出来!image-28-vnft.png

部分补充

浏览器输入 nas.xxx.love:8881,访问我的NAS,可以看到小🔒出现,目的达成

image-29-ljcp.png

NAS的访问搞完,Lucky自身也顺路,只需要在原来的规则下添加第二个子规则即可

image-30-sjqt.png

二级域名设置为 lucky.xxx.love

image-31-cjmj.png

最后点击右下加修改,因为是同一个监听端口,也不需要再次转发,直接输入域名+端口就可成功访问

image-32-upyg.png

后面发现移动端输入域名:端口,默认还是http访问,必须手打 https://,这就很麻烦,解决方法如下:
回到Lucky,左菜单点击Web服务,添加一条全新的规则

884390723.png

1293224067.png

  • 规则名称自定

  • 操作模式选择定制模式

  • 监听类型按照公网类型选择,监听端口跟上面设置的监听端口相同,我这里为8881

  • TLS千万不要开启,因为要让http自动重新定向到https
    点击上图的默认子规则,会出来以下界面

1699886037.png

  • 服务类型选择重定向

  • 默认目标地址填写 https://{host}:{port}

最后点击右下角的修改即可~

2809292322.png

最后

在分享Nginx Proxy Manager之后,陆续有不少小伙伴推荐 神器Lucky ,尝试之后颇感震撼:确实集成很多常用功能,对于新用户来说也非常友好,原本要部署多个容器才能实现的功能,Lucky自己就能搞定。现在还支持网络存储模块,可以把阿里云盘等服务挂载到Lucky内部的WebDAV、FTP、FileBrowser和Web服务模块,点我查看

本篇就先分享到这儿,最近抽空再把家庭影音折腾一下,欢迎大伙评论区留言交流讨论~

0

评论区