系統管理員在處理網絡時常会遇到排錯工作。專業網絡設備通常具有監控和排錯功能,如端口鏡像。端口鏡像對於分析虛擬環境中的網絡流量也很有用,包括Microsoft Hyper-V主機上的虛擬網絡以及虚機之間的網絡通信。本篇文章將解釋如何為虚構環境中分析網絡通信配置Microsoft Hyper-V端口鏡像。
端口鏡像關鍵概念
在解釋如何配置端口鏡像之前,讓我們來了解關鍵概念、工作机制以及现有的Hyper-V配置功能。
端口鏡像是什麼?
端口鏡像是一種功能,允許您將源主機的网络端口的網絡流量複製到另一主機的网络端口(適配器)以進行進一步的流量分析。主機可以是物理機器、虛擬機器、具有網絡接口的网络設備等。在這個背景下,源主機是進行網絡流量監控的主機。源端口也稱為鏡像端口,目標端口也稱為觀察端口。端口鏡像也稱為Switched Port Analyzer (SPAN)。
類型和優勢
端口鏡像可以本地的和遠端的,取決於端口之間的連接模式。對於本地端口鏡像,源和目標網絡端口連接到同一台交換機。遠端端口鏡像用於源和目標端口連接到不同交換機的情況。遠端端口鏡像可以使用VLAN標簽和GRE封裝來將網絡流量傳輸到監控端口和設備。
端口鏡像的優點是能夠在不影響工作網絡設備的處理情況下分析和解決網絡通信問題。管理員可以分析流量以識別網絡上可能的攻擊,發現攻擊源並提高網絡安全。在使用端口鏡像時,不需要在運行機器的客戶端操作系統中直接捕獲網絡流量(例如,這可以是一個生產VM)。
請注意,端口鏡像傳輸鏡像流量時會消費額外的網絡带宽,當需要進行網絡分析時,您可能需要按需求启用此功能。
端口鏡像與端口转发
端口鏡像與端口转发不同,因為在端口鏡像中,網絡流量(如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埠映射無法使用。在這種情況下,您需要為源虛擬機 migrated 的第二個Hyper-V主機配置額外的目標虛擬機,以進行網絡分析。
準備埠映射配置
您應該熟悉配置Hyper-V埠映射的要求。
先決條件和設置條件
在Hyper-V環境中配置埠鏡像的具體要求如下:
- 必須使用Windows Server 2012 R2(或更新版本)並已启用Hyper-V,以及具有管理权限。Windows 10或更高版本的作業系統可以用作客戶端OS。
- 在Hyper-V主機上必須有一个虛擬交换器。
- 至少需要兩個虛擬機,以從源虛擬機鏡像(複製)流量到目標虛擬機。
硬體和軟體清單
在目標虛擬機上必須安裝流量嗅探器(流量分析器)或入侵檢測系統。這種工具的例子包括Wireshark、Microsoft Network Monitor、Ettercap和SmartSniff。
配置步驟
我們在Hyper-V主機上有兩個Windows虛擬機:
- Wind0ws-VM – 源虛擬機 (192.168.101.215)
- Win-VM-Dest – 目標虛擬機 (192.168.101.212)
Hyper-V主機配置在Windows Server 2019上。其他受支持的Windows版本的配置是相同的。
配置虛擬交換器
您可以使用现有的虛擬交換器,或者創建一个新的虛擬交換器。如果Hyper-V主機上沒有虛擬交換器,請創建一个新的虛擬交換器。創建虛擬交換器時,請按照以下步驟操作:
- 開啟Hyper-V 管理員,在Hyper-V主機上按右鍵,選擇虛擬交換機管理員。
- 選擇一種虛擬交換機類型,並點選建立虛擬交換機。在此情況下,我們使用OK來保存設定並關閉視窗。
設定來源虛擬機
一旦虛擬交換機準備好,您就可以設定要監視流量之來源虛擬機。
- 要在Hyper-V 管理員中開啟來源虛擬機設定,請在虛擬機名稱上按右鍵,並選擇設定。
- 在虛擬機設定視窗中,切換到網絡 adapter> 進階功能。
- 在端口 mirroring部分,於下拉選單中選擇來源作為鏡像模式。這個動作將啟用 Hyper-V 端口 mirroring 對於連接的虛擬交換機的端口。按確定以儲存設定。
- 記住 source VM 的虛擬網絡Adapter 連接的虛擬交換機名稱。優點是可以為 analyzed 設定多個 source VM 的源地,以便於目的地下分析所有 VM 的流量。
下一個階段是配置將要 mirror (複製) 网络流量的目的地虚拟机。
配置目的地 VM
建議的做法在目的地 VM 上建立额外的網絡Adapter 並關閉此網絡Adapter 所有的網絡服務,以進行更精確的分析。這種方式可在關閉不需要的網絡服務和協定後,取得網絡流量的完整转储。
- 如果目的地 VM 正在運行,請關閉 VM。
- 要在 Hyper-V 管理員中打开目的地 VM 的設定,請在 VM 名称上按右鍵選擇設定。
- 在VM設定窗口的左側面板中點擊添加硬件,選擇網絡 adapter,然後點擊添加。
- 選擇將第二個虛擬網絡 adapter 連接到的虛擬交換機。這必須與第一個 (來源) VM 連接的虛擬交換機相同。在我們的案例中,這是vSwitch0。點擊確定以保存設定並關閉窗口。
- 再次打開目標 VM 的設定。
- 在左側面板的 VM 硬件列表中選擇為端口 mirroring 和流量診斷創建的第二個虛擬網絡 adapter,然後转到網絡 adapter> 進階功能。
- 在端口 mirroring部分,選擇目的地作為鏡像模式的接收鏡像網絡流量。點擊確定。
- 啟動 VM。
- 连接到為接收和分析流量而創建的目標VM(使用Hyper-V VMConnect或RDP)。
- 在目標Windows VM中打开網絡和共享中心。點擊更改 adapter 設定。
- 選擇為流量分析創建的第二個網絡 adapter(您可以將此 adapter 重命名為LAN2-SPAN以提高便利性)。
- 右擊網絡 adapter 並點擊屬性。
現在,您可以在目標VM上安装和配置網絡流量分析軟件,例如WireShark。
安装流量分析器
- 在目標VM上下载並安装Wireshark。在GUI向導中的安裝過程簡單 – 您可以使用預設設定。
- 在目標VM上運行Wireshark。
- 在Wireshark窗口中雙擊為端口鏡像和網絡流量分析創建的網絡 adapter (LAN2-SPAN)。
- 現在,您可以看到源 VM 的網絡活動(源 VM 的 IP 地址是 192.168.101.215)。讓我們在源 VM 上ping google.com。
- 我們可以看到指向/自142.251.208.110的ICMP請求和答复,這是目前google.com主機的IP地址。
- 為了更方便,您可以启用過濾器,例如,選擇ICMP。
這是基本示例。您可以使用其他協定來監控和分析其他網絡活動。
PowerShell
Windows Server操作系統還允許您在PowerShell中配置和管理Hyper-V端口鏡像。
要在源和目標 VM 上啟用端口鏡像,請 correspondingly 運行命令:
Set-VMNetworkAdapter -VMName Wind0ws-VM -PortMirroring Source
Set-VMNetworkAdapter -VMName Win-VM-Dest -PortMirroring Destination
關閉VM的端口 mirroring:
Set-VMNetworkAdapter -VMName Wind0ws-VM -PortMirroring None
查看VM的端口 mirroring 設定:
(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
以下命令可用于配置端口 mirroring:
Add-VMNetworkAdapter
– 为 VM 添加新的虚拟网络适配器
Get-NetAdapter
– 显示 VM 的网络适配器列表
Rename-Netadapter
– 更改 VM 的虚拟网络适配器名称
結論
配置Hyper-V埠鏡像可以在Hyper-V管理器的圖形用戶界面或PowerShell中方便地完成。請遵循要求並記住限制條件,例如源目標虛擬機必須位於同一Hyper-V主機上。您可能需要在故障轉移叢集中,使用流量分析工具配置額外的目標虛擬機。Wireshark是一個方便且受歡迎的流量分析工具,但如果需要,您也可以使用其他工具。