What Forward-Confirmed Reverse DNS Actually Verifies
HELO or EHLO command. Before accepting email data, many receiving servers perform a two-way identity check across the Domain Name System.
First, the receiving server looks at the connecting IP address and queries the in-addr.arpa (for IPv4) or ip6.arpa (for IPv6) zone for a Pointer (PTR) record. This is standard reverse DNS. For example, if your egress IP is 198.51.100.25, the receiver queries 25.100.51.198.in-addr.arpa to see what hostname your network provider maps to that IP. If that returns mail.example.com, standard reverse DNS is satisfied.
However, spam operators can easily buy VPS instances and assign arbitrary hostnames to their PTR records if their provider gives them rDNS delegation. To prevent spoofing, the receiving server executes the critical second step: it takes that returned hostname (mail.example.com) and performs a forward lookup for its Address (A or AAAA) record. If the IP address returned by the forward lookup matches the initial connecting IP address, the connection is "forward-confirmed."
If the forward record points to a different IP, or if the PTR points to a default provider hostname (like vps-198-51-100-25.compute.cloudprovider.net) while the MTA identifies itself as mail.example.com, strict receivers will reject or heavily penalize the message before evaluating header signatures. If you are already auditing your authentication records, pairing that with Preventing Root DMARC Policies from Silently Breaking Subdomain Mail gives you a full picture of where authentication breaks down.
Why Cloud Deployments Break FCrDNS So Easily
- IP reassignments and instance rebuilds: Destroying and recreating an instance often assigns a new ephemeral public IP. If the automation updates the forward A record but skips the cloud provider's PTR API, forward lookups will succeed while reverse lookups return default vendor hostnames.
- Floating IP cutovers: Shifting an elastic or floating IP between two nodes running different services can point an established mail IP to a server that identifies itself under a different HELO banner.
- Asymmetric IPv4 and IPv6 egress: A server might have correct FCrDNS configured for IPv4, but the local MTA chooses IPv6 for outbound delivery by default. If the IPv6 interface uses a dynamic SLAAC address with no corresponding PTR record in
ip6.arpa, outbound mail over IPv6 will fail instantly.
Validating Both Directions from the Terminal
dig to run the two-step verification manually from any terminal.
BASH
# Step 1: Check the reverse PTR record for your outbound IP
dig +short -x 198.51.100.25
# Step 2: Check the forward A record for the hostname returned above
dig +short A mail.example.comSERVFAIL, you may need to confirm whether upstream delegation or DNSSEC issues are blocking resolution, as discussed in Using dig to Confirm If DNSSEC Validation Failures Cause SERVFAIL.
Choosing an FCrDNS Validation Strategy
| Strategy | Maintenance Overhead | Setup Complexity | Best Suited For | Risk Profile | Cost |
|---|---|---|---|---|---|
| Manual Audit | Low initial, high recurring | None (built-in CLI) | Static single-server setups | High risk of human error during migrations | Free |
| Periodic Probe Script | Low recurring | Low (cron / shell / alert) | Small fleets (2–10 nodes) | Low risk, detects drift within hours | Negligible |
| IaC Pipeline Validation | Negligible recurring | High (Terraform / CI/CD) | Dynamic cloud environments | Near-zero risk of configuration drift | Moderate engineering effort |
Option 1: Manual Audit Checklists
Option 2: Periodic Monitoring via Probes
Option 3: Infrastructure-as-Code and CI/CD Verification
Practical Takeaway
dig check a mandatory gate in your migration checklist. If you manage cloud instances that move or rebuild frequently, integrate your provider's PTR management directly into your provisioning automation to ensure forward and reverse records update simultaneously.