五分钟搞定威联通DNSPOD动态域名解析-简单教程+问题解决
新人值友一枚,第一次发贴,请大家多多支持!
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.
最后,祝大家一次成功。






Get Record Info Failed!
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
Get Record Info Failed!
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案