Поддержка Private VLAN в Windows Server 2012

В Windows Server 2012 появился новый компонент Hyper-V, который называется Hyper-V Extensible Switch. Этот элемент является коммутатором второго уровня, который поддерживает PVLAN-технологию и может управляться пользователем. Относительно Hyper-V, пользователь может присвоить всем портам Hyper-V Extensible Switch главный Primary VLAN ID (или первичный, основной идентификатор), а также еще один (или больше) дополнительный Secondary VLAN ID (или вторичный). На свитче Hyper-V порты определяются с помощью виртуальной машины. За это отвечает сетевой адаптер (или адаптеры), который подключен к определенному порту. Другими словами, задавая настройки для Hyper-V Extensible Switch, пользователь настраивать сразу и виртуальную машину.

Во время настройки PVLAN и определения идентификаторов, порты могут определяться в одном из нескольких режимов.

  1. Смешанный режим (promiscuous) – ВМ получает возможность обмениваться пакетами между портами с одинаковым первичным ID.
  2. Общий режим (community) – возможен обмен пакетами с любыми портами, которые были сконфигурированы в общем режиме, а также у которых совпадают первичный и вторичный идентификаторы. Также ВМ может работать со смешанными портами с одинаковым Primary VLAN ID.
  3. Изолированный (isolated) – возможно взаимодействие с портами типа promiscuous, с одинаковым первичным ID.

Hyper-V Extensible Switch, во время работы, автоматически переводит порты, которые определяются с физическим сетевым адаптером, в режим «trunk». Если аппаратные свитчи не мешают проводить тестирование пакетов, ВМ может быть запущен либо на одном хосте, либо на абсолютно разных. В этом случае PVLAN используется, по большей части, как дополнительная защита ВМ.

Пример использования PVLAN

Например, пользователь запустил на одном и том же хосте сразу 4 ВМ. При этом, SRV1 и 2 относится к отделу продаж, SRV4 работает для финансового департамента, а SRV3 служит основной для запуска общих сервисов, необходимых для всех ВМ. SRV1 и SRV2 также обладают несколькими компонентами, допустим, в активном режиме находятся SharePoint и SQL Server, включающий базу данных.

С помощью PVLAN можно сконфигурировать первые два сервера в общем режиме (назначив первичный ID = 2, и вторичный ID = 5). Четвертый сервер конфигурируется в режиме «изолированный» с главным ID = 2, и вторичным ID = 4. И наконец, SRV3 определяется в режиме «смешанный», при этом назначается Primary VLAN ID значение 2, а вот для Secondary VLAN ID указывается два значения (4 и 5).

Реализацию такой задачи в Windows Server 20 можно начать с SRV4. Прежде всего, пользователь должен осуществить настройку PVLAN с помощью PowerShell. Для начала, необходимо ввести команду Get-VMNetworkAdapter (параметр – имя BM), чтобы получить информацию о текущих адаптерах ВМ. В случае, с SRV4 это будет единственный адаптер с одноименным названием (название также совпадает с именем виртуальной машины). Команда Get-VMNetworkAdapterVlan выведет на экран текущие настройки порта Hyper-V Extensible Swit. По умолчанию SRV4, как и остальные сервера будет находиться в режиме «Access» с VLAN ID = 0. Изменить режим (включить) можно с помощью команды Set-VMNetworkAdapterVlan:.

VMName srv4 -> VMNetworkAdapterName srv4 -> Isolated -> PrimaryVlanId 2 -> SecondaryVlanId 4 (указываем имя сервера и адаптера, определяем режим сервера и указываем ID).

Для взаимодействия SRV4 с другими серверами теперь необходимо настроить функцию PVLAN для каждого из них. Можно сразу настроить все три сервера с помощью конвейера PowerShell. В этом случае результат выполнения первой команды переходит на следующую. При указании вторичного ID для SRV3 используется несколько иной параметр — SecondaryVlanIdList 4-5, который указывает диапазон значения для данного идентификатора.