开发工具 · Tool

群辉Nas的阿里云DDNS动态解析客户端

小编 · 11月28日 · 2019年

上个月月底,快盘停止服务了,有人说是因为它自己早就想关闭了,趁着这个审查的机会就彻底关掉。不过管它是什么理由,反正我倒是挺麻烦了,用习惯了之后不能在办公室将自己的东西方便的同步回来倒是很揪心啊,总不至于用U盘拷来拷去吧?那方法也太土了,根本不是现代人的解决方案好吧?

本着愿意折腾的心,曾经想过购买阿里云的对象存储去做一个自己的私有云服务,后来看了下价格,也挺贵。想到家里有一个群辉Nas,从来都只是自己存点东西,一直没挂到公网上同步过,于是就开始尝试折腾一下,试试能不能在外网访问。于是有了本文。

本文仅介绍如何将Nas挂到公网上。而不详细讲解同步套件的使用,套件使用可详询Nas生产商。

前提1:我们大家自己用的宽带都是动态IP,重启路由器就会更换一个IP,因此直接在外网用IP访问存储器肯定是不行的。于是想到群辉自己有免费的Quickconnect可以使用。但是人家服务器在台湾,连接速度当然很慢了,要是做同步的话势必有些不方便。因此需要使用动态DNS解析(DDNS),我自己刚好有一个域名,因此能用panda-studio.cn这个域名解析到存储器的IP就非常方便了。因此本文的前提之一是你自己有一个阿里云购买的域名(其他公司买的域名是否能在NAS实现DDNS我还真不知道)

前提2:大部分人的网络都是在区域网里面的,而不是真正的公网。所以你的路由器获取到的IP和你电脑去访问的IP有可能是两个。这个问题可以这样落实:a、打开你的路由器配置页面查看路由器IP(我的是100开头的);b、用电脑搜索“我的IP”,在IP查询网页上看到电脑获取的IP(我的是106开头的)。如果这两个IP不同,则说明你不在公网上。此时你需要打电话找运营商投诉,要求“把我的IP由内网转公网”。运营商的维修人员在机房设置后即可。

原理:由于路由器的IP每次重启都会变,因此只能让存储器每过一段时间,自动去获取自己的外网IP,并和阿里云的解析进行对比。如果不同,就修改这个DNS解析(阿里云提供了API)。从而实现动态解析。

其实并不复杂,不需要自己去写程序调用API。已经有很多人已经实现这个功能了,我这里介绍一个别人写好的Python程序,让它在Nas上运行就可以了。点这里下载(Github原地址在这里

1、将下载的内容解压到群辉NAS的共享文件夹里面,如“\Document\ddns”

2、将“ddns.conf.example”修改为“ddns.conf”

3、用代码编辑器打开“ddns.conf”(我猜文本编辑器也是可以的吧,我用的是Sublime Text)

要自动修改DNS需要创建阿里云的Access Key,地址在这里

access_id:填写从阿里云创建的Access Key ID

access_key:填写阿里云的Access Key Secret

其他的设置按照下面的截图填写:

群辉Nas的阿里云DDNS动态解析客户端-字节智造

4、打开“ddns.py”,第25行有“/etc/ddns.conf”,把它修改为你解压的地址。如果你的Nas只有一个分区并且是放在Document文件夹下的话,这一行大致应该修改为(注意引号应该是半角的):
CONF_FILE = “/volume1/Document/ddns/ddns.conf”

5、这个py文件是Python文件,要在你的Nas上运行需要进入Nas的“套件中心”,安装Python套件才能运行(把 Python Module 和 Python3 都装上)。

5.5、在阿里云上面新增一个A类型的解析,主机记录写第三步里面写的storage,记录值的IP任意写,例如192.168.0.1,反正后面会自动修改的,先保存。

6、打开Nas的“控制面板”,进入“计划任务”,新增/计划任务/用户自定义脚本。名称自定,在“计划任务”标签的“用户定义的脚本”处填写第4步的地址。此处为:
/volume1/Document/ddns/ddns.py(截图写错了,不是conf,应该是py)

群辉Nas的阿里云DDNS动态解析客户端-字节智造

7、保存后运行一次。你的阿里云DNS就自动修改了(如果没有自动修改的话,那尝试运行一次config.py,然后再运行一次ddns.py)。由于你路由器的IP是动态的(每次重启路由都会换IP),因此需要不断的去运行这个文件来实时修改。为了不用每次都去手动运行它,你可以给它设置计划,例如每5分钟运行一次ddns.py就可以了。

8、在Nas“控制面板”中选择“外部访问/路由器设置”,设置路由器,这个过程很简单就不说了。然后是新增端口转发/内置应用,将你需要在外网访问的端口都加上去(记得添加 Cloud Station 的端口哦,加了才能用客户端同步)。然后保存。

9、我的苹果Airport按照第八步设置后似乎没什么用,还需要在路由器里面也设置一次端口转发。(根据不同路由器设置方法不一样,此处参看你的说明书。)苹果Airport设置如下:

a、打开Airport实用工具,在网络/DHCP保留地址给你的Nas设置路由器分配的固定IP。
b、在端口设置处将第8步用到的端口都加进去,如下图所示:

群辉Nas的阿里云DDNS动态解析客户端-字节智造

更新到Airport后你已经可以通过“http://storage.XXXX.com:5000”访问存储器了。

10、在Nas的套件中心安装 Cloud Station Server 服务器端套件,在你其他需要同步的电脑上安装Cloud Station客户端,地址处填写:storage.XXXX.com就行了(不需要端口号)。具体介绍和使用方法请参考群辉Nas关于Cloud Station的相关说明

使用本文的方法动态的将你自己的域名解析到你的群辉Nas存储器来实现同步,比使用群辉免费的QuickConnect同步速度快了10倍以上(有人说没有10倍,那无非是你办公室上传网速太Low……),至少在我这里我做过对比,用QuickConnect传输3M的文件需要半分钟,而用了这个办法之后我从办公室传3M文件回来的速度是1M/s。

这样,即使不使用任何的公有云也可以同步了。实现了数据真正掌握在自己手中。

P.S.  转发必须注明本文出处

0 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!