UNRAID下基于dnspod实现免费DDNS服务

UNRAID下基于dnspod实现免费DDNS服务

目标环境:unraid

玩nas的都知道,ddns是必不可少的服务,让你能在互联网访问家里服务器的所有服务。

之前用的是一个免费的ddns,但是一个月要手动激活确认一次,觉得很麻烦。其次测试发现ip的同步时效有问题,时间久了就导致服务地址不可用(中间做了proxy,目前还没有最终确认是nginx的问题,还是这个ip失效的问题,待换了此新方案后确认)。

补充:这问题应该是nginx的proxy_pass的dns缓存问题。

简单的搜了下,目前有宝塔,群晖等方案,但考虑到方案的通用性,还是决定直接用原生cron的方案,而实际操作下来,也非常方便。

dnspod 域名设置

  1. 创建或者导入已有的域名,添加子域名,设置默认的地址,比如127.0.0.1
  2. 注意ipv4 和ipv6的设置差别。 一个是A类型,一个是AAAA类型。

dnspod 获取token

  1. 登陆dnspod, 我的账号 - api秘钥 - DSPod Token。
  2. 根据要求填写,然后生成id和token,自己保存起来。

软件包使用

dnspod目前支持的工具包地址: https://github.com/rehiy/dnspod-shell

1. 编辑ddnspod.sh,分别修改/your_real_path/ardnspod、arToken和arDdnsCheck为真实信息
2. 运行ddnspod.sh,开启循环更新任务;建议将此脚本支持添加到计划任务;

unraid定时运行

crontab -e

在末尾添加:

# Run minute cron jobs at every minutes after the hour:
* * * * * /xxx/dnspod-shell/ddnspod.sh 1> /dev/null

路径改成自己实际的。

刷新域名

如果发现127.0.0.1变成实际的ip了,说明脚本和定时任务生效了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注