Hyper-V 中的埠鏡像:設定指南

故障排除是網路系統管理員的常見任務。專業的網路設備通常具有監控與故障排除的特點,例如埠鏡像。埠鏡像對於分析虛擬環境中的網路流量亦相當有用,包括 Microsoft Hyper-V 主機上的虛擬網路,以及虛擬機器之間的網路通訊。這篇部落格文章將說明如何設定 Microsoft Hyper-V 埠鏡像,以分析虛擬環境中的網路通訊。

NAKIVO Hyper-V 備份解決方案

NAKIVO Hyper-V 備份解決方案

適用於 Hyper-V 的無代理程式、應用程式感知的備份解決方案。具備防勒索軟體防護功能、可從備份立即啟動虛擬機器,並支援其他虛擬/實體平台等更多功能。

埠鏡像的關鍵概念

在說明如何設定埠鏡像之前,讓我們先來了解相關的關鍵概念、運作原理以及現有的 Hyper-V 特點。

什麼是埠鏡像?

埠鏡像是一項功能性,可將來源主機網路埠的網路流量複製到次級主機的網路埠(網卡)上,以便進一步分析該流量。 主機可以是實體機器、虛擬機器、具備網路介面的網路設備等。在此情境中,來源主機是指其網路流量受到監控的主機。來源埠亦稱為"鏡像埠",而目標埠則稱為"監控埠"。埠鏡像功能亦稱為"交換埠分析器"(SPAN)。

類型與好處

端口鏡像可分為本地和遠端兩種,具體取決於端口之間的連接模式。對於本地端口鏡像,來源和目標網路端口連接至同一台交換機。 當來源與目標埠連接至不同交換機時,則採用遠端埠鏡像。遠端埠鏡像可使用 VLAN 標記與 GRE 封裝技術,將網路流量傳輸至受監控的埠與裝置。

埠鏡像的優勢在於能夠在不影響正常運作的網路裝置處理流程下,分析與除錯網路通訊。管理員可透過分析流量來識別網路上的潛在攻擊、偵測攻擊來源,並提升網路安全性。 使用埠鏡像時,無需直接在運作中的機器(例如生產環境虛擬機器)的客體作業系統中擷取網路流量。

請注意,埠鏡像會消耗額外的網路頻寬來傳輸鏡像流量,因此您可能需要根據需求,在需要執行網路分析時才啟用此特點。

埠鏡像與埠轉發的比較

埠鏡像與埠轉發有所不同,因為在埠鏡像中,網路流量(例如 TCP 封包或 UDP 資料包)無法被重新導向。流量可以被鏡像(複製),但原始流量方向的來源與目的地並不會改變。 原始流量的副本會被傳送至目的地進行分析。

在端口轉發中,流量(例如 TCP 封包或 UDP 數據報)的目的地可以被更改,且特定的封包(或其他協定資料單元)能夠抵達 IP 網路中的另一個 IP 位址和端口。端口轉發通常與網路位址轉換(NAT)配合使用,以實現網路間的通訊。此過程中不會建立原始流量的副本。

Hyper-V 中的埠鏡像

您可以使用 Hyper-V 中的埠鏡像功能性,來分析虛擬機器透過虛擬交換器連線至的虛擬網路中的流量。您需要指定目標虛擬機器,並安裝流量擷取軟體,例如 Wireshark 用於流量分析。您也可以使用其他可用的入侵偵測系統 (IDS) 來達成此目的。

Hyper-V 埠鏡像特點類似於硬體埠鏡像,但是在 Hyper-V 虛擬交換機層級實現的。Hyper-V 虛擬交換機會利用交換機擴充功能和埠存取控制清單 (ACL) 來設定轉發與流量嗅探的規則。

埠鏡像僅在單一 Hyper-V 主機的範圍內有效。若虛擬機器位於不同的 Hyper-V 主機上(例如在故障移轉叢集中,或虛擬機器從一個主機遷移至另一個主機後),則無法使用 Hyper-V 埠鏡像。在此情況下,您需要在來源虛擬機器遷移至的第二台 Hyper-V 主機上,額外配置一台目標虛擬機器以進行網路分析。

準備進行埠鏡像設定

