Public floating IP addresses
Public floating IP addresses are static IP addresses that can be connected to devices in private networks to configure access to them from the Internet: a cloud server, load balancer, Managed Database cluster.
The address is floating (in API — Floating IP), as it can be quickly switched between devices in private subnets. When switching, the address does not change or get deleted.
To connect a public floating IP address, the device must be in a private subnet connected to a cloud router with internet access — for more information, see the guide Prepare a private subnet to connect a public floating IP address. A public floating IP address is associated with the device's private IP address. Incoming traffic is processed by the cloud router — the router performs 1:1 NAT via an external IP address, which is allocated when the router connects to the internet. Incoming traffic can be filtered using the Cloud Firewall or Security Group.
When created, a public floating IP address is automatically allocated from the address pool; it cannot be selected manually.
A public floating IP address can only be used within the same project and the same pool.
For public floating IP addresses, there are traffic volume limitations, i.e., bandwidth. You can view them in the Bandwidth table.
You can work with public floating IP addresses in the Control panel, using OpenStack CLI or Terraform.
Create a public floating IP address
If you are creating the first public floating IP address in a project and pool, a private network named nat and a cloud router named router-nat.
Control panel
OpenStack CLI
- In the Control panel, click Products on the top menu and select Cloud Servers.
- Go to the Network section → Public Floating IPs tab.
- Click Create IP address.
- Select the location where the public floating IP address will be created.
- Specify the number of public floating IP addresses.
- Click Create.
Prepare a private subnet to connect a public floating IP address
To configure access to and from the Internet via a public floating IP address, you need to connect it to a device.
The device must be located in a private subnet or a global router subnet that meets the following requirements:
- the subnet must be connected to a cloud router that is connected to the Internet. If the cloud router is connected to the Internet, it performs 1:1 NAT for access from the private network to the Internet via the router's external address, and for access to the device in the private subnet from the Internet via the public floating IP address;
- the cloud router's private IP address must match the default gateway in the subnet.
If the subnet does not meet the requirements, prepare it for connecting a public floating IP address:
1. Create a cloud router with Internet connection
Control panel
OpenStack CLI
- In the Control panel, on the top menu, click Products and select Cloud Servers.
- Go to the Network section → Cloud Routers tab.
- Click Create Router.
- Select the location where the cloud router will be created.
- Enter the router name.
- Select the Connect router to the internet checkbox — an external IP address will be assigned to the router.
- Click Create.
2. Connect the subnet to the cloud router
Control panel
OpenStack CLI
-
In the Control panel, on the top menu, click Products and select Cloud Servers.
-
Go to the Network section → Cloud Routers tab.
-
Open the router page.
-
Click Connect subnet.
-
Select a private subnet or a global router subnet.
-
Optional: enter the router IP address—any available IP address from the subnet. If you do not specify an IP address, one will be automatically selected from the available addresses in the subnet.
For devices in the subnet to access the internet without additional routes, the cloud router IP address must match the private subnet gateway. If the subnet gateway is already in use, you will need to configure a static route to the internet in the subnet via the cloud router.
You can view the subnet gateway in the control panel: in the top menu, click Products → Cloud Servers → Network → tab Private networks → network page → tab Subnets → subnet card → block Automatic network settings → field Subnet gateway.
-
Click Connect.
Connect a public floating IP to a cloud server
A public floating IP address can be connected when creating a cloud server or to an existing server.
Control panel
OpenStack CLI
- Make sure the cloud server is in a subnet that meets the requirements; for more information, see the Prepare a private subnet to connect a public floating IP address subsection. You can view server subnets in the Control panel: in the top menu, click Products → Cloud Servers → server page → Ports tab.
- In the Control panel, click Products on the top menu and select Cloud Servers.
- Go to the Network section → Public Floating IPs tab.
- In the public floating IP address card, click .
- Select the cloud server private IP address.
- Click Save.
Disconnect a public floating IP address from a cloud server
Control panel
OpenStack CLI
- In the Control panel, on the top menu, click Products and select Cloud Servers.
- Go to the Network section → Public Floating IP addresses tab.
- In the public floating IP address card, click .
- In the New private address for traffic NATing field select Detach from current.
- Click Save.
Connect a public floating IP address to a load balancer
A public floating IP address can be connected during load balancer creation or to an existing one.
Control panel
OpenStack CLI
- Make sure the load balancer is in a subnet that meets the requirements; for more information, see the Prepare a private subnet to connect a public floating IP address. You can view load balancer subnets in the Control panel: on the top menu, click Products → Cloud Servers → Load Balancers → Load Balancers tab → load balancer page → Settings block → Network.
- In the Control panel, on the top menu, click Products and select Cloud Servers.
- Go to the Network section.
- Open the Public Floating IPs tab.
- In the public floating IP address card, click .
- Select the load balancer private IP address.
- Click Save.
Disconnect a public floating IP address from a load balancer
Control panel
OpenStack CLI
- In the Control panel, on the top menu, click Products and select Cloud Servers.
- Go to the Network section → Public Floating IP addresses tab.
- In the public floating IP address card, click .
- In the New private address for traffic NATing field select Detach from current.
- Click Save.
Connect a public floating IP address to a Managed Database cluster
A public floating IP address can be connected during database cluster creation (example for PostgreSQL) or to an existing cluster.
Control panel
- Make sure the Managed Database cluster is in a subnet that meets the requirements; for more information, see the Prepare a private subnet to connect a public floating IP address. You can view cluster subnets in the Control panel: on the top menu, click Products → Managed Databases → cluster page → Settings tab → Cluster Network.
- In the Control panel, on the top menu, click Products and select Managed Databases.
- Go to the Network section → Public Floating IPs tab.
- In the public floating IP address card, click .
- Select the node private IP address.
- Click Save.
Disconnect a public floating IP address from a Managed Database cluster
Control panel
- In the Control panel, on the top menu, click Products and select Managed Databases.
- Go to the Network section → Public Floating IPs tab.
- In the public floating IP address card, click .
- In the New private address for traffic NATing field, select Disconnect from current.
- Click Save.
Switch a public floating IP address between devices
Control panel
OpenStack CLI
- In the Control panel, on the top menu, click Products and select Cloud Servers.
- Go to the Network section → Public Floating IPs tab.
- In the public floating IP address card, click .
- Select a new private IP address for traffic NATing.
- Click Save.
Configure NAT
To configure NAT, you need to perform port forwarding (port forwarding) — configure traffic redirection from one port to another. For example, you can configure port forwarding on a public floating IP address to any port in the private subnet — in this case, access to the private port will be established without creating an additional public floating IP address.
Before starting port forwarding configuration, the public floating IP address must not be associated with a cloud server, load balancer, or other devices.
By default, Servercore blocks some TCP/UDP ports; traffic through them is blocked.
OpenStack CLI
-
Configure port forwarding:
openstack floating ip port forwarding create \--internal-ip-address <internal_ip_address> \--port <port> \--internal-protocol-port <internal_protocol> \--external-protocol-port <external_protocol> \--protocol <protocol> \<floating_ip_address>Specify:
<internal_ip_address>— the IP address of the port in the private subnet to which forwarding will be performed;<port>— ID or name of the port in the private network to which forwarding will be performed, can be viewed using the commandopenstack port list;<internal_protocol>— the port protocol in the private subnet;<external_protocol>— the public floating IP address port protocol being forwarded;<protocol>— protocol:tcporudp;<floating_ip_address>— ID or public floating IP address whose port is being forwarded. Can be viewed using the commandopenstack floating ip list.
Command example:
openstack floating ip port forwarding create \--internal-ip-address 192.168.0.2 \--port ed010217-9f78-4002-8703-2112da3fef1f \--internal-protocol-port 80 \--external-protocol-port 80 \--protocol tcp \192.0.2.7
Delete a public floating IP address
After deletion, the public floating IP address will return to the floating IP address pool.
Control panel
OpenStack CLI
- In the Control panel, on the top menu, click Products and select Cloud Servers.
- Go to the Network section → Public Floating IPs tab.
- In the public floating IP address card, click .
- Enter the IP address to confirm deletion.
- Click Delete.