当前位置: 代码网 > it编程>前端脚本>Python > Python实现修改阿里云DNS域名解析

Python实现修改阿里云DNS域名解析

2024年11月12日 Python 我要评论
当公网ip是浮动的时候,用一个域名去实时解析,才不会那么糟糕,本文将介绍使用python修改阿里云dns域名解析。安装依赖pip3 install requestspip3 install aliyu

当公网ip是浮动的时候,用一个域名去实时解析,才不会那么糟糕,本文将介绍使用python修改阿里云dns域名解析。

安装依赖

pip3 install requests
pip3 install aliyun-python-sdk-core-v3
pip3 install aliyun-python-sdk-alidns==2.0.6

部署

git clone https://github.com/wangli2025/aliyundnsupdaterecord.git
cd aliyundnsupdaterecord
chmod +x main.py
sudo ln -s $(pwd)/main.py /usr/local/bin/aliyundnsupdaterecord

部署完成后,可以使用aliyundnsupdaterecord --help 查看帮助

$ aliyundnsupdaterecord --help
usage: aliyundnsupdaterecord [-h] [-c configpath] [-d domainname] [-r rr] [-t type] [-v value]
​
阿里云修改域名解析命令行工具
​
options:
  -h, --help            show this help message and exit
  -c configpath, --configpath configpath
                        配置文件
  -d domainname, --domainname domainname
                        域名
  -r rr, --rr rr        主机
  -t type, --type type  解析类型
  -v value, --value value
                        解析值
$ 

使用

配置秘钥

使用配置文件

cat .alidns.json
{
    "alidns_accesskey_id": "阿里云id",
    "alidns_access_key_secret": "阿里云key",
    "alidns_region_id": "区域"
}

使用环境变量

export alidns_accesskey_id=阿里云id
export alidns_access_key_secret=阿里云key
export alidns_region_id=区域

秘钥读取顺序为:配置文件 --> 环境变量。若读取到配置文件的内容了,则不会再获取环境变量配置。

脚本执行

配置秘钥后,使用如下命令即可更新解析。

$ aliyundnsupdaterecord -d example.com -r www -t a -v 127.0.0.10

如果使用的是配置文件方式,且文件路径不是执行命令所在的./.alidns.json,则需要单独使用-c 单独指定。

$ cat c.json 
{
    "alidns_accesskey_id": "阿里云id",
    "alidns_access_key_secret": "阿里云key",
    "alidns_region_id": "区域"
}
$ 
$ aliyundnsupdaterecord -c c.json -d example.com -r www -t a -v 127.0.0.10

如果正确修改,会输入如下内容:

解析修改成功 example.com www 127.0.0.10

如果想将域名解析修改为本机所在的公网地址,则不用添加-v 即可。

$ aliyundnsupdaterecord -d example.com -r www -t a

如上默认会获取本机所在的公网地址,并且修改example.comwww主机上的a记录值。

报错信息

秘钥配置出错

error:root:获取[域名]域名解析失败: http status: 404 error:invalidaccesskeyid.notfound specified access key is not found. 

请检查秘钥配置是否正确。

找不到域名

error:root:获取[域名]域名解析失败: http status: 400 error:invaliddomainname.noexist the specified domain name does not exist. refresh the page and try again.

请检查域名配置是否正确。

ram权限配置出错

error:root:获取[域名]域名解析失败: http status: 403 error:forbidden.ram user not authorized to operate on the specified resource, or this api doesn't support ram. 

请检查ram权限配置是否正确,如果没有配置更加细化的自定义策略,则应该添加 aliyundnsfullaccess 系统策略。

解析记录为找到

未找到该域名解析记录,请检查是否被添加,[域名信息]

未找到解析记录,请检查是否已经被添加了。

以上就是python实现修改阿里云dns域名解析的详细内容,更多关于python修改阿里云dns域名解析的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com