Skip to main content

Public floating IP addresses

Public floating IP addresses are static IP addresses that can be connected to devices in private networks to configure internet access to them: to a cloud server, load balancer, cloud database cluster node.

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 — learn more in the Prepare a private subnet to connect a public floating IP address section. The 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 using the external IP address assigned when the router is connected to the internet. Incoming traffic can be filtered using a 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.

  1. In the Control panel, on the top menu, click Products and select Cloud Servers.
  2. Go to the Network section → the Public Floating IPs tab.
  3. Click Create IP address.
  4. Select the location where the public floating IP address will be created.
  5. Specify the number of public floating IP addresses.
  6. 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⁠.
  2. Connect the private subnet to the cloud router.

1. Create a cloud router with an internet connection⁠

  1. In the Control panel, on the top menu, click Products and select Cloud Servers.
  2. Go to the Network section → Cloud Routers tab.
  3. Click Create Router.
  4. Select the location where the cloud router will be created.
  5. Enter the router name.
  6. Select the Connect router to the internet checkbox — an external IP address will be assigned to the router.
  7. Click Create.

2. Connect the subnet to the cloud router

  1. In the Control panel, on the top menu, click Products and select Cloud Servers.

  2. Go to the Network section → Cloud Routers tab.

  3. Open the router page.

  4. Click Connect subnet.

  5. Select a private subnet.

  6. 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 ProductsCloud ServersNetwork → tab Private networks → network page → tab Subnets → subnet card → block Automatic network settings → field Subnet gateway.

  7. 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.

  1. 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 ProductsCloud Servers → server page → Ports tab.
  2. In the Control panel, in the top menu, click Products and select Cloud Servers.
  3. Go to the Network section → Public floating IP addresses tab.
  4. In the public floating IP address card, click .
  5. Select the cloud server private IP address.
  6. Click Save.

Disconnect a public floating IP address from a cloud server

  1. In the Control panel, on the top menu, click Products and select Cloud Servers.
  2. Go to the Network section → Public Floating IP addresses tab.
  3. In the public floating IP address card, click .
  4. В поле Новый приватный адрес для NAT-трафика выберите Отключить от текущего.
  5. 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.

  1. 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 ProductsCloud ServersLoad Balancers → tab Load Balancers → load balancer page → block Settings → field Network.
  2. In the Control Panel, from the top menu, click Products and select Cloud Servers.
  3. Go to the Network section.
  4. Open the Public floating IP addresses tab.
  5. In the public floating IP address card, click .
  6. Select the load balancer private IP address.
  7. Click Save.

Disconnect a public floating IP address from a load balancer

  1. In the Control panel, on the top menu, click Products and select Cloud Servers.
  2. Go to the Network section → Public Floating IP addresses tab.
  3. In the public floating IP address card, click .
  4. В поле Новый приватный адрес для NAT-трафика выберите Отключить от текущего.
  5. Click Save.

Connect a public floating IP address to a cloud database cluster node

Connecting public floating IP addresses is not supported for all DBMSs. Availability and the connection process are described in the documentation for the corresponding DBMS in the Managed Databases.

Disconnect a public floating IP address from a cloud database cluster node

  1. In the Control Panel, in the top menu, click Products and select Cloud Databases.
  2. Open the tab Active.
  3. Open the database cluster page → tab Settings.
  4. In the Node addresses and statuses block, in the node row, click .
  5. Click Delete.

Switch a public floating IP address between devices

  1. In the Control panel, in the top menu, click Products and select Cloud Servers.
  2. Go to NetworkPublic Floating IPs.
  3. On the public floating IP card, click .
  4. Select a new private IP address for NAT.
  5. Click Save.

Configure NAT

To configure NAT, you need to configure port forwarding — set up traffic redirection from one port to another. For example, you can configure port forwarding from a public floating IP address to any port in a private subnet — in this case, access to the private port is organized without creating an additional public floating IP address.

Before configuring port forwarding, the public floating IP address must not be associated with a cloud server, load balancer, or other devices.

In Selectel, some TCP/UDP ports are blocked by default, traffic through them is blocked.

  1. Open the OpenStack CLI.

  2. 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> — 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 command openstack port list;
    • <internal_protocol> — protocol of the port in the private subnet;
    • <external_protocol> — protocol of the port of the public floating IP address whose port is being forwarded;
    • <protocol> — protocol: tcp or udp;
    • <floating_ip_address> — ID or public floating IP address whose port is being forwarded. Can be viewed using the command openstack floating ip list.

    Example command:

    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 public floating IP pool.

  1. In the Control panel, in the top menu, click Products and select Cloud Servers.
  2. Go to NetworkPublic Floating IPs.
  3. On the public floating IP card, click .
  4. Enter the IP address to confirm deletion.
  5. Click Delete.