Назад | Перейти на главную страницу

Частный виртуальный коммутатор Hyper V 2012 R2 с переключателями транка и режима доступа

Возможно ли с помощью Hyper-V 2012R2 создать виртуальный коммутатор, внутренний для Hyper-V (без необходимости или необходимости внешнего подключения), где один участник коммутатора (виртуальная машина 0 на схеме ниже) имеет магистральный интерфейс, а остальные виртуальные машины (ВМ 1 ... ВМ n на диаграмме ниже) у каждой есть порты доступа к виртуальному коммутатору, помеченные конкретным идентификатором VLAN.

   _______________________________________________________
  |                   Hyper-V host                        |
  |                                                       |
  |   _____            _____      ______       ______     |
  |  | VM0 |          | VM1 |    | VM 2 | ... | VM n |    |
  |  |     |          |     |    |      |     |      |    |
  |  |_____|          |_____|    |______|     |______|    |
  |    |:| eth0          | eth0     | eth0       | eth0   |
  |    |:| trunk         | vlan 1   | vlan 2     | vlan 3 |
  |    |:|               |          |            |        |
  |   =================================================   |
  |               Virtual Switch                          |
  |_______________________________________________________|

Например, немаркированные пакеты, покидающие eth0 Интерфейс VM2 будет помечен тегом VLAN 2 при передаче на виртуальный коммутатор. Затем они будут выходить через магистральный порт к VM0, откуда они прибывают в виртуальную машину через eth0 этой виртуальной машины и (если это была виртуальная машина Linux) быть читаемой на eth0.2, то есть маркировка VLAN будет очевидна для VM0. Аналогично исходящий трафик eth0 VM0, помеченного тегом VLAN 2, войдет в виртуальный коммутатор с этим тегом на месте, и тег будет удален перед его отправкой в ​​VM2, где он появится на виртуальных машинах eth0 интерфейс немаркирован.

Если да, то как достигается эта маркировка? Я не эксперт по Hyper-V, и единственная документация, которую я могу найти, говорит о том, что весь коммутатор находится в режиме магистрали или режиме доступа. Очевидно, что коммутатор должен нести теги VLAN, но мне нужно перевести разные порты в режим транка или доступа. Возможно ли это без внешнего интерфейса? Я также не хочу и не нуждаюсь в подключении к родительскому разделу Hyper-V.

ВОПРОСЫ-ОТВЕТЫ:

Вы можете создать магистральную ссылку на виртуальную машину.

https://technet.microsoft.com/en-us/library/hh848475.aspx

Обычно ваша команда будет такой:

Set-VMNetworkAdapterVlan -VMname $VMName -VMNetworkAdapterName $VMNetworkAdapterName -Trunk -AllowedVlanIdList "vlan number" -NativeVlanId "vlan ID"

Насколько я понимаю, вам нужно, чтобы все виртуальные машины имели магистральный сетевой адаптер.

Собственный Vlan в Hyper-V используется для маркировки всего исходящего трафика, поэтому, если у вас есть магистраль сетевого адаптера VM0 с собственным vlan 50 и все остальные разрешенные, а также доступ к сетевому адаптеру VM1 с Vlan 1. Затем VM1 -> VM0 успешно, но VM0 -> VM1 нет. (В разделе -> я имею в виду отправку пакетов и их доставку по назначению, и это не обязательно гарантирует успешный обратный поток)

Итак, ваша VM0 должна иметь некоторые общие для всех машин VLAN X как собственный vlan и все необходимые vlan от всех других виртуальных машин в списке разрешенных vlan. Любая другая виртуальная машина должна иметь свой уникальный VLAN как собственный, а VLAN X - разрешенный.

Например:

VM Name     | Native Vlan | Allowed Vlan
VM1         | 1           | 1,50
VM2         | 2           | 2,50
VMn         | n           | n,50
VM0         | 50          | 1,2,n,50

Здесь VM0 -> Any VM = успешно, Any VM -> VM0 = Success и VMn -> VMm (если «n» и «m» не равны 0) = сбой.

Надеюсь, это поможет и извините за грамматические ошибки.