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 (2)

  1. SAMIR FARHAT says:

    Hi Alex, can you contact me by email or phone please?

  2. Олег says:

    Настроил согласно этот статье, но на виртуалке внутри hyper-V видна только половина зеркала (исходящие пакеты). На физическом интерфейсе видно и входящий и исходящий трафик. В чём может быть дело?

Skip to main content