更新網路控制站的憑證

適用於:Azure Stack HCI 版本 22H2 和 21H2;Windows Server 2022 和 Windows Server 2019

本文提供如何自動和手動更新或變更網路控制站憑證的指示。 如果您在更新網路控制站憑證時遇到問題,請連絡 Microsoft 支援服務。

在您的軟體定義網路 (SDN) 基礎結構中,網路控制器會使用憑證式驗證來保護與管理用戶端的北向 (Northbound) 通訊通道,以及與網路裝置的南向 (Southbound) 通訊 (例如軟體負載平衡器)。 網路控制器憑證具備有效期間,期間過後這些憑證會失效,且無法再受到信任,因此無法提供使用。 強烈建議您在到期前更新它們。

如需網路控制站的概觀,請參閱 什麼是網路控制站?

更新或變更網路控制器憑證的時機

您可以在以下時機更新或變更網路控制器憑證:

  • 憑證即將到期。 您可以在網路控制器憑證到期前的任何時間點將其更新。

    注意

    如果您使用相同的金鑰來更新現有憑證,則已完成所有設定,不需要執行任何動作。

  • 您想要將自我簽署憑證取代為憑證授權單位單位 (CA) 簽署憑證。

    注意

    變更憑證時,請確定您是使用與舊憑證相同的主體名稱。

網路控制器憑證的類型

在 Azure Stack HCI 中,每個網路控制器器 VM 都會使用兩種類型的憑證:

  • REST 憑證。 單一憑證可供與 REST 用戶端 (例如 Windows Admin Center) 進行北向 (Northbound) 通訊,以及與 Hyper-V 主機與軟體負載平衡器進行南向 (Southbound) 通訊。 此相同憑證存在於所有網路控制器 VM 上。 若要更新 REST 憑證,請參閱更新 REST 憑證

  • 網路控制器節點憑證。 每個網路控制器 VM 上的憑證,用於節點之間的驗證。 若要更新網路控制器節點憑證,請參閱更新節點憑證

警告

請勿讓這些憑證過期。 在到期前更新憑證,以避免驗證問題。 此外,在更新憑證之前,請勿移除任何現有的過期憑證。 若要了解憑證的到期日,請參閱 檢視憑證到期日

檢視憑證到期日

在每個網路控制器 VM 上使用下列 Cmdlet 來檢查憑證的到期日:

Get-ChildItem Cert:\LocalMachine\My | where{$_.Subject -eq "CN=<Certificate-subject-name>"} | Select-Object NotAfter, Subject
  • 若要取得 REST 憑證的到期時間,請將 「Certificate-subject-name」 取代為網路控制站的 RestIPAddress 或 RestName。 您可以從 Get-NetworkControllerCmdlet 取得此值。

  • 若要取得節點憑證的到期日,請將「Certificate-subject-name」取代為網路控制器 VM 的完整網域名稱 (FQDN)。 您可以從 Get-NetworkControllerCmdlet 取得此值。

更新網路控制站憑證

您可以自動或手動更新網路控制站憑證。

Cmdlet Start-SdnCertificateRotation 可讓您自動更新網路控制站憑證。 憑證自動更新有助於將憑證到期問題所造成的任何停機時間或非計劃性中斷降到最低。

以下是您可以使用 Start-SdnCertificateRotation Cmdlet 自動更新網路控制站憑證的案例:

  • 自我簽署憑證Start-SdnCertificateRotation使用 Cmdlet 來產生自我簽署憑證,並在所有網路控制站節點中更新這些憑證。
  • 攜帶您自己的憑證。 您攜帶自己的憑證、自我簽署或 CA 簽署,並使用 Start-SdnCertificateRotation Cmdlet 進行憑證更新。 Cmdlet 會在所有網路控制站節點上安裝憑證,並將其散發給其他 SDN 基礎結構元件。
  • 預安裝憑證。 您已在網路控制站節點上安裝必要的憑證。 Start-SdnCertificateRotation使用 Cmdlet 將這些憑證更新為其他 SDN 基礎結構元件。

如需如何建立和管理 SDN 憑證的詳細資訊,請參閱 管理軟體定義網路的憑證

規格需求

