本教程僅適用於解析託管在DNSPod平台上的域名,其他平台託管的域名請自行通過搜尋引擎查找教程。

本教程前兩個步驟通用,通過第三方插件或NAS&路由器自帶插件設置可參考前兩步獲取Token&添加記錄。

2022年2月15日:補充群暉設置教程

獲取DNSPod Token

1、打開並登錄控制台-API密鑰

注意這裏一定要選擇”DNSPod Token”而非”騰訊雲API密鑰”。

2、點擊創建密鑰,這裏可能會進行安全驗證,按照提示驗證即可。
安全驗證
3、設置密鑰名稱,這裏根據需要隨便填就好。
設置名稱
4、記錄密鑰ID及Token

注意:Token僅在創建時展示一次,忘記的話請重新創建
完成創建密鑰
如果用於DDNS請不要設置IP白名單

添加解析記錄

1、打開並登錄解析控制台
解析控制台
2、找到對應的域名點擊管理,這裏以oed.im為例
設置解析
3、設置解析記錄
點擊添加記錄填寫對應訊息後點擊保存完成添加。

主機記錄:若直接解析主域名,請填@,若解析子域名,請填對應的值例如www。
記錄值:隨便填一個IPv4,例如127.0.0.1(若使用IPv6,請隨便填一個IPv6地址,例如fe80::0)
記錄類型:默認為A即可(若使用IPv6請選擇AAAA記錄)
線路類型:無特殊需求默認即可
權重:默認不用填
TTL:無特殊需要默認即可
添加解析記錄

設置DDNS

通過騰訊雲DDNS插件設置(OpenWrt)

1、登錄OpenWrt,找到系統(System)→軟件包(Software),將下方軟件包的地址放入從網絡安裝的輸入框中,點擊確認(ok)完成安裝。 ipk安裝地址:https://openwrt-tencentddns-1301800460.cos.ap-guangzhou.myqcloud.com/luci-app-tencentddns_0.1.0-1_all.ipk
網絡安裝
安裝確認
如果安裝過程中報錯255,請通過ssh登錄OpenWrt執行以下命令,執行前請先前往軟件包安裝wget(wget-ssl)
安裝wget

1
2
wget --no-check-certificate https://openwrt-tencentddns-1301800460.cos.ap-guangzhou.myqcloud.com/luci-app-tencentddns_0.1.0-1_all.ipk
opkg install luci-app-tencentddns_0.1.0-1_all.ipk

安裝或執行完成後即可在後台看到插件
插件界面
2、勾選啟用,填寫相關訊息,並選擇相應配置,最後點擊保存並應用
配置訊息
3、應用後等待一會刷新,當看到UPDATED(x.x.x.x)後說明配置成功
配置成功

群暉(Synology)NAS設置DDNS

DSM7.0及以上建議通過騰訊雲API設置DDNS並自動部署免費證書,具體可參考:群暉設置DDNS並實現騰訊雲免費SSL證書的自動申請與部署

打開控制面板

登陸後打開控制面板,點擊外部訪問→DDNS
控制面板

新增DDNS

按提示填寫相關訊息後點擊測試聯機,正常情況下狀態會顯示“正常”,然後點擊確定保存即可
新增DDNS

服務供應商:DNSPod.cn(若國際站選擇DNSPod.com)
主機名稱:填寫你要設置DDNS的域名
用戶名/電子郵件:填寫密鑰ID,參照教程第一節獲取
密碼或密鑰:填寫Token,參照教程第一節獲取

愛快設置DDNS教程

1、登錄愛快後台,點擊高級應用→動態域名→添加
愛快動態域名
2、按照界面提示填寫相關訊息
愛快DDNS

通過定時任務設置DDNS

通過定時任務+curl訪問接口設置DDNS,受接口限制,暫不支持IPv6

獲取域名ID

登錄控制台,找到並點擊對應的域名,在管理頁面找到並點擊域名設置獲取域名ID
域名ID

獲取記錄ID

1)、通過控制台獲取
在管理頁面找到操作日誌,“值”後面括號內數字極為記錄ID
控制台獲取記錄ID
2)、通過記錄列表接口獲取
ssh連接伺服器通過curl請求接口獲取

1
curl -X POST https://dnsapi.cn/Record.List -d 'login_token=LOGIN_TOKEN&format=json&domain_id=域名ID&sub_domain=子域名&record_type=A'

LOGIN_TOKEN:是由 ID,Token 組合而成的,用英文的逗號分割。
若設置IPv6記錄,請將record_type=A改為record_type=AAAA
(暫不支持IPv6,先寫着,畢竟馬上就支持了)

例如:

1
curl -X POST https://dnsapi.cn/Record.List -d 'login_token=TokenID,Token&format=json&domain_id=86025807&sub_domain=test&record_type=A'

2、在返回數據中找到記錄ID
返回記錄ID

測試DDNS接口相關參數是否正確

ssh連接伺服器通過curl請求接口測試

1
curl -X POST https://dnsapi.cn/Record.Ddns -d 'login_token=LOGIN_TOKEN&format=json&domain_id=域名ID&record_id=記錄ID&record_line=線路類型&sub_domain=子域名&lang=en'

線路類型若無特殊需求默認即可

例如:

1
curl -X POST https://dnsapi.cn/Record.Ddns -d 'login_token=TokenID,Token&format=json&domain_id=86025807&record_id=953765245&record_line=默認&sub_domain=test&=en'

LOGIN_TOKEN:是由 ID,Token 組合而成的,用英文的逗號分割。

當返回狀態碼為1時說明操作成功。
ddns操作成功

設置定時任務

這裏以centos為例,其他系統除安裝方式外配置方式大體相同,大家可自行通過搜尋引擎查找。

安裝crontabs服務並設置開機自啟
1
2
3
yum install crontabs
systemctl enable crond
systemctl start crond
配置定時規則
1
vim /etc/crontab
1
*/5 * * * * root curl -X POST https://dnsapi.cn/Record.Ddns -d 'login_token=TokenID,Token&format=json&domain_id=86025807&record_id=953765245&record_line=默認&sub_domain=test&=en'

配置規則

腳本內容根據實際情況填寫,上面只是示例
規則很簡單,從注釋中可以看到左到右分別是 分鐘(059)、小時(023)、天(131)、月(112)、星期(0~6)、用戶名、要定時執行的命令或者腳本。
每多長時間記得在前面加一個’*/‘如上面的示例
注意:不要忘記中間的空格

保存生效
1
crontab /etc/crontab
查看任務
1
crontab -l

查看任務

查看結果

不出意外的話應該已經更新成功了,大家可以前往控制台查看效果。
更新成功詳情
更新成功日誌