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

Windows 8 Hyper-V и сети VLAN

Я пытаюсь настроить Hyper-V в Windows 8 так, чтобы у меня были:

Я создал указанные виртуальные машины, и обе они подключены к одному коммутатору. Я использовал следующие команды из PowerShell, чтобы установить сетевой интерфейс Vyatta в транковый режим:

$z = (Get-VMNetworkAdapter -VMName vyatta)[1]
Set-VMNetworkAdapterVlan -VMNetworkAdapter $z -Trunk -NativeVlanId 1 -AllowedVlanIdList 1-4000
Get-VMNetworkAdapterVlan
VMName                       VMNetworkAdapterName Mode     VlanList
------                       -------------------- ----     --------
                             swname               Untagged
windowsvm                    Network Adapter      Access   2002
vyatta                       Network Adapter      Trunk    1,1-4000

Насколько я понимаю VLAN и Hyper-V, это должно быть все, что мне нужно сделать. Тем не менее, похоже, что тег удаляется и заменяется собственным тегом VLAN.

При выполнении захвата на указанном интерфейсе на Vyatta (tcpdump -s0 -XX -nnpi eth0) пакет ARP, поступающий с компьютера Windows, выглядит следующим образом:

11:26:50.908865 ARP, Request who-has 10.16.32.1 tell 10.16.32.2, length 28
        0x0000:  ffff ffff ffff 0015 5d01 dc03 0806 0001  ........].......
        0x0010:  0800 0604 0001 0015 5d01 dc03 0a10 2002  ........].......
        0x0020:  0000 0000 0000 0a10 2001                 ..........

Обратите внимание на 0x000C-x000F, который показывает 0001 (VLAN ID = 1) вместо 07d2 (VLAN ID = 2002).

Я также заметил, что если я изменю AllowedVlanIdList, чтобы он не включал 2002, я больше не увижу ARP-запрос.

Кто-нибудь знает, как я мог заставить Hyper-V сохранить тег или это ограничение для W8 Hyper-V?

Я не уверен, поддерживает ли Windows Server 2008 R2 сеть, которую вы использовали там, ни в Virtual Machine Manager 2008 R2, ни в Hyper-V Manager в 2008 R2, я не вижу, как настроить транкинг VLAN для каждой виртуальной машины. машинный уровень. В моей настройке в соответствии с сетевой конфигурацией Virtual Machine Manager 2008 R2 я вижу следующее:

На коммутаторе у меня VLAN 1 установлена ​​как основная (немаркированная), а все остальное помечено, а порты коммутатора для сервера установлены как транковые. Затем я настроил свой блок Vyatta так, чтобы у него был один сетевой адаптер для каждой VLAN, к которой я хотел получить доступ, я никогда не мог настроить магистраль в VLAN, и управление виртуальной машиной, похоже, указывает, что это невозможно в 2008 R2, и я не уверен, что это действительно реализовано для этого.

Я знаю, что Set-VMNetworkAdapterVlan Командлет PowerShell был добавлен в пакет управления WMF 3.0, который в настоящее время не рекомендуется устанавливать на 2008 R2, поскольку он был выпущен с серьезными проблемами. (Вскоре планируется выпустить WMF 4.0, который, как я полагаю, решит эти проблемы.) Возможно, командлет, который вы используете для установки сетевого адаптера виртуальной машины Vyatta в транковый режим, не полностью реализован в 2008 R2. Я никогда не видел, чтобы виртуальная машина была настроена в транкинговом режиме.

Увы, у меня нет настройки 2012 года с Vyatta и Wireshark, чтобы протестировать вашу настройку.

Установите NativeVlanId на 0

Тогда это должно сработать.