遷移或轉移已啟用 DNSSEC 的區域

本頁面說明如何在 Cloud DNS 和其他 DNS 代管服務供應商之間,遷移已在網域註冊商端啟用的 DNSSEC 區域,同時維持 DNSSEC 信任鏈。

如需 DNSSEC 的概念簡介,請參閱「DNSSEC 總覽」。

事前準備

DNSSEC 遷移作業相當複雜,需在不同營運商之間遷移區域,並避免服務中斷。轉移或遷移區域前,請先詳閱本指南。建議先在較不重要的區域測試遷移程序,再嘗試遷移重要的正式區域。

與 DNS 營運商和網域註冊商協調

為避免驗證解析器將網域視為無效,您必須同時與新舊 DNS 營運商和網域註冊商協調遷移作業。這個步驟可確保轉移期間,從上層區域,到新舊 DNS 營運商代管的金鑰之間,能維持有效的信任鏈。

如果網域註冊商也提供 DNS 託管服務,您必須與該註冊商協調,遷移 DNSSEC 信任鏈。如果註冊商不支援這項作業,您就無法在維持 DNSSEC 信任鏈的情況下,遷移名稱伺服器。

等待解析器快取到期

遷移期間,如果您更新了重要記錄,請等待解析器快取到期。這個步驟可避免遷移至新名稱伺服器後,因舊版快取記錄與更新後的區域不一致,而發生驗證錯誤。

限制

遷移 DNSSEC 區域有下列限制:

  • 只有在新的營運商和註冊商支援 DNSSEC 遷移作業時,您才能維持 DNSSEC 信任鏈並遷移區域,包括匯入 DNSKEY 記錄、設定多筆 DS 記錄,以及在遷移期間防止金鑰自動輪替。

  • 您必須在新舊營運商端使用相同的演算法,因為區域必須透過所有使用中的演算法簽署。詳情請參閱 RFC 4035 的 2.2 節。Cloud DNS 一次只能使用一個演算法簽署。在供應商之間遷移時,無法變更演算法。

  • 您必須能將 Cloud DNS 的 DNSKEY 記錄匯入新營運商的區域,並使用該營運商的金鑰簽署這些記錄。Cloud DNS 允許在 Transfer 模式下新增區域的 DNSKEY 記錄。

  • 您必須能將第二筆 DS 記錄從 Cloud DNS 新增至上層區域。註冊商或上層區域必須允許對應至公開金鑰的 DS 記錄,且這些金鑰不會簽署子區域中的任何記錄。

  • 遷移作業完成前,新舊營運商必須能停止區域的自動金鑰輪替作業。Cloud DNS 會自動為處於 Transfer 模式的區域停止金鑰輪替作業。

如果營運商不支援遷移作業,請按照下列步驟操作:

  1. 在註冊商端停用 DNSSEC
  2. 執行轉移或遷移作業。
  3. 啟用 DNSSEC
  4. 在註冊商端啟用 DNSSEC

如需瞭解 DNSSEC、網域轉移和可能發生的問題,請參閱實用簡報「DNS/DNSSEC and Domain Transfers: Are they compatible?」(DNS/DNSSEC 和網域轉移:是否相容?)。

在營運商之間遷移

Cloud DNS 執行 DNSSEC 遷移作業時,採用雙重 DS KSK 輪替變化版本這項技術性方法,詳情請參閱 RFC 6781 附錄 D「合作營運商的替代輪替方法」

執行 DNSSEC 遷移作業時,不需要在 DNS 營運商之間交換私密金鑰或簽章。現有的名稱伺服器和上層區域會預先發布新營運商公開金鑰的簽署記錄,以及舊營運商的公開金鑰。同樣地,新的名稱伺服器也會發布舊營運商金鑰的簽署記錄,以及新營運商的金鑰。

系統會簽署新舊營運商彼此的金鑰,在雙方和上層區域之間建立交叉信任,如此一來,驗證解析器便能使用其中一方的記錄,驗證另一方提供的回應。這個程序可確保順利轉移至新的營運商名稱伺服器,不會造成服務中斷。

