Connectivity problem between virtual machines

I have problems pinging between 2 virtual machines from different hosts, ubuntu 20.04 , opennebula 5.12 , node kvm.

@Rcarl2010 - you probably need to be more specific: what kind of networking do you use on your cluster (say, VXLAN, dedicated bridge, automatically generated bridge, etc.). Then you can run the ping from the inside of the VM, ssh to the OpenNebula host(s), and try to run tcpdump (wireshark, …) on the TUN/TAP interfaces of the VMs, look for the ARP requests, ICMP echo request/reply packets, etc. This will help you to pinpoint the problem.

There can be many sources of problems - firewall setup, routing setup, etc.

I even had a strange problem with VXLAN-based network, when I sometimes was not able to ping a VM on a different host unless I also ran the ping from the other side. It was probably caused by the incorrect multicast filter setup either in ONe, or in the kernel, or even in the NIC firmware - according to tcpdump, the ARP request was broadcasted out of the source VM and the source host, but did not arrive to the destination ONe host interface. I temporarily solved this by ifconfig ethN promisc (allmulti was not sufficient) on all ONe hosts, and it got fixed in some time after that without me noticing this - I upgraded OS, BIOS/FW, and ONe since then, so I don’t know the root cause.


I already solved I had to create a bridge through Cockpit in each host then when I create the virtual networks specify the name of the bridge created in each host with the physical interface that allows the traffic to pass later I created a virtual router belonging to both networks and it worked