floating ip portforwarding from external not working
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
New
|
Undecided
|
Unassigned |
Bug Description
We are running neutron victoria 17.4.1. The floating ip port forwarding extention doesn't seem to work with external traffic.
After debugging it looks like the neutron port forwarding extention doesn't create a necessary iptables rule responsible for setting the 0x4000000/
(public ip addresses replaced with *.*.*.)
Reproduction:
`openstack floating ip port forwarding create --internal-
We see a created dnat rule:
Chain neutron-
pkts bytes target prot opt in out source destination
0 0 DNAT tcp -- * * 0.0.0.0/0 *.*.*.172 tcp dpt:80 to:10.0.0.227:80
But there is no rule in the mangle table that sets the required marker to pass the DROP rule inside the neutron-
Speaking for the described suspicion is a functioning port forwarding from the internal network of the vm. Those packets are received by the qr interface of the router before hitting the DROP rule.
This is the mangle rule which seems to work for internal traffic:
Chain neutron-
pkts bytes target prot opt in out source destination
75895 11M MARK all -- qr-61cfbe6d-89 * 0.0.0.0/0 0.0.0.0/0 MARK xset 0x4000000/
If I see this correctly the port forwarding extention needs to create a mangle chain/rule like all other floating ips get, example floating ip chain:
Chain neutron-
pkts bytes target prot opt in out source destination
42728 4400K MARK all -- * * 0.0.0.0/0 *.*.*.89 MARK xset 0x4000000/
tags: | added: l3-ipam-dhcp |
Hi!
If I understand correctly, a floating ip is always supposed to be an external net IP. Therefore, I'm sorry but I don't understand what you mean here by internal/external.