Skip to content
Coritan Docs

How subnets work

What a floating subnet holds, which of its addresses you can use, and how to list them.

View as Markdown

A subnet is a block of consecutive IPv4 addresses that you hold as one floating IP. You order it in one size, pay one price for it, and attach its addresses one at a time. Each address that you can attach is a host.

A subnet is written with its size, such as 203.0.113.16/29: the block starts at 203.0.113.16, and /29 says how many addresses it holds.

Size Addresses Usable hosts
/29 8 5
/28 16 13
/27 32 29
/26 64 61
/25 128 125
/24 256 253

The Pools tab shows which sizes you can order, and in which regions, as IP pools and regions describes. When it lists no subnet sizes, you can order single addresses only.

Three addresses of every subnet are reserved, and you cannot attach them. In 203.0.113.16/29:

Network address
The first address, 203.0.113.16.
Gateway
Usually the address after it, 203.0.113.17. The subnet's Overview tab shows it under Gateway.
Broadcast address
The last address, 203.0.113.23.

The addresses between them, 203.0.113.18 to 203.0.113.22, are the usable hosts.

Each host attaches on its own, to one Cloud Compute instance or one Container Apps server. You can attach different hosts of one subnet to different targets, and several hosts to one instance. A server holds one floating IP, so it takes one host. Attach and detach a floating IP has the steps.

We route each attached host to its target as a single address. An instance sets the host up with the prefix /32, the same way as a single floating IP, and does not see the rest of the subnet. A host that is not attached reaches none of your machines.

Open the subnet and select the Hosts tab. The card is titled with the subnet, such as 203.0.113.16/29, and says how many usable hosts are attached and which address is the gateway, such as 2 of 5 usable hosts attached · gateway 203.0.113.17. The table lists every address of the subnet:

Address
The address. Select it to copy it.
Role
Gateway, Network or Broadcast for a reserved address. Attached or Free for a usable host.
Attached to
The instance or server the host is attached to. A reserved address shows Reserved by the network.
Since
When the host was attached.

The actions menu at the end of a usable host's row holds Set reverse DNS and, for a free host, Attach, or for an attached host, Detach….

Reverse DNS and DDoS Shield on a subnet

Section titled Reverse DNS and DDoS Shield on a subnet

Each usable host has a reverse DNS record of its own. Set reverse DNS for a floating IP explains how to set one.

DDoS Shield filters the whole subnet with one profile. To aim a rule at a single host, put the host in the rule's Destination prefix, such as 203.0.113.18/32, as Change a floating IP's DDoS protection describes.

A subnet always bills at its plan's price, whether or not any host is attached. A host that is an instance's primary address does not make the subnet free. What a floating IP costs compares this with a single address.

When we suspend a subnet, usually for an unpaid invoice, we detach every host. After you pay, attach the hosts again. When a subnet ends, we detach every host and release the whole block.

You cannot change a subnet's size. For more addresses, order another subnet.

GET /api/v1/client/ips/{service_id}/hosts lists every address of a subnet with what it is attached to:

Shell
curl https://api.coritan.com/api/v1/client/ips/220/hosts \
  -H "Authorization: Bearer $CORITAN_TOKEN"
JSON
{
  "service_id": 220,
  "kind": "block",
  "cidr": "203.0.113.16/29",
  "gateway": "203.0.113.17",
  "hosts": [
    {"id": 931, "address": "203.0.113.16", "role": "reserved", "attached": false, "attachable": false, "attached_to": null, "attached_at": null},
    {"id": 933, "address": "203.0.113.18", "role": "host", "attached": true, "attachable": false, "attached_to": {"target_type": "vps", "target_service_id": 118, "target_resource_id": 57}, "attached_at": "2026-09-25T10:00:00"},
    {"id": 934, "address": "203.0.113.19", "role": "host", "attached": false, "attachable": true, "attached_to": null, "attached_at": null}
  ],
  "hosts_total": 5,
  "hosts_attached": 1,
  "hosts_available": 4
}

The example shortens hosts to three entries. The list holds every address of the subnet in address order.

Field Meaning
hosts[].id The host's ID. The attach, detach and reverse DNS requests take it as host_inventory_id.
hosts[].role host for a usable host, reserved for the network, gateway and broadcast addresses.
hosts[].attachable true for a usable host that is free.
hosts[].attached_to The target's target_type (vps or container) and target_service_id, or null.
hosts_total The number of usable hosts. The reserved addresses do not count.
hosts_attached, hosts_available How many usable hosts are attached, and how many are free.

Add ?include_reserved=false to leave the reserved addresses out of hosts. A floating IP that is a single address answers 400 with Service is not a subnet block. A service that is not a floating IP on your account answers 404 with IP service not found.

The Floating IPs API reference lists every field.

API operations on this page

MethodPathWhat it does
GET/api/v1/client/ips/{service_id}/hostsHost map for a rented subnet service