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

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

NAKIVO for Hyper-V 備份

NAKIVO for 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. 請記住來源虛擬機的虛擬網路介面所連接的虛擬交換機名稱。這樣做的優點在於,您可以設定多台來源虛擬機,以分析目標虛擬機上所有虛擬機的流量。

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

設定目標虛擬機器

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

  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 window.

    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 主機的 IP 位址。

    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