FreeIPA reverse zones and PTR records

Set up reverse DNS in FreeIPA so forward and reverse lookups agree, PTR records stay in step with A and AAAA records, and each IP has one clear name.

On this page

Why FreeIPA reverse zones and PTR records matter before install

Before you install a FreeIPA server or enroll the first client, forward and reverse name resolution must agree. Each host needs an A record (AAAA for IPv6) that maps its fully qualified name to its address, and a matching PTR record in a reverse zone that maps the address back to that same name. Reverse zones and PTR records are the part of DNS that teams most often leave until after install, and the install and enrollment steps assume they already work. Your planning should treat them as prerequisites, not as cleanup. The reason is identity, not convenience. Kerberos depends on the host name a client presents matching the service principal it expects, and clients and servers use name lookups to derive the principals they request. If the reverse lookup of an address returns a different name, or none, the client may fail to find the right host or service principal during enrollment and authentication. SSSD on enrolled machines relies on the same DNS data to locate IdM servers and to keep the host identity consistent. Confirm the exact behavior of your FreeIPA version and your client distribution with the documentation before you rely on a specific failure mode, and test both lookup directions from every planned server and client network. Teams usually need this work when they create a new IdM domain, bring a new subnet into scope, or add replicas in another site where addresses come from a different block. Each of these events can add addresses that have no reverse zone or PTR record yet. The topic does not cover the choice of DNS domain, whether FreeIPA serves DNS itself, or how delegation is set up. Those decisions sit in sibling sections, and reverse zones only make sense once they are settled. Ask your network team who owns each address block, because reverse zones follow the address allocation, and a PTR record cannot be created by the IdM team alone.

Which reverse zone approach fits your network

This table compares four ways to manage reverse zones for a FreeIPA deployment: letting FreeIPA create them, adding them later, keeping them with an external DNS team, and using classless or delegated zones. Read each row against your subnet layout and who owns DNS changes. Confirm how your FreeIPA version handles each option before you commit.

ApproachWhen it fitsWhat it requires from the network teamMain trade-off
Reverse zone created at installA new deployment with a small number of subnets, and IdM serves the zones it managesFull list of subnets that hosts use at install time, and confirmation that IdM will be authoritative for themLater subnets need a separate step, so the list must be complete before install
Reverse zone added after installSubnets appear over time, such as new VLANs or data center expansionsA change request to add each zone and a named owner who runs the addition on the IdM sideHosts on new subnets have no PTR records until someone adds the zone, which can break SSH and Kerberos checks
Reverse zone kept in external DNSThe corporate DNS team already owns all PTR records and forbids dynamic updates from other systemsWritten process for creating PTR records for every host and service address, and a way to notify IdM of changes that affect enrollmentIdM cannot automatically create or update PTR records, so manual steps and drift checks become ongoing work
Classless or delegated reverse zoneSubnets smaller than /24 where the parent zone is shared with other teamsCNAME or RFC 2317 style entries or a delegation for each small block, plus agreement on who maintains themMore records to manage and a higher chance of mistakes, so confirm FreeIPA's support for your chosen form in your version
Zone-by-zone check before go-liveEvery approach above, before hosts are enrolledTest forward and reverse lookups for each host and the IdM servers using the same resolvers clients useSkipping this step is the most common reason reverse lookups fail after install

How to create reverse zones and sync PTR records in FreeIPA

