NAS折腾记 篇一:五分钟搞定威联通DNSPOD动态域名解析-简单教程+问题解决
小编注:此篇文章来自#原创新人#激励计划,新人发文前三篇文章,篇篇额外奖励50金币。参加超级新人计划活动,新人发文即可瓜分10万金币,周边好礼达标就有,邀新任务奖励无上限,点击查看活动详情
新人值友一枚,第一次发贴,请大家多多支持!
2020年双11,因为每天都会打开张大妈看看,经过太多值友PO文轮番轰炸,终于下手了一台威联通NAS。
从一开始完全搞不清状况的新人小白(存储池,卷,威联通的太多术证让人傻傻分不清),到现在基本上把自己的NAS折腾得七七八八了,在线影视,书库,下载,DOCKER应用,大家常用的NAS应用一个不少,这个时候突然发现,一直在用的威联通ddns,这域名实在是太长了啊!
想起之前在DNSPOD注册过一个域名,折腾了一下发现域名无法实时更新,威联通也没有像群晖一样内置提供DNSPOD的解析功能,为了一劳永逸,在查阅了多篇大佬的贴子和自己动手实践了之后,于是有了这篇贴子。
需要使用到的网站和工具:
1、DNSPOD
2、GITHUB 我们需要的ArDNSPod下载
3、FTP工具
4、PUTTY
5、文本编辑器(这个大家都有,不过建议用Sublime之类的专业代码编辑器,方便查找问题)
万事俱备,那么就开始动手吧。
一、利用DNSPod实现动态域名解析
首先,我们需要登陆dnspod控制台,创建一条A记录解析,IP值暂时随便填就行:
比如在这里,我们创建了一条A记录DNS,IP地址填成了127.0.0.1,之所以填本机IP是方便后面检查DNS更新状态,当然你想填什么都可以。
二、获得API TOKEN
然后,我们去到 dnspod 的管理界面, 创建API Token
记得,这个API TOKEN只会显示一次,最好自己找个地方存储一下,以后再想查看就没机会了,只能重新建。
记录下标红部分的ID和TOKEN,这个后面要用。
三、修改dns.conf完成基础设置
完成了以上两步,我们就要用到上面 下载的内容了。
下载解压缩后,打开dns.conf,可以看到如下内容
从上到下,一共是四块内容需要修改:
1、填写的是api id,就是我们从dnspod拿到的API TOKEN内容的ID部分
2、填写的是api token,就是我们dnspod拿到的API TOKEN内容的token部分
3、填写的是域名,就是我们在dnspod上申请的域名
4、填写的是子域名,可以是www,也可以是其它任意你想要的内容
四、上传ArDNSPod到NAS服务器
这一步比较简单了,要是你不会FTP。。。那,我也没办法了。
我是上传到这个目录的,记录一下目录的地址,后面可能会用到。
五、修改crontab
因为没找到威联通的定时任务在哪里,就直接修改了crontab文件,同样使用ftp就可以完成,当然,必须是sftp模式。
通常这个crontab文件应该在/mnt/HDA_ROOT/.config/,我也不知道会不会有例外,反正我的文件就在这。
打开crontab,在最下方输入
*/10 * * * * /share/CACHEDEV1_DATA/ArDNSPod/ddnspod.sh
这个意思是每10分钟检查一次dns更新情况。保存退出。
后面我需要重启crontab进程,可以再次进入putty,然后通过命令 crontab /etc/config/crontab && /etc/init.d/crond.sh restart重启进程。
到这,DNSPOD的自动更新就完成了。不着急的值友,可以想干吗干吗,十分钟之后回去DNSPOD看看是否已经更新。
心急的值友可以直接在putty里,输入/share/CACHEDEV1_DATA/ArDNSPod/ddnspod.sh,检查DNS更新的情况,当然这一步也可以直接发现程序运行会不会有什么问题,不用等到十分钟之后才知道结果啦,我也就是这一步出现了问题。具体问题和解决,下面会说。
六、问题排除
碰到的第一个问题:没有权限
如果在输入/share/CACHEDEV1_DATA/ArDNSPod/ddnspod.sh后,出现以下情况。
# /share/CACHEDEV1_DATA/ArDNSPod/ddnspod.sh
-sh: /share/CACHEDEV1_DATA/ArDNSPod/ddnspod.sh: Permission denied
可以在PUTTY中,输入以下命令解决。
chmod +x /share/CACHEDEV1_DATA/ArDNSPod/ddnspod.sh
碰到的第二个问题:找不到文件
我在实际使用的时候,输入/share/CACHEDEV1_DATA/ArDNSPod/ddnspod.sh后,还出现以下情况
/share/CACHEDEV1_DATA/ArDNSPod/ddnspod.sh: line 283: dns.conf: No such file or directory
这时候就需要代码编辑器出马了,打开ddnspod.sh,找到出错行
. $DIR/dns.conf
发现可能是路径问题,不管三七二十一,直接给出绝对路径,把这一行代码改成:
/share/CACHEDEV1_DATA/ArDNSPod/dns.conf
问题解决。
再次输入/share/CACHEDEV1_DATA/ArDNSPod/ddnspod.sh运行,成功!
成功后的提示
[~] # /share/CACHEDEV1_DATA/ArDNSPod/ddnspod.sh
Type: A
OS: Linux
Address: 60.177.121.111
Updating Domain: xxx.civet.xxx
hostIP: 60.177.121.151
lastIP: 127.0.0.1
update to 60.177.121.111 successed.
最后,祝大家一次成功。

大佬,我的威联通TS-453Dmini,其他步骤都很顺利,为什么提示arDdnsCheck:command not found。我还需要额外安装什么程序才能执行arDdnsCheck这个命令吗?
因为ftp方式挺多,所以不知道哪个工具,已经弄好了
ftp?这个说什么呢,你是不知道传到哪还是什么
上传ArDNSPod到NAS服务器能细说以下吗?谢谢
我的NAS 24小时开。。。话说,我一直没想明白NAS不开的话买NAS干吗
动态域名和端口转发还是弄到路由器上比较好,NAS开不开都能随时回家。
ip v6好像张大妈专门有这个帖子的,你可以搜一下
向技术大咖致敬
我没发现这个问题,解决了就好啊
找到原因了,子域名不填就可以
我是自己用nodejs写的脚本更新的
按大佬指引,最后一步提示报错,请教什么原因
Get Record Info Failed!
没公网IP,ipv6抓弄
挺好的。我是用荒野无灯的ddns-updater来解决这个问题的,比较简单
大佬你好,看过你很多篇贴子,受益非浅
感谢解决了我的问题
献上我的膝盖