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 use BGP to announce floating IP to PE (Provider Edge router), and everything works as expected when I assigned 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 could I 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 acts like a SNAT role and forward any packets that reached to 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 provider network.
  4. Only floating IP that assigned to the specific VM will be advertised to PE through BGP
  5. Floating IP that assigned to port of a router in the neutron network won’t be advertised, even the IP is activated and is reachable internally.

 

Sincerely,

 

Alex