emailmarketing.net

Reverse DNS in IPv6 (RFC 8501) and Email

Why per-address PTR provisioning breaks at IPv6 scale, the five approaches RFC 8501 enumerates (with trade-offs), and what mail receivers expect from IPv6 reverse DNS.

Foundationalesp-operatorsender

RFC 8501 (Reverse DNS in IPv6 for Internet Service Providers, November 2018, Informational) analyzes how operators can populate ip6.arpa when the IPv4 habit — pre-creating a PTR record for every address — becomes mathematically impossible. Mail is the RFC's headline use case, because SMTP is where missing or mismatched reverse DNS actually blocks traffic.

Why per-address PTR breaks at IPv6 scale

  • In IPv4, an ISP with a /24 writes 256 PTR records, often auto-generated, and moves on. Forward and reverse match, satisfying RFC 1912's expectation that "every Internet-reachable host should have a name" whose forward and reverse entries agree.
  • A single IPv6 /64 (one LAN) contains 2^64 addresses; a customer /48 contains 2^80. RFC 8501's arithmetic: at 1,000 zone-file entries written per second, populating one /48 "would still not be complete after 38 trillion years."
  • Hosts also self-assign addresses (SLAAC, privacy addresses that rotate) — the operator often doesn't know which addresses are in use, so even selective pre-population can't track reality.

So an IPv6 operator must pick a strategy other than exhaustive static PTRs. This is a sending-infrastructure question for an ESP too: every outbound IPv6 address you emit mail from needs correct, matching reverse DNS (see receiver expectations below), while the rest of your address space needs a deliberate policy.

The RFC 8501 option catalog

# Approach How Trade-offs
1 Negative response (NXDOMAIN) Authoritatively answer that no PTR exists Honest when no name is known, but violates the RFC 1912 matching expectation; SSH/web services may stall waiting on lookups; mail servers may reject the connection outright — the RFC notes this rejection "can help fight spam"
2 Wildcard match Wildcard PTR per customer prefix (/48, /56, /64) Scales; but the forward lookup of the wildcard answer can't return the same name, so FCrDNS fails — inadequate for mail sources
3 Dynamic DNS (DDNS) Hosts (or the customer gateway, or the ISP from DHCPv6/RADIUS data) update PTR + AAAA as addresses are configured Produces genuine matching records; but not default on most hosts, no standard discovery of the update server, needs authentication and rate-limiting (DoS exposure), and outage recovery causes update storms
4 On-the-fly (synthetic) generation Generate the PTR algorithmically at query time (and synthesize the matching AAAA for the generated name) Guarantees forward/reverse match with no provisioning; algorithm must be identical on all servers for the zone; reduces user-chosen hostnames; live DNSSEC signing of synthetic answers is a performance cost
5 Delegation to the customer Delegate the reverse zone (e.g., per /48) to customer-run authoritative servers Correct for enterprises with DNS competence; impractical for residential users; conflicts with RFC 6092 CPE security defaults

RFC 8501's bottom line: "When address assignment and name are under the same authority, or when a host has a static address and name, AAAA and PTR records should exist and match." For everything else (residential-style pools), the realistic menu is wildcards, negative responses (where nothing needs a PTR), or on-the-fly generation.

What mail receivers expect (FCrDNS)

  • The RFC states it plainly: "most email providers will not accept incoming connections on port 25 unless forward and reverse DNS entries match" — forward-confirmed reverse DNS (FCrDNS): PTR for the connecting address yields a name, and that name's AAAA (or A) includes the connecting address.
  • Only options 3 (DDNS), 4 (on-the-fly), and 5 (delegation) can produce matching pairs; wildcards and NXDOMAIN cannot. A mail source living behind a wildcard or empty reverse zone will be rejected or heavily penalized.
  • Gmail is the enforcement archetype on IPv6: sending hosts must have a PTR whose forward lookup confirms the IP, and pass authentication, or mail is rejected with 550 5.7.1 IPv6-specific errors (catalogued in Gmail SMTP Troubleshooting; requirements in Gmail Sender Requirements). IPv6 receivers generally apply stricter rules than IPv4 because per-IP reputation is diluted across the huge address space — see IPv6 Sending for the full sending-policy picture.
  • Because generic/synthetic-looking PTR names (e.g., 2-2-2-2.pool6.example.net) signal "not a deliberate mail server," receivers also use PTR naming as a spam heuristic. M3AAWG guidance cited by NIST SP 800-177 (digest): reverse trees should identify the authoritative mail servers for a domain.

Security and privacy considerations (RFC 8501 §5)

  • Matching records ≠ trust: forward/reverse agreement is easily arranged by an attacker who controls their own reverse zone; without DNSSEC it is spoofable in transit. Treat FCrDNS as a hygiene floor, not authentication (SPF/DKIM/DMARC do authentication).
  • DNSSEC interactions: dynamically added or synthesized records complicate signing (live-signing cost, key exposure on online signers); unsigned reverse zones are increasingly read as a reduced-trust signal.
  • Privacy: hostnames encoding location or subscriber identity leak information (RFC 8117); user-supplied hostnames risk offensive/abusive content.
  • DoS surface: DDNS update channels need authentication and rate limits; on-the-fly generators must bound state and cache size.

Operational checklist for an ESP running IPv6 mail infrastructure

  1. Every IPv6 address that emits SMTP gets a static, descriptive, FCrDNS-correct PTR (mtaN.esp.example ↔ AAAA), provisioned like a production asset — option "static records," never wildcards.
  2. Decide the policy for the non-sending remainder of your allocations: NXDOMAIN is clean and honest; never let a wildcard cover space that could originate SMTP.
  3. Confirm your upstream/LIR delegates ip6.arpa for your prefix to your name servers (typically on nibble boundaries: /32, /36, ... /48, /56, /64) before first send.
  4. DNSSEC-sign the reverse zone if feasible — consistent with the authentication posture in NIST SP 800-177 and expected by security-sensitive receivers.
  5. Keep PTR naming consistent with your forward branding used in HELO/EHLO — receivers compare HELO, PTR, and certificate names when scoring a connection (see Sending Infrastructure Practices).
  6. When troubleshooting a sudden 550 5.7.1-style rejection that cites an IPv6 address: check FCrDNS for that specific address first (rotating/privacy addresses on an app server that started emitting mail over IPv6 is the classic cause), then authentication alignment — the broader dual-stack strategy is covered in IPv6 Sending.
#operations#ipv6#reverse-dns#ptr#fcrdns#dns#rfc8501#smtp