Открытый мост vSwitch в виртуальной машине не отправляет трафик через порт

Я пытаюсь запустить выпуск Pike OpenStack Kolla с Open vSwitch на виртуальной машине как часть среды test / dev. Я чувствую, что упускаю что-то очевидное, но я просто понимаю это.

На виртуальной машине откройте vSwitch в контейнере докера.

Версия как на виртуальной машине, так и на хосте:

openvswitch-switch/xenial-updates,now 2.8.1-0ubuntu0.17.10.2~cloud0 amd64 [installed] Я создаю мост, используя:

ovs-vsctl add-br br-ex ovs-vsctl add-port br-ex ens3 ip addr flush ens3

Я запускаю те же команды на голом сервере, и он отлично работает. В виртуальной машине MAC-адрес для br-ex не соответствует MAC-адресу сетевой карты. MAC-адреса совпадают на экземпляре с голым металлом.

Если я удалю мост ovs-vsctl del-br, трафик будет нормально проходить через интерфейс ens3.

Пока мост активен, ovs-system указана как возможность на nic.

ovs-vsctl show
<snip>
    Bridge br-ex
        Port "ens3"
            Interface "ens3"
        Port br-ex
            Interface br-ex
                type: internal

Основное различие, которое я вижу, заключается в том, что Ens3 в виртуальной машине использует драйвер net-virtio. Я не понимаю, почему это имеет значение.

Ubuntu 16.04.4 - это операционная система как для хоста, так и для виртуальной машины. Использование типичных вычислительных узлов KVM, QUEMU и libvirt.


person RandyMartini    schedule 09.03.2018    source источник
comment
Это неправильное место, чтобы задавать этот вопрос.   -  person Ulrich Eckhardt    schedule 10.03.2018
comment
Где лучше задать этот вопрос?   -  person RandyMartini    schedule 10.03.2018
comment
Вы смотрели serverfault.com/search?q=%5Bkvm-virtualization%5D+mac?   -  person tk421    schedule 10.03.2018


Ответы (1)


Я до сих пор не знаю, почему на виртуальной машине это ведет себя иначе, чем на «голом железе». Настройка MAC на мосту в соответствии с сетевым интерфейсом решила эту проблему.

ovs-vsctl add-br br-ex -- set bridge br-ex other-config:hwaddr=\"ff:ff:ff:ff:ff:ff\"'
person RandyMartini    schedule 16.03.2018