Total Pageviews

Sunday, 12 June 2022

NAS的3种功能


很早以前因为硬盘不够用,再加上用台式机共享电影不方便,看完片还得远程操作关下机,我就萌发了买NAS的念头。去年双十一京东搞白条活动,24期免息,价格虽然还是比海淘贵点,但也能接受,我就咬咬牙入了QNAP 453-Pro,外加两块4T红盘。

到现在已经用了快半年了,虽说最初的需求只是SMB共享影片,但后来发现NAS的用途远大于此,以至于现在我几乎要离不开它了。SMB就不多说了,我介绍一下我用的最多的3种功能:

1. BitTorrent Sync

BTSync是一款同步软件。一开始我用QNAP自己的QSync,发现其烂无比,经常不停的在扫描硬盘,有文件改动的时候反而没有反应。后来我在App Center里发现了这个BTSync,同步效果堪称完美,文件有改动时响应速度也很快,百万级以下文件数量完全没有问题(我现在的文件数量十万级都没到)。现在我在NAS、家里的台式机、笔记本电脑以及实验室里的电脑都装上BTSync。平时在实验室里的改动都会立刻同步到NAS上,回家开台式机后会立刻从NAS上同步过来,实在是居家旅行必备。

2. WebDAV

WebDAV是NAS自带的功能,可供远程主机访问NAS里的文件。其实这种功能FTP也可以做到,奈何iOS上的工具都不支持FTPS(FTP over SSL),只支持SFTP,但SFTP跟FTP其实是两种东西,NAS上开启SFTP也要求开启SSH,我不想平时都开着SSH,也不想让FTP在互联网上明文传输,所以只能放弃FTP。最后选用WebDAV是因为它既被iOS上的绝大多数应用支持,也能用HTTPS安全传输。如果说BTSync用于电脑与NAS之间的同步,WebDAV则是用于移动设备与NAS之间的同步。例如,我用GoodReader在iPad上看一篇论文,期间做了一些标记,之后我用GoodReader的同步功能与NAS进行同步,然后再在手机上同步一下,修改过的论文就传过来了,另一方面,电脑上存储的文件也会通过BTSync同步过来。

3. Container Station

Container Station是QNAP对Docker这样的容器技术的一个包装。最开始我用的是Virutalization Station,也就是虚拟机,但是NAS性能一般,虚拟机速度较慢,而且虚拟机的管理成本高众所周知。后来发现了Container Station之后我花了一番精力把虚拟机上的所有功能都转移到了Container Station上。现在容器上主要跑2个功能:nginx反向代理,以及squid HTTP代理。nginx反向代理是因为NAS上有些应用不支持HTTPS(比如transmission和BTSync的Web控制页面),我现在完全不能容忍HTTP明文传输,必须加密,所以就用nginx在外面套一层HTTPS。squid实际上是一个HTTP缓冲服务器,但我是拿它当代理来用,因为实验室网络太渣,但是连接我家里的网洛的速度还不错,所以我现在平时在实验室就用家里的HTTP代理服务器上网,还有一个好处,就是我路由器上刷的梅林固件自带了Shadowsocks,可以透明翻墙,所以用了squid就可以直接翻墙了。


为了能在控制台上直接看到squid的日志,我当初还费了一番精力。借助Docker的Volume功能,可以把配置文件放在BTSync的同步文件夹中,这样如果我在实验室想改squid的配置,只需在本地修改完配置文件,等一会儿BTSync就会把修改同步到NAS,最后在Container Station上重启一下容器就行。为了安全起见,我还做了两个版本的squid,一个是digest用户验证,一个是basic验证,后者只有在用一些不支持digest验证的软件时才会启动。

 

No comments:

Post a Comment