1000Mbs NAS搭建指南

最近一直想把闲置的2TB移动硬盘用起来,用来搭建一个NAS,其实方案很简单,之间升级台式机剩余一个256G的固态硬盘,买了二手的主机,配置是i3 10105 + 七彩虹 H510I-Gaming的ITX主板,所以非常mini,电源也是ITX专用电源200W足够用了,另外买了24GB的内存。安装了 CentOS7.5 的版本,先挂载硬盘,再开启SMB服务即可,如果SMB服务存在问题也可以安装Webdav服务,其实相对来说Webdav更通用。

其次主要解决的是外网访问的问题,首先想到的是frp,但是无论是自建frp还是直接用一些商用的frp,成本都还是比较高的,而且存在带宽/流量限制,下面列举几个常用的frp服务提供商:

http://www.natapp.cc/

https://hsk.oray.com/

但是对于NAS这样的使用场景,异地组网方案就够用了,直接P2P传输,如果P2P不成功的话会走中转服务器进行中转,速度取决于双端机器的带宽上限,这里推荐 zerotier

https://my.zerotier.com/

关于zerotier的原理可以参考(UDP打洞):

https://www.cnblogs.com/xiugeng/p/12029388.html

根据UDP打洞的方式,我们知道需要一个集中服务器来进行P2P连接,zerotier的集中服务器都在国外,我们可以自己搭建集中服务器。

1、安装zerotier

1curl -s https://install.zerotier.com | sudo bash

2、安装后验证是否安装成功

1zerotier-cli

3、先把vps加入zerotier网络

1zerotier-cli join b15644972ed77bc5

4、 生成的文件如下,只需要修改stableEndpoints,格式为"vps的公网IP/端口号",如果vps有v6地址也可以一起写上,这里至写了一个v4地址。

1cd /var/lib/zerotier-one
2
3zerotier-idtool initmoon identity.public > moon.json
4
5vim moon.json
6
7zerotier-idtool genmoon moon.json
8
9zerotier-cli inf

1"stableEndpoints": ["xx.xx.xx.xx/9993","xxx:xxxx:xxxx::xxx/9993"]

这一步做完还需要修改防火墙,打开9993端口。

查看 moon 节点ID:

其他客户端加入也很简单:

1zerotier-cli orbit id id

要输入两次!显示200 orbit OK说明加入成功

zerotier:

优点:一旦组网,里面的设备可以相互连接任意端口,不需要每次修改配置文件。在NAT类型允许的情况下,可以直连速度快。自己用不需要备案,安全性也高。

缺点:使用UDP互联,一些运营商会对UDP进行限速或者其他限制操作,连接没那么稳定。NAT类型是Fullcone的宽带不是很多。

frp:

优点:可以使用tcp,udp,kcp等协议进行连接,连接稳定。直接将本地端口映射到服务器的某个端口上,可以通过这个网站给别人分享链接。

缺点:如果要远程访问NAS的某些其他端口,需要修改frpc配置文件并且重启服务,比较麻烦。国内的服务器使用http服务需要备案,否则请求会被拦截。

在NAS这种使用场景下,使用zerotier是比较经济且实用的选择!