這些記錄傳播後,解析器就能在後續轉移期間,驗證來自兩個營運商的回應,而新的名稱伺服器委派記錄會同時傳播至所有解析器快取。

更新後的名稱伺服器記錄傳播完畢後,遷移作業即完成。您可以從舊名稱伺服器移除子區域,並從上層區域移除舊營運商的信任錨點。

將 DNSSEC 簽署的區域遷移至 Cloud DNS

開始前,請先詳閱所有操作說明。此外,請務必確認服務供應商是否支援遷移作業,若不支援,您便無法使用這個程序遷移區域。

如要執行遷移作業,請按照下列步驟操作:

  1. 在舊名稱伺服器端停止區域的所有金鑰輪替作業。

  2. 建立新的 DNSSEC 簽署區域,並設為 DNSSEC Transfer 狀態。Transfer 狀態會停止金鑰輪替作業,並允許匯入 DNSKEY。

    您必須使用與現有服務供應商相同的演算法

  3. 匯出未簽署的區域檔案,然後匯入新區域。

    按照服務供應商的操作說明匯出區域資料。

    您可以在這個步驟加入 DNSKEY,但請勿加入現有區域中的其他任何 DNSSEC 記錄類型 (CDS、CDNSKEY、NSEC、NSEC3、NSEC3PARAM 或 RRSIG)。

    您可以使用 gcloud dns record-sets import 指令匯入區域。

  4. 從舊名稱伺服器擷取先前的 DNSKEY 記錄。

    您也可以使用 digdelv 查詢 DNSKEY 記錄,但必須確認傳回的公開金鑰正確無誤,且適用於您的區域。

  5. 從 Cloud DNS 擷取新的 DNSKEY 記錄。在 Transfer 模式中,DNSKEY 記錄的顯示方式如同區域中的一般記錄。

  6. 除了自動產生的 DNSKEY 記錄外,也請將現有的 DNSKEY 記錄新增至 Cloud DNS 區域。

    如果服務供應商匯出 DNSKEY 時一併匯出了其他區域資料,您也可以在步驟 3 匯入 DNSKEY,並略過這個步驟。

  7. 將 Cloud DNS 中的新 DNSKEY 記錄新增至現有營運商的區域。如有必要,請務必重新簽署區域。

  8. 除了現有的 DS 記錄外,也請在註冊商端新增 Cloud DNS 區域的 DS 記錄

  9. 等待新記錄傳播完畢,且所有解析器快取中的舊記錄到期,否則過時的資料可能會導致驗證失敗。

    等到以下情況發生,再執行後續步驟:

    • 記錄傳播至舊營運商使用的所有名稱伺服器。

    • 上層區域 NS 記錄集的存留時間到期。

    • 上層區域 DS 記錄集的存留時間到期。

    • 舊營運商端的子區域 NS 記錄集存留時間到期。

    • 舊營運商端的子區域 DNSKEY 記錄集存留時間到期。

  10. 檢查舊營運商是否正在提供所有 DNSKEY 記錄,以及上層區域是否正在提供兩者的 DS 記錄,確認區域已準備就緒。

  11. 變更名稱伺服器委派設定,改為指向 Cloud DNS。

    在註冊商端更新名稱伺服器記錄,為新區域設定 Cloud DNS 名稱伺服器。

  12. 請等待新的名稱伺服器記錄傳播完畢,且所有解析器快取中的舊委派記錄到期,否則過時的資料可能會導致驗證失敗。

    等到以下情況發生,再執行後續步驟:

    • 上層區域 NS 記錄集的存留時間到期。

    • 舊營運商端的子區域 NS 記錄集存留時間到期。

    完成這個步驟後,您就可以安心停止在舊營運商端的區域提供資料。

  13. 移除新增至 Cloud DNS 區域的舊區域 DNSKEY 記錄。

  14. 將區域的 DNSSEC 狀態從 Transfer 變更為 On

    結束轉移狀態後,系統會為區域啟用自動金鑰輪替功能。區域通常可在一星期後安全結束 DNSSEC 轉移狀態;不得持續處於 DNSSEC 轉移狀態超過一或兩個月。

  15. 在註冊商端,針對舊營運商的區域移除 DS 記錄

