想請問有前輩們在這部份有研究的嗎? 實體層的流量在虛擬層卻看不到,是為什麼呢? 有沒有解決方法,因為在虛擬主機上能用的網卡也只能指定由實體網卡產生的虛擬網卡,能否直接使用實體網卡呢?
Hyper-V 對 promiscous mode 的支援沒有 VMware 來得直覺...
如果你是想要 VM 可以聽到外面送進來的封包, 必須把網卡的 Port Mirror Mode 設定成 Destination:
如果你是想要 VM 送出來的封包, 可以被其他 VM 聽到的話, 必須把網卡的 Port Mirror Mode 設定成 Source:
但是, 如果你是 VM 想要聽到外面實體網路的封包的話呢? 這邊就有限制了:
要解決這個問題, 可能要加裝 Cisco 的 NEXUS 1000V 虛擬交換器...
相關資訊請參考:
Hyper-V Port Mirroring and Network Capture
Exploring Hyper-V Virtual Switch Port Mirroring
What's New in Hyper-V Virtual Switch
KB2885541 – Packet Sniffing Tools Misses Packets Via Hyper-V Port Mirroring
Guest要透過Virtual Switch才能touch到Physical NIC,而Virtual Switch既然是virtual出來的,原理上應該是靠Hypervisor判斷須要往哪個Guest forward,才往那個Guest forward,如果Hypervisor認為不須要forward給Guest(i.e. Mirror port送過來,destination MAC address既不是Ethernet broadcast也非Guest的MAC address的traffic),就算Guest跑promiscous mode也看不到吧....