Revision history [back]

VM cannot ping internet


I know this question was asked several times. Therefore I spent an hour reading previous posts. None seem to describe my case. The closest seems to be [ovs] br-ex confusion and neutron network but I don't understand why they have both br-eth0 and br-ex. Shouldn't it work fine if we rename the original br-eth0 to br-ex? The manual for the minimal 3 node neutron installation seems to say everything should work with br-ex only (ref. Juno neutron basic installation).

I did not want to follow up the above original question as it was asked more than a year ago. So, let me explain my case.

I am running Juno minimal neutron installation with 3 nodes (controller, network, compute1); just as in the manual. Nodes are running Ubuntu 14.04 as a VirtualBox VMs on my Desktop. I successfully created OpenStack VMs and they can ping, ssh each other though local network (on subnet). But OpenStack VMs can not access the external network.

My network node's eth0 is connected to internet via VirtualBox NAT (on subnet), which is used as the port of the br-ex (see content of network node's /etc/network/interface). Note that I manually made br-ex entry on the file because for some reason br-ex did not automatically get IP address when configured via OVS. I can access the Internet from network node via br-ex on

ovs-vsctl shows br-ex as correctly bridged on eth0 (see the screenshot). Here is my OpenStack virtual network topology. OpenStack VMs can ping router's external address on but cannot ping any public DNS such as

First, I checked if packets are reaching br-ex. Apparently no, when I ping (br-ex IP address) from the OpenStack VM and do tcpdump -i any -n host on the network node, it shows ARP request messages on br-int (see screenshot) but nothing shows up on tcpdump -i br-ex -n host

Network node's ip route outputs:
default via dev br-ex dev eth1 proto kernel scope link src dev eth2 proto kernel scope link src dev br-ex proto kernel scope link src

Can someone please point what is going wrong? Any help is appreciated.