您應先熟悉設定 Hyper-V 埠鏡像的需求。

先決條件與設定要求

以下是在 Hyper-V 環境中設定埠鏡像的功能需求:

  • Windows Server 2012 R2(或更新版本),需具備 Hyper-V 功能及管理員權限。客戶端作業系統可使用 Windows 10 或更高版本。
  • Hyper-V 主機上的虛擬交換器。
  • 至少需要兩台虛擬機器,用以將來源虛擬機器的流量鏡像(複製)至目標虛擬機器。

硬體與軟體檢查清單

必須在目標虛擬機器上安裝流量嗅探器(流量分析器)或入侵偵測系統。此類工具的範例包括 Wireshark, Microsoft Network Monitor, Ettercap,以及 SmartSniff.

設定步驟

我們在 Hyper-V 主機上有兩台 Windows 虛擬機器:

  • Wind0ws-VM – 來源虛擬機器 (192.168.101.215)
  • Win-VM-Dest – 目標虛擬機器 (192.168.101.212)

已在 Windows Server 2019 上設定 Hyper-V 主機。其他受支援的 Windows 版本之設定方式完全相同。

設定虛擬交換器

您可以使用現有的虛擬交換機,或建立新的虛擬交換機。如果 Hyper-V 主機上沒有虛擬交換機,請建立一個新的 虛擬交換器. 若要建立虛擬交換器,請執行以下步驟:

  1. 開啟 Hyper-V 管理員,右鍵點擊 Hyper-V 主機,然後按下 Virtual Switch Manager 在右鍵選單中。

    Opening a Virtual Switch Manager on a Hyper-V host

  2. 選擇虛擬交換機類型,然後按下 Create Virtual Switch. 為此,我們使用 vSwitch0,一個外部交換器(橋接網路)。按下 OK 以儲存設定並關閉視窗。

    Configuring a virtual switch for Hyper-V port mirroring

設定來源虛擬機器

虛擬交換器準備就緒後,即可設定您要監控其流量的來源虛擬機器。

  1. 要在 Hyper-V 管理員中開啟虛擬機器設定,請右鍵點擊虛擬機器名稱,然後按下 Settings 在右鍵選單中。

    Opening the source VM settings

  2. 在虛擬機器設定視窗中,請導航至 Network Adapter > Advanced features.
  3. Port Mirroring 區段,請選擇 Source 在下拉式選單中選擇"鏡像模式"。此操作將為虛擬機器當前連接的虛擬交換機埠啟用 Hyper-V 埠鏡像功能。按下 OK 以儲存設定。

    Configure port mirroring on the source VM

  4. 請記下來源虛擬機器(VM)的虛擬網路介面所連接的虛擬交換機名稱。其優點在於,您可以設定多台來源虛擬機器,以分析目標虛擬機器上所有虛擬機器的流量。

下一步是設定目標虛擬機器,網路流量將被鏡像(複製)至該虛擬機器。

設定目標虛擬機器

