Hyper-V Port Mirroring – захват внешнего трафика с физического интерфейса
Мне несколько раз задавали вопрос, позволяет ли Hyper-V настроить Port Mirroring таким образом, чтобы трафик с физического интерфейса, поверх которого создан виртуальный коммутатор, целиком отправлялся в зеркалирующую виртуальную машину для анализа. VMware это умеет, а Hyper-V Port Mirroring по умолчанию захватывает лишь трафик, попавший внутри виртуального коммутатора – естественно, внешний трафик, не предназначенный конкретной ВМ, туда просто не попадает. Увы, не помню, с кем вел переписку по данному вопросу – еще во времена работы в команде Microsoft. Задача редкая и никак не документированная. Недавно было найдено решение этой проблемы.
Предлагаемый ниже метод работает на узлах с Windows Server 2012 R2. Для Windows Server 2012 должно быть установлено обновление 2885541
Итак, потребуется настроить Port Mirroring в режиме Destination для машины в которую будем направлять внешний трафик.
Для виртуального коммутатора требуется включить NDIS Capture.
В качестве источника трафика настроить внешний порт виртуального коммутатора при помощи данных команд PowerShell:
$a = Get-VMSystemSwitchExtensionPortFeature -Name “Ethernet Switch Port Security Settings”
$a.SettingData.MonitorMode = 2
Add-VMSwitchExtensionPortFeature -ExternalPort –SwitchName <v-switch name> -VMSwitchExtensionFeature $a
Буду рад, если это кому-то поможет.
Comments
- Anonymous
January 01, 2003
Hi Alex, can you contact me by email or phone please? - Anonymous
September 25, 2014
Настроил согласно этот статье, но на виртуалке внутри hyper-V видна только половина зеркала (исходящие пакеты). На физическом интерфейсе видно и входящий и исходящий трафик. В чём может быть дело?