以下是自動更新憑證的需求:

  • 您必須在 Start-SdnCertificateRotation 其中一個網路控制站節點上執行 Cmdlet。 如需安裝指示,請參閱 安裝 SdnDiagnostics 模組

  • 您必須具備下列兩種帳戶類型的認證,才能授權網路控制站節點之間的通訊:

    • Credential 以在網路控制站上指定具有本機系統管理員許可權的用戶帳戶。

    • NcRestCredential 指定具有網路控制站 REST API 存取權的用戶帳戶。 它是的成員ClientSecurityGroupGet-NetworkController 此帳戶用來呼叫 REST API,以使用新的憑證更新認證資源。

    如需設定網路控制站 Northbound 通訊授權的詳細資訊,請參閱 Northbound 通訊的 授權

自動更新自我簽署憑證

您可以使用 Start-SdnCertificateRotation Cmdlet 來產生新的自我簽署憑證,並將其自動更新至所有網路控制站節點。 根據預設,Cmdlet 會產生有效期為三年的憑證,但您可以指定不同的有效期間。

在其中一個網路控制站節點上執行下列步驟,以產生自我簽署憑證,並自動更新它們:

  1. 若要產生自我簽署憑證,請執行 Start-SdnCertificateRotation Cmdlet。 您可以將 參數與 Cmdlet 搭配使用 -Force ,以避免在旋轉過程中出現確認或手動輸入的任何提示。

    • 若要使用預設的三年有效期間產生自我簽署憑證,請執行下列命令:

      Import-Module -Name SdnDiagnostics -Force
      Start-SdnCertificateRotation -GenerateCertificate -CertPassword (Get-Credential).Password -Credential (Get-Credential)
      
    • 若要產生具有特定有效期限的自我簽署憑證,請使用 NotAfter 參數來指定有效期間。

      例如,若要產生有效期間為五年的自我簽署憑證,請執行下列命令:

      Import-Module -Name SdnDiagnostics -Force
      Start-SdnCertificateRotation -GenerateCertificate -CertPassword (Get-Credential).Password -NotAfter (Get-Date).AddYears(5) -Credential (Get-Credential)
      
  2. 輸入認證。 您會收到兩種提示來提供兩種類型的認證:

    • 在第一個提示中,輸入密碼來保護產生的憑證。 用戶名稱可以是任何專案,而且不會使用。
    • 在第二個提示字元中,使用具有所有網路控制站節點系統管理員存取權的認證。
  3. 產生新憑證之後,您會收到警告,以確認是否要繼續執行憑證輪替程式。 警告文字會顯示將取代為新產生之憑證的網路控制站憑證清單。 輸入 Y 來確認。

    以下是警告的範例螢幕快照:

    產生憑證之後顯示的警告螢幕快照。

  4. 確認繼續憑證輪替之後,您可以在PowerShell命令視窗中檢視進行中的作業狀態。

    重要

    在 Cmdlet 完成之前,請勿關閉 PowerShell 視窗。 視您的環境而定,例如叢集中的網路控制站節點數目,可能需要數分鐘或超過一小時才能完成。

    以下是 PowerShell 命令視窗的範例螢幕快照,其中顯示進行中作業的狀態:

    PowerShell 命令視窗的螢幕快照,其中顯示進行中作業的狀態。

自動更新您自己的憑證

除了產生自我簽署網路控制站憑證之外,您也可以自備憑證、自我簽署或 CA 簽署,並使用 Start-SdnCertificateRotation Cmdlet 來更新這些憑證。

在其中一個網路控制站節點上執行下列步驟,以自動更新您自己的憑證:

  1. .pfx 格式準備您的憑證,並在其中一個網路控制站節點上儲存您執行 Start-SdnCertificateRotation Cmdlet 的資料夾。 您可以將 參數與 Cmdlet 搭配使用 -Force ,以避免在旋轉過程中出現確認或手動輸入的任何提示。

  2. 若要啟動憑證更新,請執行下列命令:

    Import-Module -Name SdnDiagnostics -Force
    Start-SdnCertificateRotation -CertPath "<Path where you put your certificates>" -CertPassword (Get-Credential).Password -Credential (Get-Credential)
    
  3. 輸入認證。 您會收到兩種提示來提供兩種類型的認證:

    • 在第一個提示中,輸入憑證的密碼。 用戶名稱可以是任何專案,而且不會使用。
    • 在第二個提示字元中,使用具有所有網路控制站節點管理員存取權的認證。
  4. 您會收到警告,以確認是否要繼續進行憑證輪替程式。 警告文字會顯示將取代為新產生憑證的網路控制卡憑證清單。 輸入 Y 來確認。

    以下是警告的範例螢幕快照:

    產生憑證之後所顯示警告的螢幕快照。

  5. 確認繼續憑證輪替之後,您可以在PowerShell命令視窗中檢視進行中的作業狀態。

    重要

    在 Cmdlet 完成之前,請勿關閉 PowerShell 視窗。 視您的環境而定,例如叢集中的網路控制站節點數目,可能需要幾分鐘或超過一小時才能完成。

自動更新預安裝的憑證

在此案例中,您已在網路控制站節點上安裝必要的憑證。 Start-SdnCertificateRotation使用 Cmdlet 在其他 SDN 基礎結構元件上更新這些憑證。

在其中一個網路控制站節點上執行下列步驟,以自動更新預安裝的憑證:

  1. 根據您慣用的方法,在所有網路控制站節點上安裝網路控制站憑證。 確定其他 SDN 基礎結構元件信任憑證,包括 SDN MUX 伺服器和 SDN 主機。

  2. 建立憑證輪替設定:

    1. 若要產生預設憑證輪替設定,請執行下列命令:

      Import-Module -Name SdnDiagnostics -Force
      $certConfig = New-SdnCertificateRotationConfig
      $certConfig
      
    2. 檢閱預設憑證輪替設定,以確認自動偵測到的憑證是否為您想要使用的憑證。 根據預設,它會擷取要使用的最新發行憑證。

      以下是憑證輪替設定範例:

      PS C:\Users\LabAdmin> $certConfig
      
      Name					Value
      ----					-----
      ws22ncl.corp.contoso.com 	F4AAF14991DAF282D9056E147AE60C2C5FE80A49
      ws22nc3.corp.contoso.com 	BC3E6B090E2AA80220B7BAED7F8F981A1E1DD115
      ClusterCredentialType 		X509
      ws22nc2.corp.contoso.corn 	75DC229A8E61AD855CC445C42482F9F919CC1077
      NcRestCert				029D7CA0067A60FB24827D8434566787114AC30C
      

      位置:

      • ws22ncx.corp.contoso.com 會顯示每個網路控制站節點的憑證指紋。
      • ClusterCredentialType 會顯示網路控制站叢集驗證類型。 如果驗證類型不是 X509,則不會使用節點憑證,也不會顯示在輸出中。
      • NcRestCert 會顯示網路控制站 Rest 憑證的指紋。
    3. (選擇性) 如果產生的 $certConfig 不正確,您可以藉由指定新憑證的指紋來變更它。 例如,若要變更網路控制站 Rest 憑證的指紋,請執行下列命令:

      $certConfig.NcRestCert = <new certificate thumbprint>
      
  3. 啟動憑證輪替。 您可以使用 -Force 參數搭配 Cmdlet,以避免在旋轉過程中出現確認或手動輸入的任何提示。

    Import-Module -Name SdnDiagnostics -Force
    Start-SdnCertificateRotation -CertRotateConfig $certConfig -Credential (Get-Credential)
    
  4. 當系統提示您輸入認證時,請輸入具有系統管理員存取所有網路控制站節點的認證。

  5. 您會收到警告,以確認是否要繼續自動輪替憑證。 警告會顯示將取代為您自己的憑證的網路控制站憑證清單。 輸入 Y 來確認。

    以下是警告的範例螢幕快照,提示您確認憑證的輪替:

    產生憑證之後所顯示警告的螢幕快照。

  6. 確認繼續憑證輪替之後,您可以在PowerShell命令視窗中檢視進行中的作業狀態。

    重要

    在 Cmdlet 完成之前,請勿關閉 PowerShell 視窗。 視您的環境而定,例如叢集中的網路控制站節點數目,可能需要幾分鐘或超過一小時才能完成。

在 Windows Admin Center 中重新匯入憑證

如果您已更新網路控制站 REST 憑證,而且您正在使用 Windows Admin Center 來管理 SDN,則必須從 Windows Admin Center 移除 Azure Stack HCI 叢集,然後再新增一次。 如此一來,您可確保 Windows Admin Center 匯入更新的憑證,並將其用於 SDN 管理。

請遵循下列步驟,在 Windows Admin Center 中重新匯入更新的憑證:

  1. 在 Windows Admin Center 中,從頂端下拉功能表中選取 [叢集管理員]。
  2. 選取您要移除的叢集,然後選取 [ 移除]。
  3. 選取 [新增],輸入叢集名稱,然後選取 [ 新增]。
  4. 載入叢集之後,請選取 [SDN 基礎結構]。 這會強制 Windows Admin Center 自動重新匯入更新的憑證。

下一步