Cannot ping to a same subnet VM via floating IP
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Suppose I have two VMs running and they are under the same subnet, they are assigned with the floating IPs. (See attached image). I am using nova network model.
I cannot get ping working if I ping from one VM to another VM via the floating IP.
Ping to another vm which resides in another subnet via floating IP seems fine.
I did some investigation and looks like the packet is being dropped after the PREROUTING rules. Here is the modprobe iptable log:
Jul 17 10:15:40 localhost kernel: [ 1846.629048] TRACE: raw:PREROUTING:
Jul 17 10:15:40 localhost kernel: [ 1846.629055] TRACE: raw:PREROUTING:
Jul 17 10:15:40 localhost kernel: [ 1846.629063] TRACE: mangle:
Jul 17 10:15:40 localhost kernel: [ 1846.629068] TRACE: nat:PREROUTING:
Jul 17 10:15:40 localhost kernel: [ 1846.629074] TRACE: nat:nova-
And from the iptables counter, nothing got incremented after the PREROUTING rule:
sudo iptables -t nat -L -v -n
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
1 84 nova-network-
0 0 nova-api-PREROUTING all -- * * 0.0.0.0/0 0.0.0.0/0
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 nova-network-OUTPUT all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 nova-api-OUTPUT all -- * * 0.0.0.0/0 0.0.0.0/0
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 nova-network-
0 0 nova-api-
0 0 nova-postroutin
Chain nova-api-OUTPUT (1 references)
pkts bytes target prot opt in out source destination
Chain nova-api-
pkts bytes target prot opt in out source destination
Chain nova-api-PREROUTING (1 references)
pkts bytes target prot opt in out source destination
Chain nova-api-float-snat (1 references)
pkts bytes target prot opt in out source destination
Chain nova-api-snat (1 references)
pkts bytes target prot opt in out source destination
0 0 nova-api-float-snat all -- * * 0.0.0.0/0 0.0.0.0/0
Chain nova-network-OUTPUT (1 references)
pkts bytes target prot opt in out source destination
0 0 DNAT all -- * * 0.0.0.0/0 172.24.4.1 to:11.0.0.3
0 0 DNAT all -- * * 0.0.0.0/0 172.24.4.2 to:10.0.0.4
0 0 DNAT all -- * * 0.0.0.0/0 172.24.4.3 to:10.0.0.3
0 0 DNAT all -- * * 0.0.0.0/0 172.24.4.4 to:11.0.0.4
Chain nova-network-
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- * * 10.0.0.0/24 192.168.62.100
0 0 ACCEPT all -- * * 10.0.0.0/24 10.0.0.0/24 ! ctstate DNAT
0 0 ACCEPT all -- * * 11.0.0.0/24 192.168.62.100
0 0 ACCEPT all -- * * 11.0.0.0/24 11.0.0.0/24 ! ctstate DNAT
0 0 SNAT all -- * * 11.0.0.3 0.0.0.0/0 ctstate DNAT to:172.24.4.1
0 0 SNAT all -- * * 10.0.0.4 0.0.0.0/0 ctstate DNAT to:172.24.4.2
0 0 SNAT all -- * * 10.0.0.3 0.0.0.0/0 ctstate DNAT to:172.24.4.3
0 0 SNAT all -- * * 11.0.0.4 0.0.0.0/0 ctstate DNAT to:172.24.4.4
Chain nova-network-
pkts bytes target prot opt in out source destination
0 0 DNAT tcp -- * * 0.0.0.0/0 169.254.169.254 tcp dpt:80 to:192.
0 0 DNAT all -- * * 0.0.0.0/0 172.24.4.1 to:11.0.0.3
1 84 DNAT all -- * * 0.0.0.0/0 172.24.4.2 to:10.0.0.4
0 0 DNAT all -- * * 0.0.0.0/0 172.24.4.3 to:10.0.0.3
0 0 DNAT all -- * * 0.0.0.0/0 172.24.4.4 to:11.0.0.4
Chain nova-network-
pkts bytes target prot opt in out source destination
0 0 SNAT all -- * * 11.0.0.3 11.0.0.3 to:172.24.4.1
0 0 SNAT all -- * eth1 11.0.0.3 0.0.0.0/0 to:172.24.4.1
0 0 SNAT all -- * * 10.0.0.4 10.0.0.4 to:172.24.4.2
0 0 SNAT all -- * eth1 10.0.0.4 0.0.0.0/0 to:172.24.4.2
0 0 SNAT all -- * * 10.0.0.3 10.0.0.3 to:172.24.4.3
0 0 SNAT all -- * eth1 10.0.0.3 0.0.0.0/0 to:172.24.4.3
0 0 SNAT all -- * * 11.0.0.4 11.0.0.4 to:172.24.4.4
0 0 SNAT all -- * eth1 11.0.0.4 0.0.0.0/0 to:172.24.4.4
Chain nova-network-snat (1 references)
pkts bytes target prot opt in out source destination
0 0 nova-network-
0 0 SNAT all -- * eth1 10.0.0.0/24 0.0.0.0/0 to:192.168.62.100
0 0 SNAT all -- * eth1 11.0.0.0/24 0.0.0.0/0 to:192.168.62.100
Chain nova-postroutin
pkts bytes target prot opt in out source destination
0 0 nova-network-snat all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 nova-api-snat all -- * * 0.0.0.0/0 0.0.0.0/0
description: | updated |
Changed in nova: | |
assignee: | nobody → Kahou Lei (kahou82) |
tags: |
added: network removed: floating ip |
@Kahou Lei:
It's been over 2 months since you are set as assignee but without
a commit to solve this bug. To signalize to other contributors that
this is not in progress and can be worked on, I remove you as assignee.
If you still plan to work on this, please set yourself as assignee
again and provide a patch in Gerrit in the near future.
Please consider updating your Launchpad profile with your IRC nickname
and hanging around in #openstack-nova on irc.freenode.net this makes
it easier to communicate with each other (see [1] for more).
If you have any questions about this process, just ping me (markus_z)
in IRC.
[1] https:/ /wiki.openstack .org/wiki/ Nova/Mentoring# Top_Tips_ for_working_ with_the_ Nova_community