This sequence gives you a reverse zone for every subnet that hosts FreeIPA servers and clients, with PTR records kept in step with A and AAAA records. The result is forward and reverse lookups that agree for every host, which the installer and client enrollment depend on.

  1. Inventory every IPv4 and IPv6 subnet

    List each subnet that hosts a FreeIPA server, replica, or enrolled client, including management and backup networks if those hosts resolve names on them. Record the address of every host that will publish a name, and note any address that is reached through NAT, since its reverse name will not match the public address. Check the list against your host inventory before moving on. The output is a table of subnets, the hosts in each, and the owner of each network. Confirm the exact commands for the installed release in its documentation before you run them.

  2. Decide reverse zone names for each subnet

    For each subnet, choose the reverse zone name that matches its prefix: in-addr.arpa for IPv4 and ip6.arpa for IPv6, with the octets or nibbles reversed. Where a subnet does not align with an octet or nibble boundary, agree the delegation with the team that owns the parent reverse zone before you create it. Confirm that each reverse zone is owned by one party, because two zones claiming the same range will return conflicting answers. The output is a list of zone names mapped to subnets and owners.

  3. Create or confirm the reverse zones in FreeIPA

    In FreeIPA DNS, create each reverse zone if it does not exist, or confirm that an existing one covers the right range. If the reverse zone is delegated from an external DNS team, make sure the parent zone holds the NS records that point to your FreeIPA servers before testing. Run a query for the SOA record of each reverse zone from a FreeIPA server and from a client. The check passes when every zone answers authoritatively from the expected servers.

  4. Enable PTR sync on the forward zones

    On each forward zone that holds host names, enable the option that creates PTR records automatically when A or AAAA records are added. Confirm that the setting applies to the zone that owns each host, because a host in a forward zone without this setting will have no reverse name. Check the setting in the zone's configuration after saving. The output is a forward zone list in which every zone holding host names shows PTR sync as enabled.

  5. Create or update host records with addresses

    Create or update the host entries for each server and client, supplying the correct IPv4 and IPv6 addresses. Let FreeIPA create the matching PTR records, and do not add manual PTR entries alongside them. Where a host has more than one address, decide which one is the reverse name for that host and keep to one PTR per IP address. Check the host list for any address that is in two places. The output is a set of hosts where each address has exactly one PTR record.

  6. Verify forward and reverse lookups from servers

    From each FreeIPA server, query every host name for its A and AAAA records, then query each address for its PTR record, and confirm that the name round-trips. Run the same checks against each replica, since replicas hold their own copies of the zones. Look for missing PTR records, stale records left after a host was renamed, and any address returning more than one name. The check passes when every forward answer has a matching reverse answer on every server.

  7. Verify forward and reverse lookups from clients

    From a sample of enrolled clients on each subnet, run the same forward and reverse queries against the DNS servers listed in their resolver configuration. Include at least one client on each subnet, and include a client that uses IPv6 if your network has it. Compare the results with the server checks, because a difference usually points to a resolver configuration problem or a missing delegation. The output is a short record of results per subnet that you can attach to the change ticket.

  8. Record the reverse zone inventory for operations

    Document each reverse zone, its subnet, its owner, its delegation source, and the forward zones that feed it, and store that record with your FreeIPA runbook. Add a check to your routine review so that new subnets trigger the same steps before hosts are enrolled. Ask your DeployOpen contact or internal DNS owner to confirm the delegation process for any zone that an external team manages. The output is a current inventory that anyone on the team can use to find a reverse zone.

Where reverse DNS breaks Kerberos and enrollment

Reverse DNS problems rarely announce themselves during installation. They surface later as Kerberos errors, failed client enrollment or hosts that resolve in one direction only. The cards below describe six patterns that share a root cause: the forward and reverse data for a host no longer agree.

Missing or stale PTR for a server

A FreeIPA server or enrolling client has no PTR record, or its PTR points to a name it no longer uses. Clients that check the reverse name of the server they reach can fail to match the host principal they expect, and the error often looks like a Kerberos or hostname problem rather than a DNS one. Check with a reverse lookup of each server's IP and compare the answer with the forward A record and the host's fully qualified name.

Two PTR records for one IP

After a server is renamed, the old PTR often stays in place beside the new one. The IP then returns two names, and reverse lookups become unpredictable across resolvers and clients. Confirm that each IP has exactly one PTR in the reverse zone, and remove the old record when the forward A record has been changed.

IPv6 address without a reverse entry

A host can have a correct IPv4 PTR while its IPv6 address has no matching AAAA and reverse entry. Services that prefer IPv6 then see a different name, or none at all, depending on which address the client selects. Compare the AAAA record with the PTR in the IPv6 reverse zone for every dual-stack host, and include IPv6 in the same checklist as IPv4.

Reverse zone with wrong SOA or NS

When a reverse zone is delegated from the parent network or ISP, the NS records in the parent must point to servers that actually host the zone, and the zone's SOA must name a valid primary. A mismatch lets some resolvers answer and others return SERVFAIL or NXDOMAIN for the same address. Query the parent for the delegation, then query each listed name server directly and confirm they return the same SOA and records.

Client resolver pointing only at a non-authoritative server

A client whose resolv.conf lists only a server that does not host the reverse zone cannot resolve the addresses that Kerberos and enrollment depend on. Deployment guidance calls for at least two DNS servers in each client's resolver configuration, and each one should answer for the zones the client needs. Test reverse lookups from a client using only its configured resolvers, not from an administrator workstation.

PTR drift after DHCP or manual edits

Dynamic address assignment or hand-made DNS changes can leave PTR records that no longer match the host they describe. Drift is quiet until a host reboots onto a new address or a helpdesk engineer adds a record by hand. Decide which system owns PTR creation for each subnet, restrict manual edits to that path, and review reverse records on a schedule against the host inventory.

Why each IP should have one PTR record

Give each IP address one canonical PTR record, and make that name the one your FreeIPA forward records point to. Kerberos, SSH and logging all perform reverse lookups, and each one expects a stable answer. When an address returns several names, or a name that does not match what the service registered, the result varies by tool and by moment. A Kerberos client may build a service principal from a name it did not expect, an SSH login may log a hostname that differs from the one in your inventory, and log correlation across hosts becomes guesswork. The single canonical PTR is the point of the whole exercise.

Shared addresses are where this breaks. Virtual IPs, load balancers, failover floating addresses and aliases such as a generic service name often sit on an address that also belongs to a specific host. The DNS server will happily hold several PTR records for one address, but the reverse answer then depends on which record the resolver returns. Decide, for each shared address, which name is canonical, and whether the others are CNAME aliases or plain A records that do not need a reverse entry. Record that decision in your build notes or inventory, with the owner and the date, so that the next person adding a service does not create a second PTR without knowing why.

Confirm the exact behavior in your release before you rely on it. Check how your FreeIPA version handles a second PTR for an address that already has one, whether the integrated DNS adds or refuses the record, and how the --ip-address and --a-create-reverse options interact when a host is re-added. Test forward and reverse lookups from an enrolled client and from the server itself after each change. The FreeIPA DNS documentation is the natural next read for the exact record handling in your version.

Security and operational considerations for reverse DNS

Reverse zones and PTR records look like low-risk data, but they feed host identification, logging and Kerberos name resolution. The cards below cover who can change them, how clients update them, what encrypted DNS changes, and how to keep them consistent through change control, monitoring and restores.

Limit who edits reverse zones

Decide which administrators, and which automated processes, may create or change reverse zones and PTR records. A PTR record that points a fabricated name at an IP address can mislead log review and host identification, so treat reverse zone edits as privileged changes. Confirm which IdM roles can manage DNS in your deployment, then review the list of accounts with that access during each access review.

Restrict client dynamic updates

Clients enrolled in FreeIPA can register their own address records, and the matching PTR records depend on how the zone accepts those updates. Check whether dynamic updates are allowed for each reverse zone and which hosts can write to it. Test with a non-production host that a client cannot overwrite a PTR record belonging to another host or a server address.

Effect of DNS over TLS

FreeIPA 4.13.0 introduced DNS over TLS between clients and IdM DNS servers. This protects queries and answers on the path between a client and its resolver, including reverse lookups, but it does not change who may edit a zone. Confirm that the clients and resolvers you run support the configuration, and document which networks still use plain DNS, such as secondaries or external resolvers.

Zone transfer exposure to secondaries

Reverse zones reveal the addressing plan of your network to anyone who can transfer them. Transfers are disabled by default in FreeIPA, so enable them only for named secondary servers and restrict them with allow-transfer settings. Before you open a transfer, confirm that the secondary is approved to hold the address plan and that its access is logged.

Monitor for PTR drift

PTR drift happens when an A or AAAA record changes but its reverse record does not, or when an old PTR record survives a host rename or decommission. Drift breaks reverse lookups used by SSH, Kerberos and log tools. Schedule a comparison of forward and reverse answers for every enrolled host, and alert on mismatches or on more than one PTR record for the same IP address.

Change control and restores

Record every reverse zone and PTR change as a ticketed change with an owner and a rollback step, because DNS errors often surface later as login or logging failures. Back up with ipa-backup and test restores in a lab. The backup documentation warns that restoring an outdated backup into an active replica topology can break replication, so do not roll DNS data back on one server alone without checking the topology first.

Questions teams ask about reverse zones and PTR records

How much effort does reverse DNS setup take for a small versus a multi-site FreeIPA deployment?

Effort scales with the number of networks, not with the number of servers. A small deployment with one or two subnets usually needs one reverse zone per subnet, a short review of which hosts already have addresses, and a test of enrollment from a few clients. A multi-site deployment multiplies that work: each site has its own address ranges, its own reverse delegation or ownership, and often its own replicas and DNS servers that must answer the same reverse zones consistently. Ask a partner for a written scope that lists every subnet, every DNS server that will hold the zone, and who owns the parent delegation. Without that list, no honest estimate is possible.

What drives the cost of reverse zone and PTR work?

The main cost drivers are the number of subnets, whether IPv6 is in use, how many external DNS systems must coordinate with FreeIPA, and how much change control your organization requires. Each subnet needs a reverse zone decision, a parent delegation or a documented reason it stays elsewhere, and a record review. IPv6 adds reverse zones with longer names and a larger address space to reconcile. External DNS coordination means someone other than the FreeIPA team must approve delegations and record changes. Change control adds approval steps, test windows and evidence. One-time costs cover design, initial zone creation and cleanup. Recurring costs cover new subnets, new hosts and periodic checks. Ask for each of these as a separate line in the quote.

What does the work need from our team before it starts?

You need three inputs: a network inventory, IPAM data where you have it, and a clear owner for DNS. The inventory lists every subnet, its gateway, which hosts sit in it and which addresses are static or dynamic. IPAM exports or spreadsheets help confirm which addresses are in use and which names they carry. DNS ownership matters most: someone must own the parent zones that delegate reverse space, and that person must approve changes. Also collect the list of current forward records for FreeIPA hosts, because every PTR should match an A or AAAA record. Ask your partner to confirm exactly which inputs they need in writing before the kickoff.

Can an internal team set up FreeIPA reverse zones alone?

Often yes, for a single site with a small number of subnets and an internal team that already runs DNS. The FreeIPA documentation covers creating reverse zones and the sync behavior, so a capable administrator can follow it. The difficulty lies in the surrounding work: confirming address ownership, coordinating delegation with whoever runs the parent zones, and testing forward and reverse resolution from every client network. Teams without DNS experience, or with many subnets and external DNS, usually gain more from a short outside review of the design. Ask any partner to state which parts of the work they would do, which your team keeps, and what evidence you receive at the end.

How long does it take to verify reverse DNS is correct?

Verification takes as long as the slowest check, which is usually cache expiry and propagation through external DNS, not the FreeIPA change itself. For each subnet, check that the reverse zone answers from every FreeIPA DNS server, that a PTR exists for each host address, and that the PTR points back to a name that resolves forward to the same address. Then enroll a test client and confirm it resolves correctly. Plan a window for TTL expiry on any external resolvers you do not control. No duration is supplied for this work, so ask a partner to state the verification steps and the window they assume in the written scope.

What happens if a PTR record is missing when a host enrolls?

Enrollment can still succeed, but the host will show reverse resolution problems that affect services relying on reverse lookups. Some tools log warnings, and some services refuse connections or slow down when a client address does not reverse-resolve to a matching name. Kerberos and certificate workflows depend on consistent forward and reverse names, so a missing PTR can cause confusing authentication or certificate failures later. FreeIPA can create PTR records automatically when the matching A or AAAA record is created with the option to sync reverse records, but hosts with addresses outside a managed reverse zone need manual records. Check each new host's PTR as part of enrollment, and ask your partner how they will handle hosts whose addresses fall outside managed zones.

When should we bring in outside help for reverse DNS?

Bring in outside help when reverse DNS touches several networks, external DNS teams, or compliance evidence you must produce. Other good reasons include IPv6 planning, a multi-site topology, a migration from another DNS platform, or a deployment where the parent zones are owned by a team that has not worked with FreeIPA before. A partner can review the design, write the change plan, perform the changes under your change control, and document the result. Make sure the scope names the subnets, the DNS servers in scope, the testing evidence and the handover. DeployOpen plans, implements and documents self-hosted open-source platforms in your own infrastructure and can work from a written scope, so ask for that scope to be explicit about what your team still owns.

How DeployOpen works on this

DeployOpen plans, implements, documents and supports self-hosted open-source platforms inside your own infrastructure, including FreeIPA. For reverse zones and PTR records, the work starts with an inventory of every address range your hosts use, so that each reverse zone and each PTR record is agreed before anything changes in production.

How we scope

  • Engagements are fixed-scope, with the scope, deliverables and timelines agreed in writing before work starts.
  • The written scope lists every IPv4 and IPv6 range that needs a reverse zone, and which zones FreeIPA will own.
  • The scope names which hosts get PTR records, which records are managed by hand, and who approves exceptions.

How we build

  • Reverse zones are created in the FreeIPA DNS configuration on your servers, with each zone checked against its forward records.
  • Forward and reverse resolution is tested for every enrolled host, including the names that installers and clients look up.
  • Sync behavior for A and AAAA records is verified, and each IP address is tested to confirm it maps to a single PTR record.

How we hand over

  • Handover includes a written record of each reverse zone, its owner, its delegation status and the records it contains.
  • Runbooks describe how to add a host, change an address and remove a stale PTR record without breaking resolution.
  • Your team receives test scripts and a checklist for verifying forward and reverse lookups after each change.

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers, covering reverse zone changes after go-live.
  • Retainer work can include periodic checks that PTR records still match the A and AAAA records they describe.
  • Ask any provider to confirm how a retainer handles FreeIPA release upgrades and the DNS changes they may require.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.