前言
该脚本的代码大部分是参考自阿里云的官方帮助文档。
1, 脚本语言使用的是python, 我个人只是了解python,没有太深入的知识功底
2, 脚本代码我会尽量详细地添加注释说明,有问题欢迎留言交流,但回复可能不会那么及时。
前置条件
1、域名是在阿里云购买的 (我的域名本身就是阿里云买的,其他的域名我没有测试过)
2、地址必须是公网地址,不然加了解析也没有用 (这个不用多加解释了)
安装阿里云SDK
需要安装三个SDK库,一个是阿里云核心SDK库,一个是阿里云域名SDK库,一个是DNS库
阿里云核心SDK库:pip install aliyun-python-sdk-core
阿里云域名SDK库:pip install aliyun-python-sdk-domain
阿里云DNSSDK库:pip install aliyun-python-sdk-alidns
说明:
1, 目前官方文档上说的是需要安装前两个SDK库,但我实测确定还需要第三个库!
2, 如果你使用的是ubuntu系统,并且同时有python2/python3和pip2/pip3,安装时前面的命令请写清楚版本,特别是pip。 我的系统pip默认是2.x,使用pip install xxx 命令安装的库无效,使用 pip3 install xxx 才成功(如果知道如何随意切换python和pip版本,请留言告知,感谢)。
脚本的具体功能
1, 获取外网ip地址
2,获取域名解析记录
3,新增域名解析记录
3,更新域名解析记录
4,删除域名解析记录 (并不建议将该功能添加在实际脚本中)
5,批量操作,如果记录不存在则添加记录,存在则更新记录
可以将以上脚本保存为文件之后,通过定时任务,来实现定期自动更新ip地址,具体如何添加定时任务,系统不同,可能方法也不尽相同,这里就不多说明了。
说明
1,建议不要将删除记录添加进实际使用的脚本当中。
2,相同记录是同一个子域名的多条记录,比如 test.example.com。
脚本并没有验证记录类型,所以同一子域名下的不同类型的记录也会认为是相同记录,比如:
有两条记录分别是 test.examlpe.com 的 A 记录 和 test.examlpe.com 的 AAAA 记录,会被认为是两条相同的 test.example.com 记录
可以通过判断获取记录返回的 record_id 来实现精确匹配记录,但我没有这样的需求,也就没有花时间去写。
到此这篇关于如何通过阿里云实现动态域名解析DDNS的方法的文章就介绍到这了,更多相关阿里云动态域名解析DDNS内容请搜索渲大师以前的文章或继续浏览下面的相关文章希望大家以后多多支持渲大师!
本文地址:https://gpu.xuandashi.com/1828.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!