本文主要講解如何借助阿裏雲aliyun的雲解析API接口來實現RouterOS(以下簡稱ROS)的DDNS動態解析。
壹、創建訪問控制RAM的AccessKey
我這邊簡單的講講如何申請開通:
1、阿裏雲網站 --> 產品 --> 安全 --> 應用身份服務 ,這個就是控制API ,用戶管理,新建用戶,填寫用戶名和勾上“為該用戶自動生成AccessKey”,保存好這個accesskey。
2、策略管理 --> 自定義授權策略,新建授權策略,選擇空白模版,授權策略名稱隨便填(如alidns),策略內容為下面的內容(修改下面內容中的域名為妳自己要做DDNS的域名)
action是api的接口,只接受AddDomainRecord(增加域名解析),DescribeDomainRecords(輸出域名解析列表)和UpdateDomainRecord(修改域名解析記錄)
Resource是指被授權的具體對象,這邊domain/myxzy.com需要修改成妳自己的域名domain/xxx.com。這樣就是授權對象是該域名
3、授權--新增授權--添加權限—在授權主體,對上面創建的用戶,點擊授權,選擇剛才自定義創建的策略,確定。
二、PHP制作aliyun API動態解析接口
以下是我制作好的php解析接口
接口地址:
HTTP請求方式:
請求參數:
示例:
“0”代表解析修改成功或者是當前解析記錄ip相同
“1”代表AccessKey報錯(這個阿裏雲我這邊經常出現,刷新就可以正常)
“2”代表沒有設置參數
1、本接口未記錄所有的解析AccessKey和解析記錄,但是服務器的訪問日誌會有鏈接記錄(按照政策要求需保存6個月的日誌)。雖然有日誌但是本接口不提供任何查詢。
2、強烈建議按照步驟壹設置授權權限。
3、由於使用本接口出現的任何安全問題,本人概不負責。這邊只能保證本人不會去做任何後門行為。這邊建議勤換AccessKey
id、secret、domain、record、pppoe修改成自己的。定時1分鐘運行就好。
腳本說明:獲取pppoe撥號ip,然後判斷和記錄解析ip是否相同,不同開始訪問我的php解析腳本,解析腳本就判斷參數執行,返回0或1或2,如果是0更新記錄的alidns解析ip,其他的不記錄。
四、alidns-api-php腳本源碼
Github: /myxzy/alidns-api-php