起因

前段时间把手机里的照片及视频备份到阿里云盘上,某一天想看一个视频的时候发先被阿里云屏蔽了(参考百度盘),恰逢春节,就索性在家里放一个NAS,这样不光我还有家里的人都能一起用了。

硬件

  1. 群晖 D923+
  2. 希捷 ST8000NM017B 8TB x4 (用SHR-2,2块存储,2块冗余,问就是数据无价
  3. 希捷 酷鱼 510 PICE 4.0 1TB x1
  4. APC 施耐德 BK650M2-CH UPS

接线上电啥的就不展示了。。放一张装好以后的图

d041b2d79484e77f11574cc2c0fe3e4e

公网

这里重点说一下我采用的公网访问方式,由于运营商实在是操蛋,这不想打电话去折腾,加上我本人还是Cloudflare的忠实用户,这里刚好可以借助 Cloudflare Zero Trust Tunnel 来实现公网访问,这样有几个好处:

  1. 可以接入Cloudflare,安全防护以及日志啥的都能看到
  2. 不用和运营商扯淡,没有暴露自己公网IP的风险

当然对应的,访问速度上,肯定没有公网快,不过对于大文件的同步,可以在路由器上将自己nas的域名指到nas的内网IP,这样你和群晖同网络环境下就可以直接走内网访问了。

Cloudflare Zero Trust Tunnel

要将群晖接入Cloudflare,需要装一个类似于agent一样的东西,好在官方提供了docker compose的安装方式,往上有很多教程,这里就不阐述,

image-20240210172858915

装好以后我们在Zero Trust Tunnel里就能看到你创建的Tunnel。

image-20240210172707271

查看详情里面的Public Hostname,这就是Cloudflare把发送给Public Hostname的请求通过Tunnel转发给你NAS的内网端口,还能白嫖HTTPS证书

image-20240210173042181

这种方法在手机应用也是可以使用的,但是有一定的局限(后文会提到)。

安全顾虑

虽然没有暴露公网IP,但是直接将DSM开放也是一件很奇怪的事情,compromise DSM 的风险很大,所以我们不能统一完成DSM认证之后来访问应用,比如通过DSM访问Photo,通过DSM访问Drive。

通过控制面板->登录门户,我们可以单独给不同的应用以及DSM Portal设置端口,结合上文提到的Public Hostname,给不同的应用分配Host Name,在根实际情况(e.g, 权限,手机应用)来判断是否需要借助Cloudflare来做进一步认证。

image-20240210174259334

比如我接住群晖自带的功能,给管理员账号设置了2FA,以及BanIP等防护策略之后总觉得不放心,又借助Cloudflare Access添加了DSM Portal的Public Hostname,这样子访问DSM Portoal之前就需要通过Cloudflare认证,才会进入到NAS的认证流程。

image-20240210174911850

因为手机应用并不支持Cloudflare认证,所以上一步将应用分开也很方便我们在手机上使用诸如Synology Drive, Synology Photo以及各种应用包括docker。

备份

众所周知 [3 - 2 -1] 备份原则:

  • 存储 3 份完整文件,一份原件加上两份拷贝。
  • 将文件起码保持在两种不同的介质上。
  • 将一份拷贝保存在异地。

由于能力有限没有办法完全做到,这也是为什么选择SHR-2的原因(SHR-2允许2块硬盘冗余),在4盘位的923+里,能够完全覆盖两块存储盘。

同时要使用Synology Hyper Backup来创建快照,上传到阿里云盘(阿里云盘很大空间不用浪费了,加密备份也能一定程度避免网盘提供商的流氓行为)。

Hyper Backup 和 Alist

Hyper Backup和Cloud Sync的区别有很多很好的文章,但前者不支持国内的网盘,所以我们需要通过曲线救国的方式通过alist将阿里云盘转换为webdav,Hyper Backup通过webdav上传到阿里云盘。

alist挂阿里云盘的教程这里不赘述,需要注意的是alist中webdav策略需要选择本地代理,否则Hyper Backup会出现权限问题。

要注意的是Hyper Backup的选择非常丰富,具体到决定某一特定扩展名是否备份,可以自己多多研究。

设置完成以后就能看到在指定时间执行的任务

image-20240210181308543

以及可以还原的快照节点

image-20240210181414706

家庭影院

群晖上的家庭影院方案有很多,比如Plex、Emby、Jellyfin ,我主要看重一下几点:

  1. 影音软件本身是否易用
  2. 刮削是否费劲
  3. 是否支持电视及手机,电脑应用 (e,g.硬件加速)
  4. 支持第三方插件

加上我需要很严格访问控制(想给硬盘里的大姐姐找个家),最终选择购买了Emby,并借助内置的刮削配置来刮削正常电影,借助metatube来完成对大姐姐的刮削。

Emby

Emby的安装没有什么值得说的,用官网下载Synology套件,在套件中心直接安装即可。

image-20240210183414686

刮削

正常电影的刮削,你需要注意如果没有代理,由于DNS污染会导致TMDB刮不到元数据,需要通过一些方式(懂得都懂)来解决。

对于大姐姐的刮削,这里使用了metatube,可以参考文档来进行安装部署。

最终可以实现如下的效果

正常电影

image-20240210183941819

image-20240210184023634

大姐姐

image-20240210184155324

详情页面就不放了。。总之很详细就是。

总结

群晖还有非常非常多的功能,通过Tunnel可以当作一个小的服务器来用,以后想到在慢慢更新吧。