如何從 Windows 憑證伺服器為 Hyper-V 申請 SSL 憑證

Hyper-V 內建了用於將虛擬機器從一個 Hyper-V 主機複製到另一個主機的工具。這在發生故障時,對於執行故障移轉非常有用。 通常,Hyper-V 複製會配置在連接到 Active Directory 網域且位於叢集內的 Hyper-V 伺服器上。然而,當執行 Hyper-V 的伺服器位於工作群組中時,仍可配置 Hyper-V 複製。要做到這一點,您需要憑證。

這篇部落格文章說明如何使用 Windows Server 2016 的內建工具,建立憑證以在工作群組中配置 Hyper-V 複製。

NAKIVO for Hyper-V 複製

NAKIVO for Hyper-V 複製

透過強健的 Hyper-V 虛擬機器複製功能,確保在任何故障情境下都能維持業務連續性。數秒內即可驗證複本,並自動執行虛擬機器故障移轉,以將停機時間降至最低。

為何要在 Hyper-V 中使用憑證

基於憑證的複製特點讓您無需將 Hyper-V 主機加入 Windows 網域或叢集,即可進行虛擬機器複製。此特點對於擁有三至四台伺服器、且不希望部署叢集或使用 Active Directory 設定網域的小型企業特別實用。

在工作群組中使用基於憑證的 Hyper-V 複製的另一個原因是安全性。若參與虛擬機器複製流程的 Hyper-V 伺服器屬於某個網域,一旦使用者取得 Active Directory 管理員帳戶的憑證,這些 Hyper-V 伺服器便可能遭到完全控制。在某些不希望發生的情境下(例如勒索軟體攻擊),攻擊者若持有 AD 網域管理員憑證,便能摧毀其可存取資源上的所有資訊。 正因如此,在某些使用情境下,將用於虛擬機器複製的 Hyper-V 伺服器保留在工作群組中會更為安全。

Hyper-V 支援兩種驗證類型:Kerberos 和 HTTPS 憑證。Kerberos 適用於 Active Directory 網域中的電腦,而 HTTPS 憑證則用於非網域環境。當使用 HTTPS 安全連線時,系統會執行 SSL 憑證請求。

主要步驟概覽

在開始詳細說明工作流程之前,讓我們先列出在工作群組中使用憑證設定 Hyper-V 複製功能時應執行的主要步驟。

  • 請在兩台 Hyper-V 伺服器上設定主機名稱。必須啟用 Hyper-V 伺服器角色。
  • 在 Windows 防火牆中啟用 HTTPS 流量及必要的傳入連線。
  • 在第一台伺服器上建立並設定憑證。匯出/匯入憑證。
  • 將憑證複製到第二台伺服器
  • 請使用憑證在第二台伺服器上設定複寫。
  • 在第一台伺服器上設定複寫。虛擬機器不得有任何檢查點。

在我們的部落格文章中,我們使用了兩台已安裝 Hyper-V 角色的 Windows Server 2016 伺服器。

在伺服器上設定主機名稱

我們先從編輯主機名稱開始。請為來源伺服器(主伺服器)和複本伺服器(第二台伺服器或目標伺服器)設定 DNS 名稱。您應加入主要 DNS 後綴。若要使用憑證,必須採用完全合格的網域名稱(FQDN)。在本範例中,伺服器的名稱如下:

Hyper-v-prim.test.net – 主伺服器(第一個伺服器)

Hyper-v-repl.test.net – 複本伺服器(第二台伺服器)

若要變更主機名稱,請開啟系統設定(右鍵點擊"我的電腦"或"此電腦"圖示),然後在 電腦名稱、網域及工作群組設定 區段,點擊 Settings. 在 電腦名稱 分頁,點擊 Change. 接著在 電腦名稱/網域變更 視窗中,輸入電腦名稱,然後選取 Workgroup (非網域),請點擊 More,並輸入該電腦的主要 DNS 後綴。如前所述,Hyper-V 主機必須具備包含 DNS 後綴的完整名稱,才能透過憑證啟用複寫功能。後綴是 test.net 在我們的範例中。如果主機名是 hyper-v-prim, 一個完全合格的網域名稱是 Hyper-v-prim.test.net 用於我們的主伺服器。

