Unable to ping private network interface on router or any instances attached to router
I've set up Neutron public and tenant networking according to the Ubuntu Liberty install guide. I'm having trouble getting tenant networks workingI have created a public and private network and assigned a subnet to each of them. I can create an instance on the public network and everything works. When I create an instance on the private network and assign an IP to it, I can't communicate with it. Also, I can't ping the 'public' side of the router attached to the private subnet and when I VNC to the instance running on the private network, it can only ping as far as its gateway on the private network, nothing past that works.
I've created two networks in Neutron:
$ neutron subnet-list
+--------------------------------------+---------+----------------+--------------------------------------------------+
| id | name | cidr | allocation_pools |
+--------------------------------------+---------+----------------+--------------------------------------------------+
| 5ae8659a-525f-4173-b413-e3934428e840 | public | 172.18.0.0/22 | {"start": "172.18.1.195", "end": "172.18.1.230"} |
| 41805d59-3b7d-4a5f-8cc7-9f795368ea58 | private | 192.168.1.0/24 | {"start": "192.168.1.2", "end": "192.168.1.254"} |
+--------------------------------------+---------+----------------+--------------------------------------------------+
Here are the details of each:
$ neutron subnet-show private
+-------------------+--------------------------------------------------+
| Field | Value |
+-------------------+--------------------------------------------------+
| allocation_pools | {"start": "192.168.1.2", "end": "192.168.1.254"} |
| cidr | 192.168.1.0/24 |
| dns_nameservers | 8.8.8.8 |
| enable_dhcp | True |
| gateway_ip | 192.168.1.1 |
| host_routes | |
| id | 41805d59-3b7d-4a5f-8cc7-9f795368ea58 |
| ip_version | 4 |
| ipv6_address_mode | |
| ipv6_ra_mode | |
| name | private |
| network_id | 42067c22-3499-4d92-adc2-017f4085ce9a |
| subnetpool_id | |
| tenant_id | 5648ab9f768f4fc0afc541371dacf2f9 |
+-------------------+--------------------------------------------------+
$ neutron subnet-show public
+-------------------+--------------------------------------------------+
| Field | Value |
+-------------------+--------------------------------------------------+
| allocation_pools | {"start": "172.18.1.195", "end": "172.18.1.230"} |
| cidr | 172.18.0.0/22 |
| dns_nameservers | 172.18.1.5 |
| enable_dhcp | True |
| gateway_ip | 172.18.0.1 |
| host_routes | |
| id | 5ae8659a-525f-4173-b413-e3934428e840 |
| ip_version | 4 |
| ipv6_address_mode | |
| ipv6_ra_mode | |
| name | public |
| network_id | 11a30862-96f0-40d3-a826-f42924d10086 |
| subnetpool_id | |
| tenant_id | cf7bd0047cec46c9a51675aef6add576 |
+-------------------+--------------------------------------------------+
My neutron system and my compute node have two network interfaces, one for public networks (eth1) and the other for management/private networks (eth0):
On the NEUTRON/CONTROL system:
$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:50:56:a3:41:ec
inet addr:172.18.1.80 Bcast:172.18.3.255 Mask:255.255.252.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1319835 errors:0 dropped:12079 overruns:0 frame:0
TX packets:622529 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1804763786 (1.8 GB) TX bytes:764407696 (764.4 MB)
$ ifconfig eth1
eth1 Link encap:Ethernet HWaddr 00:50:56:a3:2e:df
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1462139 errors:9204 dropped:18341 overruns:0 frame:0
TX packets:78 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:121271062 (121.2 MB) TX bytes:6141 (6.1 KB)
/etc/nova/nova.conf:
[neutron]
url = http://openstack-control1:9696
auth_url = http://openstack-control1:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
region_name = RegionOne
project_name = service
username = neutron
password = XXXXXX
/etc/neutron/plugins/ml2/linuxbridge_agent.ini:
[linux_bridge]
physical_interface_mappings = public:eth1
[vxlan]
enable_vxlan = True
local_ip = 172.18.1.80
l2_population = True
[agent]
prevent_arp_spoofing = True
[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
/etc/neutron/l3_agent.ini:
[DEFAULT]
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
external_network_bridge ...
if i understood correctly u are not able to ping to the router from outside(neutron or compute) node. can u detach and recreate the interface to router. Also try to capture the packets using tcpdump in your bridge and its interfaces.