Networking

通過埠鏡像 HP-2610 到 Hyper-V 的單向流量

  • December 5, 2020

我有一個 Hyper-V 盒子,它具有以下連接的 IP 電話的通話錄音:

  1. PBX 在接入埠(本地 vlan 42)上,插入交換機上的埠 22(它沒有 VLAN 設置,因此我們設置本地接入 vlan,使其所有流量都在 VLAN 42 上)。
  2. 混合埠上的電話(本機 vlan 1 用於工作站,標記為 42 用於電話)
  3. Hyper-V 機器上用於來賓 VM 的專用 NIC
  4. Hyper-V 機器上的專用 NIC,用於監視交換機上的埠 21。
  5. 在 Hyper-V 上啟用埠鏡像

HP ProCurve 2610-24 交換機配置如下:

mirror-port 21
vlan 1
 name "DEFAULT"
 untagged 1-17,19-21,23-28
 no untagged 18,22
exit
vlan 42
 name "VOICE"
 untagged 22
 tagged 1-20,23,26
exit
interface 22
 monitor
exit

我在 Hyper-V 主機上啟用了監控:

  1. 在 Hyper-V 主機上,創建一個名為 Monitor 的新虛擬交換機,它物理連接到專用的監視 NIC(也為一般流量創建一個單獨的交換機)。

  2. 啟用擴展 Microsoft NDIS Capture。

  3. $portFeature=Get-VMSystemSwitchExtensionPortFeature -FeatureName "Ethernet Switch Port Security Settings"

  4. $portFeature.SettingData.MonitorMode = 2

  5. Add-VMSwitchExtensionPortFeature -ExternalPort -SwitchName Monitor -VMSwitchExtensionFeature $portFeature

  6. 創建一個新的虛擬機,添加以下虛擬網路適配器:

  7. 用於連接到訪客虛擬交換機的一般數據流量的 NIC

  8. 用於監控連接到監控虛擬交換機的流量的 NIC

  9. 在來賓虛擬機的監控虛擬網卡下,進入Advanced Features,將埠鏡像模式設置為Destination

當我在訪客監控 VM 上執行 Wire-shark 時,我只看到從 PBX(源)到電話(目的地)的單向流量,而不是從電話到 PBX。

原則上,由於 PBX 可以發送/接收未標記的數據(在埠 22 上顯示),這應該在埠監控埠上逐字顯示為未標記的數據幀(對於本地 VLAN 42),否則我會叫錯樹?

我已經完成了相同的 Hyper-V 設置,但使用了 Cisco,並且沒有任何問題可以正常工作。

不確定這是我做錯了什麼,是 Windows 的問題,還是 HP 的問題。非常感謝指針。

根據上述配置,埠鏡像是正確的(HP 在其 25xx 和 26xx 型號上聲明其監控保留 VLAN 標籤,無論被監控的埠是否設置為未標記 - 注意,這是用於埠監控,不確定這是否是新型號上的 vlan 類型不同,因為無法在此韌體上進行測試)。

我的第一步是使用預設監控設置來擷取 VM 上的流量:

// On Hyper-V host, create a new virtual switch called Monitor, this
// physically connects to the dedicated monitoring NIC (create a separate switch for general traffic also).
// Also Enable extension Microsoft NDIS Capture for this NIC.
$portFeature=Get-VMSystemSwitchExtensionPortFeature -FeatureName "Ethernet Switch Port Security Settings"
$portFeature.SettingData.MonitorMode = 2
Add-VMSwitchExtensionPortFeature -ExternalPort -SwitchName Monitor -VMSwitchExtensionFeature $portFeature
// final step i did through GUI => Under the monitor virtual network adapter
// of the guest VM, go to Advanced Features, and set the port mirror mode to Destination.

我可以看到我正在獲取來自 PBX 的所有未標記幀(它沒有標記幀的概念)。

然後我嘗試將中繼設置到交換機以接收標記的 42 和本機 vlan 42 Set-VMNetworkAdapterVlan -VMName MonitorVM -VMNetworkAdapterName Monitor -Trunk -Allowed VlanIdList 813 -NativeVlanId 42,此時我看到我不再接收 PBX 數據(未標記的幀)。

線上閱讀後,我發現Hyper-V 將 untagged (vlan disabled) 定義為 VLAN ID 0

將主幹設置為 VM以接受標記的 42 幀和未標記的幀(重命名介面,以便我只能針對它):

$a = Get-VMNetworkAdapter -vmname MonitorVM
$a[1] -NewName Monitor // referenced the monitor NIC, you will need to search array to check
Set-VMNetworkAdapterVlan -VMName MonitorVM -VMNetworkAdapterName Monitor -Trunk -Allowed VlanIdList 813 -NativeVlanId 0

然後我能夠看到雙向交通!

引用自:https://serverfault.com/questions/887066