Зеркалирование портов в Hyper-V 2012

В Windows Server 2012 Hyper-V появилась новая функция — зеркалирование портов (port mirroring) , позволяющая мониторить трафик виртуальных машин без необходимости захватывать трафик непосредственно внутри самой гостевой ОС. По сути, эта функция то же самое, что и аппаратный port mirroring, но на уровне виртуального коммутатора Hyper-V. Зеркалирование портов можно использовать в системах на базе Hyper-V для поиска неисправностей в сети, тестирования, мониторинга, анализа сетевого трафика и перенаправления трафика на анализ в IDS системы (системы обнаружения вторжений). Попробуем настроить зеркалирование трафика в Hyper-V 2012 на конкретном примере.

Системные требования для организации мирроринга портов в Hyper-V 2012:

  • Система с Windows Server 2012 Hyper-V и административного доступа к ней
  • Как минимум один виртуальный коммутатор (vSwitch)
  • Как минимум две виртуальные машины: трафик первой мы будет дублировать на вторую

Настройка зеркалирования портов с помощью GUI

  1. Откройте консоль управления Hyper-V Manager
  2. Перейдите в настройки виртуальной машины, трафик которой будем зеркалировать ( Settings ) Настройка зеркалирования портов в ms hyper-v 2012
  3. В окне параметров виртуальной машины найдите сетевой адаптер, на котором необходимо включить захват трафика и перейдите в раздел расширенных настроек ( Advanced Features)
  4. В разделе Port mirroring найдите параметр Mirroring Mode и измените его значение на Source (тем самым мы на уровне виртуального коммутатора Hyper-V включим зеркалирование данного порта) hyper-v 2012 выбор зеркалируемого порта
  5. Если в вашей конфигурации Hyper-V используется более одного виртуального коммутатора, необходимо запомнить его имя (в нашем примере это Hyper-V-Guests ).

Следующий этап – настройка виртуальной машины, на которую будет дублироваться трафик с первой. Для удобства анализа сетевого трафика рекомендуется в данную машину добавить отдельную виртуальную сетевую карту (vNIC), подключенную к тому же виртуальному коммутатору. Выделенная карточка позволяет получить максимально полный дамп сетевого трафика за счет отключения ненужных служб и протоколов в гостевой ОС (подробнее об этом ниже). Для этого:

  1. Погасите виртуальную машину, которая будет выступать в качестве приемника «захватываемого» трафика
  2. Перейдите в ее настройки ( Settings ) и добавьте новое оборудование ( Add Hardware ) типа Network Adapter
  3. Если используется несколько коммутаторов, включите новую сетевую карту именно в тот, в котором находилась первая виртуальная машина (коммутатор Hyper-V-Guests). В расширенных свойствах новой сетевой карты в разделе Port mirroring укажите, что сетевая карта будет выступать в качестве приемника сетевого трафика Mirroring Mode Destination . hyper-v-2012 port mirror destination
  4. Включите виртуальную машину

Далее перейдем к настройке зеркалирования в гостевой Windows, являющейся приемником трафика.

  1. Зайдите на машину через консоль Hyper-V или по rdp .
  2. В панели управления сетевыми подключениями найдите добавленную ранее сетевую карту и для упрощения дальнейшей идентификации переименуйте ее (например, в Hyper-V-Guests-Mirror-Port).
  3. Откройте свойства данного сетевого подключения и отключите все протоколы и службы. Тем самым мы добьемся «чистоты» захватываемого трафика, который ничем не фильтруется и не ограничивается, поступая в точно таком же виде, в каком он попадает на mirror порт. windows отключаем все протоколы и службу на сетевом подключении

Далее можно переходить непосредственно к работе с перенаправленным трафиком: это может быть некая IDS система или система захвата и анализа сетевого трафика (Packet Capture), например Microsoft Network Monitor, Message Analyzer, Wireshark или т.п.

windows захват и анализ сетевых пакетов

Port Mirroring с помощью Powershell

В Windows Server 2012 Hyper-V управлять настройками зеркалирования трафика можно и с помощью Powershell.

В следующем примере мы с помощью Powershell включим port mirroring на виртуальной машине с именем VMWin2008Source и направим трафик на виртуальную машину с именем VMWin2008Monitor:

Set-VMNetworkAdapter –VMName VMWin2008Source –PortMirroring Source
Set-VMNetworkAdapter –VMName VMWin2008Monitor –PortMirroring Destination

Информация : Кроме того, полезными могут быть следующе команды:

  • Add-VMNetworkAdapter — добавить новый сетевой адаптер в виртуальную машину
  • Get-NetAdapter — получить список сетевых карт (NIC)
  • Rename-Netadapter — переименовать сетевую карту

Но есть и небольшая ложка дегтя – порт мирроринг работает в пределах только одного сервера Hyper-V (который, кстати, может работать непосредственно с USB флешки). Это означает, что если виртуальная машина, трафик которой зеркалируется, смигрировала на другой сервер кластера Hyper-V, то зеркалирование трафика перестает работать (на втором хосте также придется настроить отдельную машину для захвата трафика).

EnglishRussianUkrainian