介紹如何開啟輔助DNS服務。
產品限制
輔助DNS面向 Alibaba Cloud DNS企業旗艦版 使用者開放使用。立即購買;
不支援DNSSEC;
Alibaba Cloud DNS目前只能作為 輔DNS使用,您當前使用的DNS為 主DNS;
網域名稱開啟輔助DNS後,在雲解析的解析設定中不能手動修改解析記錄,所有解析記錄都需要從主DNS同步過來;
輔助DNS功能適用於使用 自建DNS或 第三方DNS託管服務的使用者。如使用的是 第三方DNS託管服務,請確認您當前的託管廠商也支援配置輔助DNS功能;
如使用的是 自建DNS,經測試,雲解析輔助DNS與BIND v9.1.0以上版本相容良好,且需要DNS伺服器支援RFC標準的XFR、NOTIFY協議;
一、準備工作
開啟輔助DNS,首先需要在主DNS上完成配置,然後在Alibaba Cloud DNS中開啟輔助DNS。由於DNS系統的實現方式多樣,以下以自建DNS(BIND 9.9.4及以上版本)為例說明如何配置主DNS。
1.產生TSIG密鑰
可以通過 dnssec-keygen工具產生TSIG密鑰,命令如下:
dnssec-keygen -a HMAC-SHA256 -b 128 -n HOST test_key
如果長時間無法產生密鑰檔案,可以嘗試添加參數 -r /dev/urandom ,如下:
dnssec-keygen -a HMAC-SHA256 -b 128 -n HOST -r /dev/urandom test_key
命令說明
• -a :指定密碼編譯演算法,我們支援的HMAC-MD5、HMAC-SHA1、或HMAC-SHA256。
• -b: 指定密鑰中位元組的數量。密鑰檔案大小的選擇依賴於所使用的演算法,HMAC密鑰必須在1和512位之間。
• -n: 指定密鑰檔案的所有者類型,可選值包括:ZONE、HOST、ENTITY、和USER。通常使用HOST或ZONE。
• test_key :指定密鑰檔案的名稱。該名稱用於使用BIND配置主DNS 中 allow-transfer 的填寫,和添加主DNS資訊中TSIG名稱的填寫。
• -r /dev/urandom:隨機數產生器。
命令執行後,在目前的目錄下會有 “.key”和 “.private” 的檔案(例如:“Ktest_key.+157+64252.key ” 和“ Ktest_key.+157+64252.private ”)。“.key” 檔案中包含了 DNS KEY record,這個record用於配置輔助DNS時,在添加主DNS資訊時,用於TSIG值的填寫;“.private” 檔案中包含演算法指定的欄位。
2.使用BIND配置主DNS
在設定檔 /etc/named.conf 完成以下配置:
zone "網域名稱(如:xxx.com)" IN {
type master;
allow-update { 127.0.0.1; };
allow-transfer {key test_key;};
notify explicit;
also-notify {47.92.XX.XX port 53 key test_key;47.92.XX.XXX port 53 key test_key;};
file "zone_file";
};配置含義說明
zone:配置您指定的網域名稱。
allow-transfer:目前支援通過TSIG進行主輔DNS間通訊,此處請指定為允許伺服器通過TSIG方式來更新的KEY名稱。
說明:根據RFC標準協議,我們推薦使用事務簽名(簡稱TSIG)來保證DNS訊息的安全性。TSIG通常使用共用密鑰和單向雜湊函數來驗證DNS訊息,能較好地確保主輔DNS之間資訊同步的安全性。您可以通過產生一個MD5、SHA256或SHA1型的TSIG密鑰,產生後將TSIG同時配置到您的主DNS、輔DNS。具體操作請參考上述產生TSIG密鑰內容。
also-notify:當地區(ZONE)發生變更時,需要通知輔助DNS伺服器IP地址,支援多個。此處請指定為雲解析輔助DNS伺服器,具體IP地址請查看控制台輔助DNS配置頁面。
DNS伺服器名稱:
對應IP地址為:47.92.XX.XX,47.92.XX.XXXtest_key:指定密鑰檔案的名稱。該名稱用於使用BIND配置主DNS 中 allow-transfer 的填寫,和添加主DNS資訊中TSIG名稱的填寫。
3. 將產生的密鑰按照以下兩種方式添加到 named.conf檔案中
按如下格式粘貼到 named.conf中
key "test_key" { algorithm hmac-sha256; secret ".key檔案中的加密串";};
通過include檔案方式
需要通過include的方式添加到named.conf檔案中,例如:
include "/etc/named/dns-key";
/etc/named/dns-key檔案格式如下
key "test_key" {
algorithm hmac-sha256;
secret ".key檔案中的加密串";
};注意: 設定檔named.conf中完成配置更改後,需要 重啟應用。
1.重啟命令:systemctl restart named
二、開始配置
4.輔助DNS配置
在左側目錄單擊 輔助DNS,點擊 使用輔助DNS 按鈕。
單擊 添加輔助DNS 按鈕,在添加輔助DNS的對話方塊中,選擇需要開啟輔助DNS的網域名稱,並點擊 確認 按鈕。
在輔助DNS頁,完成兩項配置: 設定主DNS資訊、設定發送NOTIFY通知的伺服器IP地址、 配置完畢後點擊確認。

