Я использую машину Debian 9 в качестве маршрутизатора с двумя интерфейсами:
eth0 for WAN
eth1 for LAN
У eth1 есть подинтерфейсы для нескольких VLAN (eth1.10; eth1.20; eth1.30) и есть магистральное соединение с управляемым коммутатором. К портам доступа коммутатора подключены различные устройства, имеющие доступ в Интернет. Довольно стандартная настройка, все работает как положено.
Теперь я пытаюсь создать несколько виртуальных машин прямо внутри маршрутизатора Debian с помощью libvirt / KVM / Qemu и подключить их с помощью моста OVS к существующим VLAN. Что-то вроде воссоздания той же физической конфигурации, что я описал выше, но виртуализированной.
Я попытался создать ovsbr0, добавить порт eth1 для моста, а затем добавить помеченные порты для определенных VLAN, к которым я хотел, чтобы виртуальные машины подключались следующим образом:
# ovs-vsctl add-br ovsbr0
# ovs-vsctl add-port ovsbr0 eth1
# ovs-vsctl add-port ovsbr0 vnet1 tag=10
# ovs-vsctl add-port ovsbr0 vnet2 tag=20
# ovs-vsctl add-port ovsbr0 vnet3 tag=30
Когда я запускаю настоящие виртуальные машины, мост выглядит так:
# ovs-vsctl show
Bridge ovsbr0
Port ovsbr0
Interface ovsbr0
type: internal
Port "eth1"
Interface "eth1"
Port "vnet1"
tag: 10
Interface "vnet1"
Port "vnet2"
tag: 20
Interface "vnet2"
Port "vnet3"
tag: 30
Interface "vnet3"
К моему удивлению, интерфейсы vnet виртуальных машин не имеют связи. Из tcpdump на eth1 я вижу, что кадры ARP от виртуальных машин правильно помечены и достигают интерфейса eth1, но по какой-то причине не пересылаются на подинтерфейсы. Я никогда раньше не использовал OVS, поэтому я явно упускаю что-то важное, но не могу понять, что это такое.
Может ли кто-нибудь указать мне правильное направление?
Мост OVS будет перенаправлять трафик только на порты, которые являются частью реально настроенного моста. Хотя eth1 правильно добавлен к мосту в качестве магистральных интерфейсов, подынтерфейсы (eth1.10; eht1.20; eth1.30) не являются частью моста и никогда не увидят трафик. Решение простое - просто добавьте упомянутые субинтерфейсы VLAN в мост.