本頁面說明如何在 Cloud DNS 和其他 DNS 代管服務供應商之間遷移已在網域註冊商處啟用的 DNSSEC 可用區,同時維持 DNSSEC 信任鏈。
如需 DNSSEC 的概念總覽,請參閱 DNSSEC 總覽。
事前準備
DNSSEC 遷移作業相當複雜,需要協調才能在運營商之間遷移區域,且不會造成停機。請先詳閱這份指南,再轉移或遷移區域。建議您先在較不重要的區域測試遷移程序,再嘗試遷移重要的實際執行區域。
與 DNS 作業人員和網域註冊商協調
為避免驗證解析器將網域視為無效,您必須與 DNS 作業人員和網域註冊商協調遷移作業。這個步驟可確保您在轉換期間,能建立並維持從父區域到由兩個 DNS 作業管理員管理的金鑰的有效信任鏈。
如果網域註冊商也提供 DNS 代管服務,您必須與網域註冊商協調,才能遷移 DNSSEC 信任鏈。如果註冊商不支援這項作業,您就無法在維持 DNSSEC 信任鏈的情況下遷移名稱伺服器。
等待解析器快取過期
在遷移期間,完成重大記錄更新後,請等待解析器快取過期。這個步驟可避免在遷移至新的名稱伺服器後,因舊的快取記錄與更新後的區域不一致而導致驗證錯誤。
限制
遷移 DNSSEC 區域有下列限制:
只有在新的營運商和註冊商支援 DNSSEC 遷移作業 (包括匯入 DNSKEY 記錄、設定多個 DS 記錄,以及在遷移期間防止自動金鑰輪替) 時,您才能在遷移區域時維持 DNSSEC 信任鏈。
您必須在兩個運算子上使用相同的演算法,因為區域必須使用所有使用的演算法進行簽署。詳情請參閱 RFC 4035 的 2.2 節。Cloud DNS 一次只能使用一種演算法進行簽署。您無法在不同供應商之間遷移時變更演算法。
您必須能夠將 DNSKEY 記錄從 Cloud DNS 匯入其他營運商的區域,並使用該營運商的金鑰為這些記錄簽署。Cloud DNS 允許在
Transfer
模式中為區域新增 DNSKEY 記錄。您必須能夠將第二個 DS 記錄從 Cloud DNS 新增至上層區域。註冊商或父項區域必須允許 DS 記錄,這些記錄對應的公開金鑰不會簽署子區域中的任何記錄。
在遷移完成前,您必須能夠停止舊或新作業系統對該區域的自動金鑰輪替作業。Cloud DNS 會自動停止
Transfer
模式中區域的金鑰輪替作業。
如果新運算子不支援遷移,請執行下列操作:
- 在註冊商處停用 DNSSEC。
- 執行轉移或遷移作業。
- 啟用 DNSSEC。
- 在註冊商處啟用 DNSSEC。
如要深入瞭解 DNSSEC 和網域轉移作業以及可能的陷阱,請參閱「DNS/DNSSEC 和網域轉移作業:是否相容?」一文。
在運算子之間遷移
Cloud DNS 用於 DNSSEC 遷移作業的技術性方法為 RFC 6781 附錄 D 合作營運商的其他累積變因方法所述的雙重 DS KSK 累積變因。
DNSSEC 遷移作業不需要在 DNS 營運商之間交換私密金鑰或簽名。相反地,現有的名稱伺服器和父項區域會預先發布新運算元的公開金鑰簽署記錄,以及舊運算元的公開金鑰。同樣地,新的名稱伺服器會發布舊運算子金鑰的簽署記錄,以及新的運算子金鑰。
這些來自其他運算子的金鑰已簽署,在兩個運算子和父區之間建立交叉信任關係,讓驗證解析工具可使用某個運算子的記錄,驗證其他運算子的回應。這個程序可讓您無中斷地轉換至新的作業系統名稱伺服器。
這些記錄傳播後,解析器可以在後續轉換期間驗證兩位作業者的回應,同時將新的名稱伺服器委派記錄傳播至所有解析器快取。
更新的名稱伺服器記錄傳播後,您就可以完成遷移作業。您可以從舊的名稱伺服器移除子區域,並從父項區域移除舊的運算子信任錨點。
將 DNSSEC 簽署的區域遷移至 Cloud DNS
開始前,請詳閱所有操作說明。您也必須確認供應商支援遷移作業。否則,您無法使用這個程序遷移區域。
如要執行遷移作業,請按照下列步驟操作:
停止舊名稱伺服器的區域所有金鑰輪替作業。
在 DNSSEC
Transfer
狀態中建立新的 DNSSEC 簽署區域。Transfer
狀態會停止金鑰輪替,並允許匯入 DNSKEY。您必須使用現有供應商使用的相同演算法。
匯出未簽署的區域檔案,然後匯入新區域。
請按照供應商的操作說明匯出區域資料。
您可以在這個步驟中加入 DNSKEY,但請勿加入現有區域的任何其他 DNSSEC 記錄類型 (CDS、CDNSKEY、NSEC、NSEC3、NSEC3PARAM 或 RRSIG 類型)。
您可以使用
gcloud dns record-sets import
指令匯入區域。從舊名稱伺服器擷取先前的 DNSKEY 記錄。
您也可以使用
dig
或delv
查詢 DNSKEY 記錄,但必須確認傳回的公開金鑰是否正確且適用於您的區域。從 Cloud DNS 擷取新的 DNSKEY 記錄。在
Transfer
模式中,DNSKEY 記錄會顯示為區域中的一般記錄。除了自動產生的 DNSKEY 記錄外,也將現有的 DNSKEY 記錄新增至 Cloud DNS 區域。
如果供應商會將 DNSKEY 與其他區域資料一併匯出,您也可以在步驟 3 中匯入 DNSKEY,並略過這個步驟。
將 Cloud DNS 中的新 DNSKEY 記錄新增至現有營運商中的區域。如有需要,請務必重新簽署區域。
除了現有的 DS 記錄外,新增 Cloud DNS 區域的 DS 記錄至註冊商。
請等待新記錄傳播,並等待舊記錄從所有解析器快取中過期。否則舊資料可能會導致驗證失敗。
請等待下列所有情況發生:
記錄會傳播至舊營運商使用的所有名稱伺服器。
上層可用區 NS 記錄集的 TTL 到期。
上層區域 DS 記錄集的存留時間到期。
子區域 NS 記錄在舊運算子的存留時間到期。
舊運算子中的子區域 DNSKEY 記錄集存留時間到期。
確認區域是否就緒,方法是檢查舊運算子是否提供所有 DNSKEY 記錄,而父區域是否提供兩個 DS 記錄。
變更名稱伺服器委派作業,指向 Cloud DNS。
在註冊商處更新名稱伺服器記錄,為新區域設定 Cloud DNS 名稱伺服器。
請等到新的名稱伺服器記錄傳播,舊的委派記錄從所有解析器快取中到期。否則,過時的資料可能會導致驗證失敗。
請等待下列所有情況發生:
上層可用區 NS 記錄集的 TTL 到期。
子區域 NS 記錄在舊運算子的存留時間到期。
完成這個步驟後,您就可以放心停止在舊運算子中放送區域。
移除新增至 Cloud DNS 區域的舊區域 DNSKEY 記錄。
將可用區的 DNSSEC 狀態從
Transfer
變更為On
。結束傳輸狀態後,系統會為該區域啟用自動金鑰輪替功能。您的區域可以在一星期後安全結束 DNSSEC 移轉狀態,且保持在 DNSSEC 移轉狀態不應超過一個月或兩個月。
在註冊商處,針對舊的營運商區域移除 DS 記錄。
從 Cloud DNS 遷移 DNSSEC 簽署的區域
開始遷移前,請先詳閱所有操作說明。您也必須確認供應商支援遷移作業。否則您無法使用這個程序遷移區域。
如要執行遷移作業,請按照下列步驟操作:
將 DNSSEC 狀態從
On
變更為Transfer
。這個步驟會停止鍵盤轉換。匯出區域檔案,並匯入新運算子。
您可以使用
gcloud dns record-sets export
匯出區域。在
Transfer
模式中匯出可用區時,也會從 Cloud DNS 匯出 DNSKEY 記錄。如果供應商在此步驟接受 DNSKEY,您可以立即加入 DNSKEY,並略過下列步驟,將公開金鑰從 Cloud DNS 轉移至新供應商。在新供應者處簽署區域。
您必須使用新供應商的 Cloud DNS 所使用的演算法。
您必須停止新名稱伺服器的區域金鑰輪替,直到遷移作業完成為止。
從 Cloud DNS 擷取 DNSKEY 記錄。在
Transfer
模式中,DNSKEY 記錄會像區域中的一般記錄一樣顯示。您也可以使用
dig
或delv
查詢 Cloud DNS 名稱伺服器的 DNSKEY 記錄,但您必須驗證傳回的公開金鑰是否正確且適用於您的區域。從新營運商擷取新的 DNSKEY 記錄。
您可能必須先簽署區域或設定 DNSSEC 才能取得金鑰。
除了新區域的 DNSKEY 記錄外,還要將 Cloud DNS DNSKEY 記錄新增至新操作員的區域。
將新運算子的 DNSKEY 記錄新增至 Cloud DNS。
除了 Cloud DNS 現有的 DS 記錄外,請為新營運商的區域新增 DS 記錄至註冊商。
請等待新記錄傳播,舊記錄則會從所有解析器快取中過期。否則舊資料可能會導致驗證失敗。
請等待下列所有情況發生:
上層可用區 NS 記錄集的 TTL 到期。
上層區域 DS 記錄集的存留時間到期。
Cloud DNS 區域 NS 記錄集的 TTL 到期。
Cloud DNS 區域 DNSKEY 記錄集的存留時間到期。
如要確認區域是否就緒,請確認 Cloud DNS 是否提供所有 DNSKEY 記錄,而父區域是否提供兩個 DS 記錄。
將名稱伺服器委派作業遷移至指向新營運商。
在註冊商處更新名稱伺服器記錄,為該區域設定新營運商的名稱伺服器。
請等到新的名稱伺服器記錄傳播,舊的委派記錄從所有解析器快取中到期。否則,過時的資料可能會導致驗證失敗。
等待下列所有項目到期:
上層可用區 NS 記錄集合的 TTL。
Cloud DNS 區域 NS 記錄集合的 TTL。
完成這項步驟後,您就可以放心從 Cloud DNS 刪除區域。
移除新增至新區域的 Cloud DNS DNSKEY 記錄。
在註冊商處移除 Cloud DNS 的 DS 記錄。
視需要在新電信業者處完成遷移作業。
如果其他 DNS 營運商另有遷移 DNSSEC 簽署區域的程序,則您必須在步驟 1 之後,將營運商的步驟與本程序並行執行。
後續步驟
- 如要瞭解特定 DNSSEC 設定的相關資訊,請參閱「使用進階 DNSSEC」。
- 如要使用受管理的區域,請參閱「建立、修改及刪除區域」。
- 如要找出使用 Cloud DNS 時可能遇到的常見問題解決方案,請參閱「疑難排解」。
- 如要瞭解 Cloud DNS 的總體概況,請參閱 Cloud DNS 總覽。