Configuring a hostname in a Workgroup before going to Windows certificate authority

在下方的螢幕截圖中,您可以看到主伺服器的電腦名稱設定。

Configuring a computer name and generate SSL certificate Windows

在兩台伺服器上完成主機名稱的設定後,即可開始在伺服器上建立憑證。

在主伺服器上建立憑證

憑證可透過多種方法建立。通常會使用命令列介面來執行此操作。第一個選項是使用 MakeCert 用於建立自簽名憑證的工具。現在, MakeCert 此工具已不再推薦使用,我們將改用另一種解決方案。

使用 New-SelfSignedCertificate cmdlet 作為 MakeCert 用於建立自簽名憑證的工具。

在主主機上 (Hyper-v-prim.test.net),請在 PowerShell 中(以系統管理員身分)執行以下指令來產生憑證:

New-SelfSignedCertificate -DnsName "Hyper-v-prim.test.net" -CertStoreLocation "cert:LocalMachineMy" -TestRoot

New-SelfSignedCertificate -DnsName "Hyper-v-repl.test.net" -CertStoreLocation "cert:LocalMachineMy" -TestRoot

Create self-signed certificate Windows

接著檢查已建立的憑證,並繼續設定伺服器。執行這些指令後,必須建立三個憑證(兩個伺服器憑證和一個根憑證)。

在 MMC 中檢查已建立的憑證

在第一台伺服器上開啟 MMC(Microsoft 管理主控台)。要開啟 MMC,請輸入 mmc (在 PowerShell 中)。

在 MMC 中新增一個輔助程式,以便在 Windows 圖形使用者介面 (GUI) 中管理憑證。

點擊 File > Add/Remove Snap-in…

Adding a snap-in in Microsoft Management Console

在開啟的視窗左側窗格(可用套件)中,選取 Certificates,然後點擊 Add.

Adding the Certificates snap-in in MMC

在彈出視窗中,請選擇 Computer account,然後按下 Next.

Windows certificate manager – adding a snap-in for a computer account

離開 Local computer 選取(預設為選取狀態),然後按下 Finish.

Selecting a computer for Windows certificate manager

憑證(本地電腦) 現在應會顯示在視窗的右側窗格(已選取的附屬元件)中。

新增或移除功能模組 視窗,點擊 OK (已選取一個套入元件)。

Adding the Certificates snap-in (finishing)

您可以將新增的套接程式儲存至 MMC。

點擊 File > Save as.

輸入檔案名稱,例如, Certificates1.msc.

前往 Certificates (Local Computer) / Personal / Certificates. 您應該會看到我們先前在 PowerShell 中建立的兩份憑證—— Hyper-v-prim.test.net 以及 Hyper-v-repl.test.net.

Create self-signed certificates and then check them in MMC

雙擊憑證以查看憑證詳細資訊。第二台伺服器的憑證(Hyper-v-repl.test.net) 目前不被信任。

Checking certificate parameters

前往 Certificates (Local Computer) / Intermediate Certification Authorities / Certificates. 尋找 CertReq Test Root 這是 Prooper 運作所需的憑證。請雙擊此憑證以查看詳細資訊。該 CA 根憑證 不被信任。

Windows certificate authority – checking the root certificate

複製 CertReq Test Root 由……頒發的證書 Intermediate Certification Authorities / CertificatesTrusted Root Certification Authorities/Certificates 要將憑證設為受信任。選取憑證,按下 Ctrl+C 複製並 Ctrl+V 貼上。

Copying a root certificate for SSL certificate request

CertReq Test Root 憑證的位置必須位於 Trusted Root Certification Authorities / Certificates (如下方截圖所示)。

The Test Root certificate is copied to Trusted Root Certification Authorities

請檢查證書的位置 Personal/Certificates 再次。首先,我們檢查複本伺服器的憑證(Hyper-v-repl.test.net)。該憑證現已獲信任,其有效期限顯示於 概述 按 Tab 鍵。現在您也知道如何在 Windows 中檢查 SSL 憑證的到期日期了。

Certificates are valid (how to check SSL certificate expiration date in Windows)

請在 詳細資訊 "標籤"(增強型金鑰用途)以及 認證路徑 標籤。此憑證有效。

