1000Mbs NAS搭建指南
最近一直想把闲置的2TB移动硬盘用起来,用来搭建一个NAS,其实方案很简单,之间升级台式机剩余一个256G的固态硬盘,买了二手的主机,配置是i3 10105 + 七彩虹 H510I-Gaming的ITX主板,所以非常mini,电源也是ITX专用电源200W足够用了,另外买了24GB的内存。安装了 CentOS7.5 的版本,先挂载硬盘,再开启SMB服务即可,如果SMB服务存在问题也可以安装Webdav服务,其实相对来说Webdav更通用。
其次主要解决的是外网访问的问题,首先想到的是frp,但是无论是自建frp还是直接用一些商用的frp,成本都还是比较高的,而且存在带宽/流量限制,下面列举几个常用的frp服务提供商:
但是对于NAS这样的使用场景,异地组网方案就够用了,直接P2P传输,如果P2P不成功的话会走中转服务器进行中转,速度取决于双端机器的带宽上限,这里推荐 zerotier
关于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是比较经济且实用的选择!