Я пытаюсь создать простую сеть SDN с использованием виртуальных машин.Настройка сети с 2 хостами и контроллером OpenDaylight.3 виртуальные машины созданы в Virtualbox.Я установил openvswitch на свой хост-компьютер (настольная версия Ubuntu 18.04 LTS с базовой версией ядра 4.15.0-36).На всех виртуальных машинах работает сервер Ubuntu 16.04 LTS.Затем я создал мост в openvswitch (т.е. на моей хост-машине) как
sudo ovs-vsctl add-br br_test
ifconfig br_test up
Затем я добавил физический интерфейс моей хост-машины eth0 к мосту следующим образом.
ovs-vsctl add-port mybridge eth0
Затем я установил IP-адрес физического интерфейса для моста, который я создал в openvswitch.
ifconfig eth0 0
dhclient mybridge
И я смог пропинговать Google с хост-машины.Затем, чтобы соединить мой контроллер ODL и 2 хоста, я создал порты и добавил их в мост.
ip tuntap add mode tap vport1
ip tuntap add mode tap vport2
ip tuntap add mode tap vport3
ifconfig vport1 up
ifconfig vport2 up
ifconfig vport3 up
ovs-vsctl add-port br_test vport1 -- add-port br_test vport2 -- add-port
br_test vport3
Затем все 3 виртуальные машины были подключены к мосту openvswitch с помощью vport1, vport2 и vport3.Я также мог пинговать Google с виртуальных машин.Проблема приходит после этого.Когда я пытаюсь подключить контроллер ODL к openvswitch как
sudo ovs-vsctl set-controller mybridge tcp:ip_of_the_host:6633
Когда я выполняю эту команду и проверяю статус контроллера в openvswitch, он показывает, что контроллер подключен, но вскоре вся сеть выходит из строя,Когда я проверил, eth0 физического хоста также получил IP-адрес, и он совпадает с IP-адресом моста в openvswitch.
Я не мог найти причину сбоя или любой другой возможный способ подключения виртуальных машин.Есть ли другой способ сделать это?Вместо создания openvswitch на физической машине, могу ли я создать его на виртуальной машине и подключить к ней другие виртуальные машины?
Любая помощь очень ценится.Заранее спасибо.