Checking other parameters of the certificates

接著,請按照檢查備份伺服器憑證的方式,檢查主伺服器的憑證。

Checking parameters of certificates on the primary Hyper-V server

我們已為主伺服器設定了憑證(Hyper-v-prim.test.net),現在我們需要在第二台伺服器上設定憑證。我們需要將所需的憑證複製到第二台伺服器上(Hyper-v-repl.test.net) 存放副本的位置。為此,請匯出憑證。

從第一台伺服器匯出憑證

在第一台伺服器上,選取第二台伺服器所需的憑證(Hyper-v-repl.test.net) 位置在 Personal/Certificates. 右鍵點擊該憑證,然後在快顯功能表中點擊 All Tasks > Export.

Create self-signed certificates and export them on the first server

"憑證匯出精靈"隨即開啟。

1. Welcome. 歡迎畫面無需進行任何設定。點擊 Next 在每個步驟中繼續。

2. Export Private Key. 選擇 Yes, export the private key.

3. Export File Format. 選擇 Personal Information Exchange – PKCS #12 (.PFX),然後選擇 Include all certificates in the certification path if possible.

Exporting a certificate

4. Security. 請輸入密碼以確保安全性並保護私鑰。

5. File to Export. 請指定要匯出的檔案名稱及位置,例如: C:tempHyper-v-repl.pfx

Setting a password and a file name for the expired certificate

6. Completing the Certificate Export Wizard. 檢查設定並按下 Finish.

您應會看到以下訊息: 匯出成功這表示一切都沒問題。

從第一台伺服器匯出根憑證

已匯出兩份憑證。現在您應以相同方式匯出根憑證。相關操作將在第一台伺服器上執行(Hyper-v-prim.test.net).

選擇 CertReq Test Root 證書位置 Trusted Root Certification Authorities / Certificates.

右鍵點擊該憑證;點擊 All Tasks > Export.

Exporting the CertReq test Root certificate

"憑證匯出精靈"隨即開啟。

1. Welcome. 點擊 Next 繼續。

2. Export File Format. 請選擇您要使用的格式:

DER encoded binary X.509 (.CER)

3. File to Export. 請輸入檔案名稱及儲存路徑,例如: C:temptestRoot.cer

Selecting a certificate format to export and name for the exported file

4. Completing the Certificate Export Wizard. 檢查設定並完成匯出。

憑證已匯出至 Hyper-v-repl.pfx 以及 TestRoot.cer 目前位置 C:temp 在第一台伺服器上。

Certificates are exported to files

將匯出的憑證複製到第二台伺服器

請複製這兩個已匯出的憑證檔案(Hyper-v-repl.pfx 以及 TestRoot.cer) 從第一台伺服器複製到第二台伺服器。

我們將檔案複製到 C:temp 在第二台伺服器上。

我們可以使用網路路徑 Hyper-v-replC$192.168.101.213C$ 透過網路複製憑證(在此案例中,192.168.101.213 為副本伺服器的 IP 位址)。防火牆設定必須允許 SMB 通訊協定的連線。

在第二台伺服器上匯入憑證

將憑證複製到備用伺服器後,您應將這些憑證匯入備用伺服器。

在備用伺服器(第二台伺服器)上開啟 MMC,操作方式與在主伺服器上相同。

在 MMC 視窗中新增一個輔助程式。

按一下 File > Add/Remove Snap In.

選取 Certificates, click Add.

選取 Computer account,然後選擇 Local Computer.

次點擊 OK.

若要在 Windows 圖形使用者介面中快速開啟此輔助程式,您可以在 Windows CMD 或 PowerShell 中執行以下指令:

certlm.msc

此指令會開啟 Windows 憑證管理員(憑證管理主控台),以便設定本機憑證。

前往 Certificates (Local Computer) / Personal.

右鍵點擊空白處,然後在快顯功能表中點擊 All tasks > Import.

Importing certificates to a Hyper-V replica server

"憑證匯入精靈"隨即開啟。

1. Welcome. 選擇 Local machine.

2. File to Import. 瀏覽 Hyper-v-repl.pfx 檔案。點擊 Browse,選擇顯示所有檔案,然後選擇 Hyper-v-repl.pfx

