通過埠鏡像 HP-2610 到 Hyper-V 的單向流量
我有一個 Hyper-V 盒子,它具有以下連接的 IP 電話的通話錄音:
- PBX 在接入埠(本地 vlan 42)上,插入交換機上的埠 22(它沒有 VLAN 設置,因此我們設置本地接入 vlan,使其所有流量都在 VLAN 42 上)。
- 混合埠上的電話(本機 vlan 1 用於工作站,標記為 42 用於電話)
- Hyper-V 機器上用於來賓 VM 的專用 NIC
- Hyper-V 機器上的專用 NIC,用於監視交換機上的埠 21。
- 在 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 主機上啟用了監控:
在 Hyper-V 主機上,創建一個名為 Monitor 的新虛擬交換機,它物理連接到專用的監視 NIC(也為一般流量創建一個單獨的交換機)。
啟用擴展 Microsoft NDIS Capture。
$portFeature=Get-VMSystemSwitchExtensionPortFeature -FeatureName "Ethernet Switch Port Security Settings"
$portFeature.SettingData.MonitorMode = 2
Add-VMSwitchExtensionPortFeature -ExternalPort -SwitchName Monitor -VMSwitchExtensionFeature $portFeature
創建一個新的虛擬機,添加以下虛擬網路適配器:
用於連接到訪客虛擬交換機的一般數據流量的 NIC
用於監控連接到監控虛擬交換機的流量的 NIC
在來賓虛擬機的監控虛擬網卡下,進入
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
然後我能夠看到雙向交通!