External Gateway

asked 2013-12-17 05:24:25 -0600

techistheway gravatar image

updated 2013-12-17 08:37:42 -0600

larsks gravatar image

I have a 3 node setup. 1 control setup as the network node also and 2 compute nodes. I am able to get instances of cirros running and after manually setting the ip addresses, i'm able to ping instances that are on the same network. DHCP never assigns an address and i get the following:

Starting network...
udhcpc (v1.20.1) started
Sending discover...
Sending discover...
Sending discover...
No lease, failing

on the logs of the instances.

But they cant reach their external gateway on the router. This is what my Network Topology looks like:

image description

There so much info i could include but It would make the post all cluttered. Where should I begin to troubleshoot this?

edit retag flag offensive close merge delete

4 answers

Sort by ยป oldest newest most voted

answered 2014-01-03 09:08:04 -0600

Have you set the public network to use an external gateway?

neutron subnet-create --name public_subnet --enable_dhcp=False --allocation-pool=start=,end= --gateway= public
neutron router-gateway-set router1 public

worked for me (where "public" is the public network). The key line is using router-gateway-set with the network name instead of router-interface-add with the subnet name.

If this doesn't work, you should use tcpdump on the hypervisor node to check which interfaces are seeing your DHCP traffic and which ones aren't - tcpdump -i with various interfaces (br_int, br_ex, eth0, qrouter-[ID], etc) - you can find interface names with ifconfig and ovs-brctl.

edit flag offensive delete link more

answered 2013-12-30 21:22:19 -0600

Liping Mao gravatar image

Do you use ovs+vlan? If yes, do you configure the switch to trunk port? If your dhcp agent is on controller node, I think you need to tcpdump the port on br-int / br-ethX in the compute node. Also on the controller node to see where block the packet.

edit flag offensive delete link more

answered 2014-01-02 14:02:28 -0600

techistheway gravatar image

I've done everything I can pretty much think of. The instances are able to ping each other, but not their gateway of I can ping externally to the IP address of the router but nothing past it. I added a default route to the gateway on the instances but nothing. I double checked my security groups but I'm sure I have ICMP and ssh allowed. I included the output of all the components of my topology.

This is what what im doing to assign the addresses on the cirros instances:

ifconfig eth0 netmask route add default gateway


edit flag offensive delete link more


just in case, have you tried to restart all neutron services? Are you using all-in-one setup (with one machine only) ? If not, provider:network_type | local in your ext_net should not work.

T u l gravatar imageT u l ( 2014-01-08 02:13:48 -0600 )edit

answered 2013-12-30 14:41:06 -0600

Cristi Falcas gravatar image

Is this cirros 3.0 or 3.1? The 3.0 had an issue with dhcp. Did you try to assign a static ip and see if you can reach the outside world?

You can get cirros 3.1 from here: http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img

edit flag offensive delete link more


I had kind of forgotten about openstack since this is so frustrating lol. Yes I am using cirros 3.1. I assign static IP addresses and can ping between the two instances but not to their gateway which should be I can ping from the control node to the router, and also externally totherouter.

techistheway gravatar imagetechistheway ( 2013-12-30 17:27:42 -0600 )edit

Get to know Ask OpenStack

Resources for moderators

Question Tools



Asked: 2013-12-17 05:24:25 -0600

Seen: 3,129 times

Last updated: Jan 03 '14