DNS Propagation Tracking
Context
DNS propagation tracking is the verification phase that follows an authoritative record swap during a hosting cutover. It targets webmasters, SEO engineers, and site architects who have just pointed A, AAAA, or CNAME records at a new origin and must prove that every recursive resolver worldwide has adopted them before retiring the old infrastructure. Skip this phase and you risk split-brain routing, where some visitors hit the new origin while others remain pinned to a decommissioned IP. This work sits inside the broader DNS Configuration & Hosting Cutover sequence, immediately after the swap and before edge cache purges and legacy teardown. Maintain strict version control on every zone file and document each state change.
The core difficulty is that DNS has no global “done” signal. You change one authoritative record, but adoption then depends on thousands of independent recursive resolvers each expiring their own cache on their own schedule, with enterprise firewalls and ISP proxies routinely ignoring the TTL you set. Tracking exists to replace optimism with evidence: poll a representative spread of regional resolvers, hold the line until they all agree on the new IP, and only then purge the edge and retire the old origin. The adoption percentage this phase produces is the gate every subsequent step depends on.
Pre-flight Checks
- Lower the authoritative zone TTL to 300 s (5 minutes) 24–48 hours before execution to force rapid cache expiration across recursive resolvers.
- Apply the staged schedule in TTL Optimization Strategies to balance resolver query load against cutover agility.
- Validate SOA serial increments and confirm secondary nameservers are fully synchronised before modifying A, AAAA, or CNAME records.
- Align this work with the application deployment window from your DNS Configuration & Hosting Cutover plan to prevent routing conflicts.
- Audit DNSSEC signatures — RRSIG and DNSKEY records must be current to avoid SERVFAIL responses from validating resolvers.
- Capture baseline A/AAAA records for immediate rollback comparison.
- Assume enterprise firewalls may ignore low TTLs and enforce proprietary minimum cache times of 1–24 hours.
Execution Steps
1. Deploy Distributed Query Testing
Immediately after the record update, run parallel dig and nslookup queries across geographic endpoints. Compare each resolver’s answer against the authoritative response and flag any node still returning the legacy IP. For the full multi-resolver methodology, follow Verifying DNS Propagation With dig Across Resolvers.
2. Stand Up Real-Time Monitoring
Integrate the dashboards described in Monitoring Global DNS Propagation During Cutover to track resolver cache adoption and latency spikes as they happen. A live adoption percentage is what gates the later edge-purge step, so wire it up before traffic shifts.
3. Clear Negative Caching
Verify the SOA MINIMUM TTL and run iterative queries to flush lingering NXDOMAIN responses. Negative caching for newly created subdomains can outlast the record swap, so confirm that no resolver is still serving a stale “does not exist” answer.
4. Synchronise CDN Origin Pulls
Force origin fetches via static IP or internal hostname during the transition window so edge nodes do not pin themselves to the cached legacy IP. Confirm parity first using Staging to Production Sync so the origin the edge reaches is byte-identical to what was validated.
5. Purge Edge Caches at Threshold
Once monitored adoption reaches 95%, trigger automated cache invalidation via the CDN API to eliminate split-brain routing. Purging earlier just re-pins edges to the old origin; purging here flushes the last of the legacy responses.
6. Watch Error Rates and Loops
Monitor HTTP 5xx rates and redirect loops with synthetic transactions to catch origin connection timeouts before scaling traffic. Hold this watch until adoption is global; if thresholds breach, escalate to DNS Rollback Procedures.
Configs / Commands
The commands below cover the two things tracking actually measures: what each public resolver currently answers, and whether the edge and TLS layers have followed. Run the parallel dig loop on a 60-second timer and treat the API and Nginx fragments as the levers you pull only once adoption clears the threshold.
# Query multiple public resolvers in parallel to check propagation
for ip in 8.8.8.8 1.1.1.1 208.67.222.222 9.9.9.9; do
echo "$ip: $(dig @$ip target-domain.com +short)" # each should return NEW_IP
done
# Cloudflare DNS API — update an A record TTL and content during the window
curl -s -X PATCH "https://api.cloudflare.com/client/v4/zones/{zone_id}/dns_records/{record_id}" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"content":"NEW_IP","ttl":300}'
# Route53 — apply a pre-authored change batch (AWS CLI)
aws route53 change-resource-record-sets \
--hosted-zone-id ZONE_ID \
--change-batch file://dns-change.json # JSON authored ahead of the window
# Nginx upstream: resolve origin by name and re-resolve every 5s during cutover
resolver 8.8.8.8 valid=5s;
set $backend "http://origin.example.com";
proxy_pass $backend;
proxy_set_header Host $host;
Validation
- Run continuous checks every 60 seconds and halt only when all monitored resolvers return the new IP:
dig @208.67.222.222 target-domain.com A. - Validate TLS handshake success and SNI routing:
openssl s_client -connect target-domain.com:443 -servername target-domain.com < /dev/null. - Monitor HTTP error rates with synthetic transactions to catch origin connection timeouts.
- Confirm NXDOMAIN responses no longer persist across enterprise and ISP resolvers.
- Validate that edge nodes pull directly from the new infrastructure, not cached legacy IPs.
- Test split-DNS environments so internal corporate resolvers do not bypass public authoritative servers and cause routing mismatches.
Rollback Triggers
- Resolver failure rate exceeds 5%.
- Average DNS lookup time surpasses 10 seconds.
- Origin SSL mismatch persists for more than 15 minutes.
- On any breach, revert authoritative records to the pre-cutover state and restore original TTL values immediately, following DNS Rollback Procedures.
- Halt all CDN purges and origin syncs, notify infrastructure and support teams, and capture resolver logs and CDN error rates for post-mortem.
FAQ
Why do some resolvers still return the old IP after 24 hours despite a 300 s TTL?
Many ISPs and enterprise firewalls enforce proprietary minimum cache times that override authoritative TTLs; use dig +trace target-domain.com to verify the authoritative answer and route affected traffic via a CDN or direct IP until those caches expire naturally.
How do I prevent CDN split-brain routing during DNS propagation? Configure the CDN to use a static origin IP or internal resolver during the cutover window, invalidate edge caches only after adoption hits 95%, and validate origin fetch headers to confirm requests reach the new infrastructure.
What is the fastest way to validate DNSSEC propagation post-migration?
Run dig +dnssec target-domain.com @1.1.1.1 and dig +dnssec target-domain.com @8.8.8.8, then verify RRSIG and DNSKEY records match across all authoritative nameservers with no SERVFAIL responses.
When should I revert TTLs to their original values after a successful cutover? Wait 48–72 hours after 100% global adoption is confirmed and CDN caches are synchronised, then increase TTLs back to 3600 s or 86400 s gradually to reduce authoritative query load.
Related
- Monitoring Global DNS Propagation During Cutover
- Verifying DNS Propagation With dig Across Resolvers
- TTL Optimization Strategies
- DNS Rollback Procedures
← Back to DNS Configuration & Hosting Cutover