Question About BGP Dynamic Routing, Floating IP, and SNAT

Alex Z madalex666233 at gmail.com
Wed Jun 7 19:11:18 UTC 2023


Hi Everyone,



Hope you are all doing well.

I’m a beginner to Openstack and Neutron and now run into an issue about
SNAT and shared floating IP.

I’ve already deployed a neutron network which uses BGP to announce floating
IP to PE (Provider Edge router), and everything works as expected when I
assign the public floating IP (e.g., 123.0.0.10/24) to VMs.

But when I tried to use floating IP port-forwarding function with floating
IP 123.0.0.20/24 and rule (internal_ip 10.10.10.10, internal_port 5555,
external_port 64000), and assign a private IP (10.10.10.10/24) to a VM. The
floating IP 123.0.0.20 won’t be advertised through BGP.



May I have some suggestions about how I could get this fixed, or the
neutron just won’t work this way?



FYI,

   1. Per my understanding, the port_forwardings rule will make the port
   act like a SNAT role and forward any packets that reach it with destination
   123.0.0.20:64000 to the private IP 10.10.10.10/24.
   2. The IP address could be reached in the neutron network.
   3. PE IP address, CE IP address, and floating IP gateway are using the
   same subnet A and subnet pool (192.168.123.0/24), while floating IP
   belongs to subnet B and subnet pool (123.0.0.0/24), both subnets belong
   to the provider network.
   4. Only floating IP that assigned to the specific VM will be advertised
   to PE through BGP
   5. Floating IP that is assigned to the port of a router in the neutron
   network won’t be advertised, even if the IP is activated and is reachable
   internally.





Sincerely,



Alex
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.openstack.org/pipermail/openstack-discuss/attachments/20230607/ed9f019d/attachment.htm>


More information about the openstack-discuss mailing list