Skip to content
Coritan Docs

Set reverse DNS for a floating IP

Give a floating IP a PTR record so lookups of the address return your hostname.

View as Markdown

Reverse DNS answers the question "which hostname belongs to this address?". Set it for a floating IP so that a lookup of the address returns your hostname, such as mail.example.com. Mail servers check it before they accept mail, and tools such as traceroute show it.

Each address has one reverse DNS record, stored as a PTR record. A subnet has one record for each usable host.

  • The floating IP must be on your account. It does not need to be attached.
  • Choose a fully qualified hostname that you control, such as mail.example.com. If you have no domain, you can use a name under a free coritan.gg name, as Claim a free coritan.gg name describes.
  • For mail, the hostname also needs an A record that points at the address. Make the name resolve both ways explains how.
  • You can change reverse DNS as often as you like, but you cannot remove it once it is set.

Set reverse DNS for a single address

Section titled Set reverse DNS for a single address
  1. In the dashboard, go to Floating IPs, open the address and select the Reverse DNS tab.

  2. Type the hostname in the field, such as mail.example.com. A trailing dot is optional.

    If you hold a coritan.gg name, the chips under the field offer names under it, such as ip-203-0-113-10.survival-smp.coritan.gg. Select a chip to fill the field.

  3. Check the Published record preview. It shows the address's reverse name, such as 10.113.0.203.in-addr.arpa, and the hostname it will return.

  4. Select Save reverse DNS.

A message confirms the change, such as Reverse DNS for 203.0.113.10 set to mail.example.com.

Set reverse DNS for a host of a subnet

Section titled Set reverse DNS for a host of a subnet
  1. Open the subnet and select the Reverse DNS tab. You can also open the Hosts tab, open a host's actions menu and select Set reverse DNS, which opens the tab with that host chosen.
  2. Under Host, choose the host. The list marks attached hosts with (attached), and the hint under it says what the host is attached to.
  3. Type the hostname and select Save reverse DNS.

The list offers only the usable hosts. The network, gateway and broadcast addresses of a subnet have no reverse DNS of their own, as How subnets work explains.

Make the name resolve both ways

Section titled Make the name resolve both ways

The PTR record only answers lookups of the address. Mail servers also look up the hostname and expect it to return the same address. Create an A record for the hostname that points at the address:

  • For a domain on Coritan DNS, add the record on the domain's DNS records, as Add, edit and delete DNS records describes. For a domain elsewhere, add it at your DNS provider.
  • For a name under your coritan.gg name, tick Also give the address a name on the Attach tab when you attach the address, as Attach and detach a floating IP describes. For an address that is already attached, add the record to the name's zone as for any other domain.

Then check both directions from any machine with dig:

Shell
dig -x 203.0.113.10 +short
dig mail.example.com A +short

The first command prints mail.example.com. and the second prints 203.0.113.10.

The Reverse DNS tab shows the saved hostname in the field and in the Published record preview. The Overview tab shows it under Reverse DNS.

We publish the record in the reverse zone that covers the address, when we host that zone. Our nameservers then answer with the new hostname once you save it. Resolvers that looked the address up earlier can return the old answer until it expires.

The record belongs to the address. It stays when you detach the address or move it to another instance or server.

Enter a hostname
The field is empty. Type a hostname.
Use a fully qualified name, for example mail.example.com
The hostname has no dot. Type the full name, including the domain.
Empty label in hostname
The hostname has two dots in a row, or starts with a dot. Remove the extra dot.
Each label is at most 63 characters or Hostnames are at most 253 characters
A part of the hostname between dots, or the whole hostname, is too long. Choose a shorter name.
A message that ends is not a valid label
A part of the hostname has a character other than a letter, a digit or a hyphen, or starts or ends with a hyphen. Remove the character.
Save reverse DNS is greyed out
The hostname is the one already saved, or it breaks one of the rules above.
No usable hosts
We could not list the subnet's hosts. Contact support with the subnet's address.
dig -x returns nothing or an old hostname
A resolver may still hold the old answer. Ask our nameserver directly with dig -x 203.0.113.10 @ns1.coritan.com +short. If it prints your hostname, wait for the resolver's copy to expire. If it prints nothing, or dig reports REFUSED, we do not host the reverse zone for the address, so the record is saved but not published. Contact support with the address.
Mail servers still reject your mail
The hostname's A record is missing or points at another address. Check both directions as Make the name resolve both ways shows.

GET /api/v1/client/ips/{service_id}/ptr returns the reverse DNS record of a floating IP:

Shell
curl https://api.coritan.com/api/v1/client/ips/214/ptr \
  -H "Authorization: Bearer $CORITAN_TOKEN"
JSON
{
  "id": 12,
  "inventory_id": 901,
  "hostname": "mail.example.com",
  "address": "203.0.113.10",
  "version": "ipv4",
  "service_id": 214,
  "created_at": "2026-09-25T10:00:00",
  "updated_at": "2026-09-25T10:00:00"
}

An address with no reverse DNS returns {"hostname": null, "ip_service_id": 214}. For a subnet, name the host with the host_address query parameter, such as ?host_address=203.0.113.18, or with host_inventory_id, the host's id from the subnet's host list.

PATCH /api/v1/client/ips/{service_id}/ptr sets the record:

Shell
curl -X PATCH https://api.coritan.com/api/v1/client/ips/214/ptr \
  -H "Authorization: Bearer $CORITAN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"hostname": "mail.example.com"}'
Field Meaning
hostname Required. A fully qualified hostname of 1–253 characters. We store it in lower case, without a trailing dot.
host_address Subnets only. The host whose record you set.
host_inventory_id Subnets only. The host's id from the subnet's host list, in place of host_address.

The response is the saved record, as GET returns it.

Response When
422 with PTR hostname must be a fully-qualified domain name The hostname has no dot.
422 with PTR hostname must be a valid FQDN A part of the hostname breaks the rules in Troubleshooting.
422 with PTR hostname is required The hostname is blank.
422 with Subnet PTR requires host_address or host_inventory_id The floating IP is a subnet and the request named no host.
422 with Address is reserved (network/broadcast/gateway) and cannot be attached The host is one of the subnet's reserved addresses.
404 with a message that starts Host in block The address is not part of the subnet.
403 with You do not own this service The service is on another account.
409 with Service is terminated or pending termination The floating IP has been cancelled.

The Floating IPs API reference lists every field.

API operations on this page

MethodPathWhat it does
GET/api/v1/client/ips/{service_id}/ptrGet PTR
PATCH/api/v1/client/ips/{service_id}/ptrSet PTR