3. Private key protection. 請輸入您在匯出憑證時所設定的密碼。

Importing a certificate by using a Certificate Import Wizard

4. Certificate Store. 將所有憑證放置於以下儲存庫中:

憑證儲存庫: Personal

5. Completing the Certificate Import Wizard. 檢查設定,然後按下 Finish.

Selecting where to place imported certificates

如果一切正確,您應該會看到以下訊息: 匯入成功.

現在 Hyper-v-repl.test.net 憑證的位置 Certificates (Local Computer) / Personal / Certificates 在複本伺服器(第二台伺服器)上。在我們的情況下,該 CertReq Test Root 該憑證也已匯入此位置。

The certificates are imported on the replica server

CertReq Test Root 憑證的位置必須位於 Trusted Root Certification Authorities / Certificates. 將此憑證複製到所需的位置。您可以匯入 TestRoot.cer 請手動操作,就像您剛才匯入時那樣 Hyper-v-repl.pfx

CertReq Test Root must be located in Trusted Root Certification Authorities

憑證撤銷檢查

請注意,預設情況下,憑證撤銷檢查是強制性的,且在 Windows Server 2012 上,自簽名憑證不支援撤銷檢查。因此,您必須針對測試憑證停用憑證撤銷檢查。請在兩台電腦的 Windows 登錄檔中新增設定。請以系統管理員身分在 CMD 或 PowerShell 中執行以下指令。

reg add "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionVirtualizationReplication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f

Disabling certificate revocation checking for the test certificates

您可能需要重新啟動電腦。

解析主機名稱

將錄音加入 hosts 在兩台機器上編輯 (C:Windowssystem32driversetchosts) 檔案,以便在工作群組環境下(即機器未加入 Active Directory 網域時)能將主機名稱解析為 IP 位址。在我們的情況下,我們會在兩台伺服器的 hosts 檔案中加入以下這些行:

192.168.101.209 Hyper-v-prim.test.net

192.168.101.213 Hyper-v-repl.test.net

Editing the host files

在複本伺服器上設定複寫設定

請在應儲存虛擬機器複本的第二台伺服器上執行以下操作。

開啟 Hyper-V 管理員。