建議的做法是在目標虛擬機器上建立一個額外的網路介面卡,並停用該網路介面卡的所有網路服務,以便進行更精確的分析。透過此方法,您可以在停用不必要的網路服務與協定後,取得完整的網路流量擷取檔。

  1. 如果目標虛擬機器正在執行,請將其關閉。
  2. 要開啟目標虛擬機器的設定,請在 Hyper-V 管理員中右鍵點擊虛擬機器名稱,然後按下 Settings.
  3. 點擊 Add hardware 在虛擬機器設定視窗的左側窗格中,選取 Network adapter,然後按下 Add.

    Adding the second virtual network adapter

  4. 請選擇將第二個虛擬網路介面卡連接至的虛擬交換機。此虛擬交換機必須與第一個(來源)虛擬機器所連接的虛擬交換機相同。在本例中,這是 vSwitch0. 點擊 OK 以儲存設定並關閉視窗。

    Selecting a virtual switch to connect the virtual network adapter

  5. 再次開啟目標虛擬機器的設定。
  6. 選取為埠鏡像和流量診斷所建立的第二個虛擬網路介面卡(位於左側窗格的虛擬機器硬體清單中),然後前往 Network adapter > Advanced features.
  7. Port mirroring 區段,選擇 Destination 作為鏡像模式,用以接收鏡像網路流量。按下 OK.

    Configure port mirroring on the destination VM

  8. 開啟虛擬機器。
  9. 連線至已建立用於接收和分析流量的目的地虛擬機器(使用 Hyper-V VMConnect 或 RDP)。

    Connecting to the destination VM in Hyper-V Manager

  10. 開啟 Network and sharing center 在目標 Windows 虛擬機器中。按一下 Change adapter settings.
  11. 請選取為流量分析所建立的第二個網路介面卡(您可以將此介面卡重新命名為 LAN2-SPAN (以便更方便)。
  12. 右鍵點擊網路介面卡,然後按下 Properties.

    Disabling network services for port mirroring in the destination VM

現在,您可以安裝並設定用於網路流量分析的軟體,例如 WireShark,在目標虛擬機器上。

安裝流量分析器

  1. 下載 並安裝 Wireshark 在目標虛擬機器上。透過圖形化介面精靈進行安裝的過程相當簡單——您可以直接使用預設設定。
  2. 執行 Wireshark 在目標虛擬機器上。
  3. 請雙擊專門用於埠鏡像和網路流量分析的網路介面卡(LAN2-SPAN) 在 Wireshark 視窗。

    Selecting a network adapter for traffic analyzing

  4. 現在,您可以查看來源虛擬機的網路活動(來源虛擬機的 IP 位址為 192.168.101.215)。讓我們在來源虛擬機上對 google.com 執行 ping 指令。
  5. 我們可以看到發送至 142.251.208.110 以及來自該位址的 ICMP 請求與回應,該 IP 位址正是 google.com 主機當前的位址。

    Using Wireshark for traffic analysis after configuring Hyper-V port mirroring

  6. 為了更方便起見,您可以啟用篩選器,例如選擇 ICMP。

    Using a filter for ICMP protocol in Wireshark

這是一個基本範例。您可以使用其他通訊協定來監控和分析其他網路活動。

PowerShell

Windows Server 作業系統也允許您在 PowerShell 中設定和管理 Hyper-V 埠鏡像功能。

若要在來源和目標虛擬機器上啟用埠鏡像功能,請依情況執行以下指令:

Set-VMNetworkAdapter -VMName Wind0ws-VM -PortMirroring Source

Set-VMNetworkAdapter -VMName Win-VM-Dest -PortMirroring Destination

若要停用虛擬機器的埠鏡像功能:

Set-VMNetworkAdapter -VMName Wind0ws-VM -PortMirroring None

要檢查虛擬機的埠鏡像設定:

(Get-VMNetworkAdapter -VMName Wind0ws-VM).PortMirroringMode

(Get-VMNetworkAdapter -VMName Win-VM-Dest).PortMirroringMode

您可以使用以下指令來顯示說明資訊:

Get-Help Set-VMNetworkAdapter

Get-Help Set-VMNetworkAdapter -full

Get-Help Set-VMNetworkAdapter -detailed

Get-Help Set-VMNetworkAdapter -examples

以下指令對於設定埠鏡像功能可能有所幫助:

Add-VMNetworkAdapter – 為虛擬機器新增一個虛擬網路介面卡

Get-NetAdapter – 顯示虛擬機器的網路介面卡清單

Rename-Netadapter – 變更虛擬機器虛擬網路介面的名稱

結論

您可以透過 Hyper-V 管理員的圖形使用者介面或 PowerShell 輕鬆設定 Hyper-V 埠鏡像。請遵循相關需求,並留意各項限制,例如來源與目標虛擬機器在單一 Hyper-V 主機上的位置。若您在故障移轉叢集中,可能需要於 Hyper-V 主機上配置額外的目標虛擬機器,並在這些虛擬機器上安裝流量分析工具。 Wireshark 這是一款方便且廣受歡迎的流量分析工具,但如有需要,您也可以使用其他工具。

試試看 NAKIVO Backup & Replication

試試看 NAKIVO Backup & Replication

立即申請免費試用,全面體驗本解決方案的所有資料保護特點。15 天免費試用。無功能或容量限制。無需提供信用卡資訊。

People also read