設定主DNS資訊:單擊右側 添加 按鈕,添加主DNS記錄。

IP地址:填寫主DNS伺服器IP地址,確保該地址能夠被公網訪問到。
TSIG密鑰類型:選擇合適的密碼編譯演算法類型,可選值包括:SHA1、SHA256、MD5。
TSIG密鑰名稱:填寫產生的TSIG名稱,即test_key。
TSIG密鑰值:填寫產生的TSIG值,即TSIG密鑰檔案.key中的加密串。
設定發送NOTIFY通知的伺服器IP地址:單擊右側 添加按鈕,輸入發送通知的伺服器IP地址或IP段。

IP地址:當主DNS記錄發生變更時,則需要向雲解析輔助DNS發送變更通知(基於標準NOTIFY協議),因此需要在這裡配置發送變更通知的伺服器IP地址。避免您的請求被拒絕。
勾選是否使用故障通知:開啟後,當出現主輔DNS串連中斷時,雲解析將簡訊通知您。最後點擊 確認。

完成上述輔助DNS的配置後,在輔助DNS頁面的列表中可以看到添加的網域名稱,同步開關為開啟狀態的網域名稱表示已開啟輔助DNS。

主輔串連狀態為 正常:說明輔助DNS可以正常串連到主DNS伺服器。
主輔串連狀態為 阻斷:則代表輔助DNS無法串連到主DNS伺服器。請您檢查如下3點:
① 輔助DNS配置參數資訊是否填寫正確,主DNS伺服器的IP地址外網是否可以訪問。
② 主DNS伺服器目前是否正常運轉。
③ 主DNS設定檔是否符合RFC規範,例如:SOA記錄中的序號值範圍是1~2^32-1。若主DNS的SOA中序號值超出範圍,將導致輔助DNS停止同步主DNS的資源記錄。具體可參考:同步異常說明
開啟輔助DNS後,且狀態正常。若希望跳過NOTIFY協議直接進行同步觸發,則可進行以下操作。網域名稱解析-單擊開啟輔助DNS的網域名稱-解析設定-手動觸發同步。
5.網域名稱DNS配置
開啟輔助DNS後,配合主DNS,有以下三種搭配方式:
(1)只配置主DNS
網域名稱的所有解析由主DNS進行解析。輔助DNS進行即時資料備份。
網域名稱@的NS記錄配置:

查看權威返回情況,執行dig dns-example.com NS @ns1.dns-example.com結果:

查看遞迴解析返回情況,執行dig dns-example.com NS +trace +nodnssec結果:

(2)只配置輔助DNS
網域名稱的所有解析由輔DNS(雲解析)對外提供解析服務,可更好地保障主DNS的安全。
根網域名稱@的NS記錄配置:

查看權威返回情況,執行dig dns-example.com NS @vip3.alidns.com結果:

查看遞迴解析返回情況,執行dig dns-example.com NS +trace +nodnssec結果:

(3)主輔DNS都配置
LocalDNS根據一定的演算法進行權威請求其中一組權威,由該權威進行解答返回。
根網域名稱@的NS記錄配置:

查看權威返回情況,執行dig dns-example.com NS @ns1.dns-example.com結果:

查看遞迴解析返回情況,執行dig dns-example.com NS +trace +nodnssec結果:
