Python實(shí)現(xiàn)修改阿里云DNS域名解析
當(dāng)公網(wǎng)IP是浮動的時候,用一個域名去實(shí)時解析,才不會那么糟糕,本文將介紹使用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 主機(jī)
-t TYPE, --Type TYPE 解析類型
-v VALUE, --Value VALUE
解析值
$
使用
配置秘鑰
使用配置文件
cat .alidns.json
{
"AliDNS_AccessKey_ID": "阿里云ID",
"AliDNS_Access_Key_Secret": "阿里云key",
"AliDNS_region_id": "區(qū)域"
}
使用環(huán)境變量
export AliDNS_AccessKey_ID=阿里云ID export AliDNS_Access_Key_Secret=阿里云key export AliDNS_region_id=區(qū)域
秘鑰讀取順序?yàn)椋号渲梦募?--> 環(huán)境變量。若讀取到配置文件的內(nèi)容了,則不會再獲取環(huán)境變量配置。
腳本執(zhí)行
配置秘鑰后,使用如下命令即可更新解析。
$ aliyunDnsUpdateRecord -d example.com -r www -t A -v 127.0.0.10
如果使用的是配置文件方式,且文件路徑不是執(zhí)行命令所在的./.alidns.json,則需要單獨(dú)使用-c 單獨(dú)指定。
$ cat c.json
{
"AliDNS_AccessKey_ID": "阿里云ID",
"AliDNS_Access_Key_Secret": "阿里云key",
"AliDNS_region_id": "區(qū)域"
}
$
$ aliyunDnsUpdateRecord -c c.json -d example.com -r www -t A -v 127.0.0.10
如果正確修改,會輸入如下內(nèi)容:
解析修改成功 example.com www 127.0.0.10
如果想將域名解析修改為本機(jī)所在的公網(wǎng)地址,則不用添加-v 即可。
$ aliyunDnsUpdateRecord -d example.com -r www -t A
如上默認(rèn)會獲取本機(jī)所在的公網(wǎng)地址,并且修改example.com的www主機(jī)上的A記錄值。
報(bào)錯信息
秘鑰配置出錯
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權(quán)限配置出錯
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權(quán)限配置是否正確,如果沒有配置更加細(xì)化的自定義策略,則應(yīng)該添加 AliyunDNSFullAccess 系統(tǒng)策略。
解析記錄為找到
未找到該域名解析記錄,請檢查是否被添加,[域名信息]
未找到解析記錄,請檢查是否已經(jīng)被添加了。
以上就是Python實(shí)現(xiàn)修改阿里云DNS域名解析的詳細(xì)內(nèi)容,更多關(guān)于Python修改阿里云DNS域名解析的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Pycharm 如何連接遠(yuǎn)程服務(wù)器并debug調(diào)試
本文主要介紹了Pycharm 如何連接遠(yuǎn)程服務(wù)器并debug調(diào)試,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
基于python pygame實(shí)現(xiàn)的兔子吃月餅小游戲
pygame是用來開發(fā)游戲的一套基于SDL的模板,它可以是python創(chuàng)建完全界面化的游戲和多媒體程序,而且它基本上可以在任何系統(tǒng)上運(yùn)行,這篇文章主要給大家介紹了基于python pygame實(shí)現(xiàn)的兔子吃月餅小游戲的相關(guān)資料,需要的朋友可以參考下2021-09-09
Python使用PyMongo4.x操作MongoDB的教程分享
PyMongo是一個Python編程語言中用于連接和操作MongoDB數(shù)據(jù)庫的庫,它提供了豐富的功能和API,使開發(fā)者能夠在Python中輕松地進(jìn)行MongoDB的數(shù)據(jù)交互和管理,本文給大家總結(jié)了Python如何使用PyMongo4.x操作MongoDB,需要的朋友可以參考下2023-09-09
pycharm為項(xiàng)目選擇的python解釋器無效問題及解決
解決PyCharm中項(xiàng)目選擇的Python解釋器無效的問題,只需在運(yùn)行編輯配置中將Python解釋器路徑設(shè)置為項(xiàng)目所在目錄下的venv\Scripts\python.exe即可2026-03-03
Python自定義函數(shù)實(shí)現(xiàn)求兩個數(shù)最大公約數(shù)、最小公倍數(shù)示例
這篇文章主要介紹了Python自定義函數(shù)實(shí)現(xiàn)求兩個數(shù)最大公約數(shù)、最小公倍數(shù),結(jié)合實(shí)例形式分析了Python求解兩個數(shù)最大公約數(shù)與最小公倍數(shù)相關(guān)原理與算法實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-05-05
Python集成開發(fā)環(huán)境pycharm配置git的實(shí)現(xiàn)步驟
本文主要介紹了Python集成開發(fā)環(huán)境pycharm配置git的實(shí)現(xiàn)步驟,文中通過圖文的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05
python實(shí)現(xiàn)搜索本地文件信息寫入文件的方法
這篇文章主要介紹了python實(shí)現(xiàn)搜索本地文件信息寫入文件的方法,涉及Python針對文件的遍歷及屬性操作相關(guān)技巧,需要的朋友可以參考下2016-02-02

