MENU

使用华为云DNS解析做DDNS

August 3, 2022 • 默认分类,Openwrt阅读设置

DNS解析免费的估计应该只有华为云可以白嫖的功能最多,他们这个服务是完全免费的,我是没看到收费选项。也就是说我们可以使用TTL值为1秒,因为TTL值越低,域名的DNS缓存越低,不过我貌似没有在Openwrt看到华为云的DDNS软件包,就直接用Python写了一个,直接使用的华为的SDK,直接上代码吧,软路由连接ssh之后安装Python和华为的Python SDK工具包就可以了,配合crontab直接调用就行

必要库

pip install huaweicloudsdkall

具体可以参考 https://github.com/huaweicloud/huaweicloud-sdk-python-v3/blob/master/README_CN.md#%E4%BA%91%E6%9C%8D%E5%8A%A1%E9%9B%86%E5%90%88%E5%8C%85

配置文件

变量名称示例描述
ak-Access Key Id
sk-Secret Access Key
domainhw.wcnmb.cnDNS解析域名
recordsetip解析记录

填写以上配置后 更新的DDNS域名为 ip.hw.wcnmb.cn
获取公网IP的方式为本地网卡,默认为pppoe-wan

运行

在openwrt安装Python3环境后,在计划任务添加

* * * * * python ddns.py >> /root/log/huaweicloud-ddns.log 2>&1

我的脚步放在了root目录下,也可以填写绝对路径 /root/ddns.py
表示每分钟提交一次更新,可根据需要减少频率,我在log文件注意到,一分钟一次貌似会被拒绝几次,不过会自动恢复,其实可以把IP记录在本地,检测到IP有变化的之后,在提交过去