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 a floating one (Floating IP in the API), as it can be quickly switched between devices in private subnets. The address does not change or get deleted when switched.
To connect a public floating IP address, the device must be in a private subnet connected to a cloud router with internet access — see the Prepare a private subnet to connect a public floating IP address instruction for details. A public floating IP address is associated with the private IP address of a device. Incoming traffic is handled by the cloud router — the router performs 1:1 NAT via an external IP address, which is allocated when the router is connected to the internet. Incoming traffic can be filtered using a cloud firewall or a 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, on the top menu, click Products and select Cloud Servers.
- Go to the Network section → the 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 for connecting a public floating IP address
To configure access to and from the internet via a public floating IP address, you must connect it to a device.
The device must be in a private 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 private IP address of the cloud router 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 an 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.
-
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 address to a cloud server
A public floating IP address can be connected when creating a cloud server or to an already created server.
Control panel
OpenStack CLI
- Make sure the cloud server is in a subnet that meets the requirements. For more details, see the Preparing a private subnet for connecting 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, in 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 .
- 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 .
- В поле Новый приватный адрес для NAT-трафика выберите Отключить от текущего.
- Click Save.
Connect a public floating IP address to a load balancer
A public floating IP address can be connected when creating a load balancer or to an existing load balancer.
Control panel
OpenStack CLI
- Make sure the load balancer is on a subnet that meets the requirements; for more details, see the Prepare a private subnet to connect a public floating IP address. You can view the load balancer subnets in the Control Panel: from the top menu, click Products → Cloud Servers → Load Balancers → tab Load Balancers → load balancer page → block Settings → field Network.
- In the Control Panel, from the top menu, click Products and select Cloud Servers.
- Go to the Network section.
- Open the Public floating IP addresses 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 .
- В поле Новый приватный адрес для NAT-трафика выберите Отключить от текущего.
- Click Save.
Connect a public floating IP address to a Managed Database cluster
A public floating IP address can be connected when creating a database cluster (example for PostgreSQL) or to an existing cluster.
Control panel
- Make sure the cloud database cluster is on a subnet that meets the requirements; for more details, see the Prepare a private subnet to connect a public floating IP address. You can view the cluster subnets in the Control Panel: from the top menu, click Products → Managed Databases → cluster page → tab Settings → field Cluster network.
- In the Control Panel, from the top menu, click Products and select Managed Databases.
- Go to the Network → tab Public floating IP addresses.
- 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, from the top menu, click Products and select Managed Databases.
- Go to the Network → tab Public floating IP addresses.
- In the public floating IP address card, click .
- In the New private address for traffic NAT field, select Disconnect from current.
- Click Save.
Switch a public floating IP address between devices
Control panel
OpenStack CLI
- In the Control Panel, from the top menu, click Products and select Cloud Servers.
- Go to the Network → tab Public floating IP addresses.
- In the public floating IP address card, click .
- Select a new private IP address for traffic NAT.
- Click Save.
Configure NAT
To configure NAT, you need to perform 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 organized without creating an additional public floating IP address.
Before you start configuring port forwarding, the public floating IP address must not be associated with a cloud server, load balancer, or other devices.
By default, Selectel blocks certain TCP/UDP ports, and 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 that traffic will be forwarded to;<port>— the ID or name of the port in the private network that traffic will be forwarded to; you can view it using the commandopenstack port list;<internal_protocol>— the port protocol in the private subnet;<external_protocol>— the protocol of the public floating IP address port being forwarded;<protocol>— the protocol:tcporudp;<floating_ip_address>— the ID or public floating IP address whose port is being forwarded. You can view it 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 be returned to the pool of public floating addresses.
Control panel
OpenStack CLI
- In the Control Panel, from the top menu, click Products and select Cloud Servers.
- Go to the Network → tab Public floating IP addresses.
- In the public floating IP address card, click .
- Enter the IP address to confirm deletion.
- Click Delete.