Я пытаюсь настроить 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
Тогда это должно сработать.