当公网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.com
的www
主机上的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域名解析的资料请关注代码网其它相关文章!
发表评论