For DVR, the following iptables rule is missed in the snat namespace: "-A neutron-l3-agent-snat -j neutron-l3-agent-float-snat"
This results in that snat rules will work instead of floating ip when accessing to the internet.
Adding following code at [1] can fix this:
self.snat_iptables_manager.ipv4['nat'].add_rule('snat', '-j $float-snat')
[1]https://github.com/openstack/neutron/blob/master/neutron/agent/l3/dvr_edge_router.py#L197
For DVR, the following iptables rule is missed in the snat namespace: l3-agent- snat -j neutron- l3-agent- float-snat"
"-A neutron-
This results in that snat rules will work instead of floating ip when accessing to the internet.
Adding following code at [1] can fix this:
self.snat_ iptables_ manager. ipv4['nat' ].add_rule( 'snat',
'-j $float-snat')
[1]https:/ /github. com/openstack/ neutron/ blob/master/ neutron/ agent/l3/ dvr_edge_ router. py#L197