右鍵點擊複本伺服器(Hyper-v-repl.test.net (在我們的情況下),然後在快顯選單中點選 Hyper-V Settings.

在的左側窗格中 Hyper-V 設定 視窗,選取 Replication Configuration.

在此處勾選這些核取方塊 Replication Configuration:

  • Enable this computer as a Replica server
  • Use certificate-based Authentication (HTTPS)

點擊 Select Certificate.

Hyper-V replication configuration on the secondary server

Windows 安全性 彈出視窗會顯示有關您憑證的資訊。按下"確定"以選取此憑證。

SSL certificate request on a Hyper-V replica server

複製設定,請選擇 Allow replication from the specified servers, 選項並點擊 Add.

新增授權記錄 window.

指定主要伺服器: Hyper-v-prim.test.net

請指定儲存複本檔案的預設位置: C:Hyper-VVirtual Hard Disks (此為範例——請使用您自訂的位置,而非 C: 磁碟機)

指定信任群組: replication

Adding the authorization entry

設定 Windows 防火牆

請設定防火牆以啟用傳入流量。請在複本伺服器的 443 埠上啟用傳入的 TCP 連線(或為測試目的暫時停用防火牆)。

Enable-Netfirewallrule -displayname "Hyper-V Replica HTTPS Listener (TCP-In) "

netsh advfirewall firewall show rule name=all dir=in | find "Hyper-V "

在第一台伺服器上設定複寫

在主要 Hyper-V 伺服器上建立一個虛擬機器以進行複製。在啟用複製功能之前,請確保來源虛擬機器沒有任何快照。在第一台機器(即主要伺服器)上啟用複製功能(Hyper-v-prim.test.net (以我們的情況為例)。

右鍵點擊虛擬機器,然後在快顯選單中點選 Enable Replication.

Enabling replication on the primary server

啟用複製 精靈視窗開啟。

Before you Begin. 點擊 Next 繼續。

Specify Replica Server. 請輸入您的複本伺服器名稱。在此範例中,我們使用 Hyper-v-repl.test.net 作為複本伺服器。

Specifying a replica server

Specify Connection Parameters. 選擇 Use certificate-based authentication (HTTPS),然後點擊 Select Certificate.

Specifying connection parameters to use certificate-based authentication

一旦您點擊 Select Certificate,此時會彈出一個視窗,顯示您先前設定的憑證詳細資訊。點擊 OK 使用此憑證。

SSL certificate request on a main Hyper-V server

請照常設定其他複製設定,以完成來源伺服器上的複製設定。

Choose Replication VHDs. 選取必須進行複製的虛擬機器虛擬磁碟。您可以選取所有虛擬機器虛擬磁碟,或僅選取其中部分。

Selecting virtual disks to replicate

Configure Replication Frequency. 選擇將變更傳送至複本伺服器的頻率,例如, 5 minutes.

Configuring Hyper-V replication frequency

Configure additional recovery points for this virtual machine. 在本範例中,我們選擇建立更多每小時的還原點。請選擇最符合您需求的選項。還原點是增量複製(基於快照)的結果。

Configuring additional recovery points

Choose Initial Replication Method. 選擇 Send initial copy over the network.

Choosing initial replication method

點擊 Finish 完成在工作群組中使用憑證設定原生 Hyper-V 複製,並關閉精靈。

原生 Hyper-V 複製的替代方案

Hyper-V 內建的複製功能性相當實用。但有時您可能需要更進階的功能性來執行 Hyper-V 複製與虛擬機器故障移轉。除了原生 Hyper-V 複製功能性外,還有一個不錯的替代方案。

NAKIVO Backup & Replication 是一款通用資料保護解決方案,可備份 Hyper-V 虛擬機器並執行虛擬機器故障移轉。本產品支援在 Active Directory 網域及工作群組中執行 Hyper-V 複製。其包含以下功能性:

  • 應用程式感知型複製。當您在虛擬機器處於運行狀態時進行複製,由於使用了在虛擬機器內部執行的 Microsoft 卷影複本 (VSS) 服務,因此虛擬機器副本中的資料將保持一致。
  • 透過 Microsoft 的"彈性變更追蹤 (RCT)"進行增量複製,可協助您節省磁碟空間與時間。複製工作首次執行時會複製來源虛擬機器的所有資料,之後僅會複製變更過的資料,並為虛擬機器副本建立適當的還原點。
  • 靈活的保留設定以及 GFS 保留政策. 為不同時間段保留多種還原點,並優化備份儲存庫中使用的儲存空間。
  • 網路加速技術透過資料壓縮來提升複製速度,為您節省時間。
  • 針對 Microsoft Exchange 和 SQL 執行日誌截斷,以在複製運行資料庫的 Hyper-V 虛擬機器時節省儲存空間。
  • 透過自動虛擬機器故障移轉功能,您可在短時間內恢復虛擬機器。
  • 站點還原 讓您能夠建立包含多項操作的複雜災難還原情境,包括 Hyper-V 虛擬機器複製與故障移轉。

您可以將實體伺服器的備份還原至虛擬機器,或將 Hyper-V 虛擬機器的備份還原至 VMware 虛擬機器。別等到災難發生才行動——立即下載 NAKIVO Backup & Replication 立即保護您的 Hyper-V 虛擬機器!

1 年免費資料保護: NAKIVO Backup & Replication

1 年免費資料保護: NAKIVO Backup & Replication

2 分鐘即可部署,並保護虛擬、雲端、實體及 SaaS 資料。提供備份、複製與快速還原選項。

結論

Hyper-V 複製對於保護 Hyper-V 虛擬機器至關重要,並能確保您在發生任何故障後,能在短時間內恢復資料和工作負載。有時,當 Hyper-V 伺服器並非 Active Directory 網域的成員,而是屬於工作群組時,您可能需要在非網域環境中設定 Hyper-V 複製。

您需要建立自簽名憑證,以便在工作群組中複製 Hyper-V 虛擬機器,並使用這些憑證為 Hyper-V 伺服器設定驗證。在 Hyper-V 主機上設定虛擬機器複製之前,此設定適用於主機名稱、防火牆以及憑證撤銷檢查。

People also read