DNS解析免费的估计应该只有华为云可以白嫖的功能最多,他们这个服务是完全免费的,我是没看到收费选项。也就是说我们可以使用TTL值为1秒,因为TTL值越低,域名的DNS缓存越低,不过我貌似没有在Openwrt看到华为云的DDNS软件包,就直接用Python写了一个,直接使用的华为的SDK,直接上代码吧,软路由连接ssh之后安装Python和华为的Python SDK工具包就可以了,配合crontab直接调用就行
必要库
pip install huaweicloudsdkall
配置文件
变量名称 | 示例 | 描述 |
---|---|---|
ak | - | Access Key Id |
sk | - | Secret Access Key |
domain | hw.wcnmb.cn | DNS解析域名 |
recordset | ip | 解析记录 |
填写以上配置后 更新的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有变化的之后,在提交过去