KLYRN VM / Blog

Reverse DNS your customers can set themselves

KLYRN VM customers name their own IPv4 and IPv6 addresses, and the controller writes the PTR into the right PowerDNS reverse zone.

· 2 min read · The KLYRN team

IntegrationsNetworking

"Can you set the reverse DNS on my IP?" is one of the tickets a VPS provider answers most, and almost always by hand. It exists because mail servers check it: an address that sends mail with no PTR record, or with one that does not match the name it sends as, is refused or junked by most of the large providers.

KLYRN VM now lets the customer do it. Each machine's Networking tab lists its addresses, IPv4 and IPv6, with a name beside each. Set one and the controller writes it to your DNS server.

How the address is checked

A customer can name an address only while it is allocated to their own machine, and that is checked against the controller's allocation table, never against what the request says. Asking to name somebody else's address, through your own machine or through theirs, is refused as if the address did not exist.

How it reaches DNS

An administrator connects PowerDNS once, under Settings, Integrations: the API address, the API key and the server id. The key is write-only; the panel shows that one is stored, never what it is. A Test connection button lists the server's zones and counts the reverse ones.

When a name is set, KLYRN works out the PTR name (44.100.51.198.in-addr.arpa., or the nibble form under ip6.arpa.), asks the server for its zones and writes into the longest zone that contains it. One zone per /24 and one zone per /16 both work, with nothing to map by hand.

When it cannot publish

The record is kept either way. With no server connected it reads "Saved, waiting for the provider". If the server refuses, it reads "Not published" with the server's own reason, such as a refused key or a missing reverse zone. Every change is written to the audit trail as vm.rdns, so a webhook listening for vm.* sees it too.

The details are in the webhooks post and the integrations guide in the repository.