從 Cloud DNS 遷移 DNSSEC 簽署的區域

開始遷移作業前,請先詳閱所有操作說明。此外,請務必確認服務供應商支援遷移作業,若不支援,您便無法使用這個程序遷移區域。

如要執行遷移作業,請按照下列步驟操作:

  1. 將 DNSSEC 狀態從 On 變更為 Transfer。這個步驟會停止金鑰輪替作業。

  2. 匯出區域檔案,並匯入新營運商端。

    您可以使用 gcloud dns record-sets export 匯出區域。

    Transfer 模式下匯出區域時,系統也會從 Cloud DNS 匯出 DNSKEY 記錄。如果供應商在這個步驟接受 DNSKEY,您可以在此階段加入這些記錄,並略過下方將公開金鑰從 Cloud DNS 轉移至新供應商的步驟。

  3. 在新供應商端簽署區域。

    新供應商端使用的演算法,必須與 Cloud DNS 採用的相同。

    遷移作業完成前,須在新名稱伺服器端停止區域的金鑰輪替作業。

  4. 從 Cloud DNS 擷取 DNSKEY 記錄。在 Transfer 模式中,DNSKEY 記錄的顯示方式如同區域中的一般記錄。

    您也可以使用 digdelv 查詢 Cloud DNS 名稱伺服器的 DNSKEY 記錄,但必須確認傳回的公開金鑰正確無誤,且適用於您的區域。

  5. 從新營運商端擷取新的 DNSKEY 記錄。

    您可能須先簽署區域或設定 DNSSEC,才能取得金鑰。

  6. 除了新區域的 DNSKEY 記錄外,也請將 Cloud DNS DNSKEY 記錄新增至新營運商的區域。

  7. 將新營運商的 DNSKEY 記錄新增至 Cloud DNS。

  8. 除了 Cloud DNS 的現有 DS 記錄外,也請在註冊商端,針對新營運商的區域新增 DS 記錄

  9. 等待新記錄傳播完畢,且所有解析器快取中的舊記錄到期,否則過時的資料可能會導致驗證失敗。

    等到以下情況發生,再執行後續步驟:

    • 上層區域 NS 記錄集的存留時間到期。

    • 上層區域 DS 記錄集的存留時間到期。

    • Cloud DNS 區域 NS 記錄集的存留時間到期。

    • Cloud DNS 區域 DNSKEY 記錄集的存留時間到期。

    您可以檢查 Cloud DNS 是否正在提供所有 DNSKEY 記錄,以及上層區域是否正在提供兩者的 DS 記錄,確認區域已準備就緒。

  10. 遷移名稱伺服器委派設定,改為指向新營運商。

    在註冊商端更新名稱伺服器記錄,為區域設定新營運商的名稱伺服器。

  11. 請等待新的名稱伺服器記錄傳播完畢,且所有解析器快取中的舊委派記錄到期,否則過時的資料可能會導致驗證失敗。

    等待下列所有項目到期:

    • 上層區域 NS 記錄集的存留時間。

    • Cloud DNS 區域 NS 記錄集的存留時間。

    完成這個步驟後,您就可以放心從 Cloud DNS 刪除區域。

  12. 移除新增至新區域的 Cloud DNS DNSKEY 記錄。

  13. 從註冊商端移除 Cloud DNS 的 DS 記錄

  14. 視需要在營運商端完成遷移程序。

如果另一個 DNS 營運商有遷移 DNSSEC 簽署區域的專屬程序,務必在完成本程序的步驟 1 之後,同步執行該營運商的相應步驟。

後續步驟