Skip to content

Engineering

Fixing Dns Records without guessing

Fix DNS with evidence: compare the public inventory to the runbook, correct zone or NS delegates, respect TTL, then rescan—no Slack folklore about "propagation.

· by Sam Ortega

Fixing Dns Records without guessing

When a client says the site is "randomly down," people guess. They restart app servers. They purge a CDN. They change three TXT strings that had nothing to do with the outage. DNS records is fixable without that theater if you treat the glossary line as metadata you can verify: collect the public records that resolve and configure the domain, compare to what you meant to ship, then change only the mismatched parts.

SlaySlop defines the check as one that "Collects the public records that resolve and configure the domain." Domain insights framing keeps that inventory beside TLS, hosting, and mail so you can decide whether the next action is a zone edit, a certificate look, or an availability probe. Your fix plan should make the public surface match the runbook and prove it on a rescan.

I have sat on enough launch-week calls to prefer boring checklists over heroic restarts.

Outcome you want

After the fix, the launch hostnames in the SOW resolve and configure the way the runbook describes. NS delegates match the DNS host on the invoice. Apex and www stop disagreeing. Portal notes name owners and TTLs. A follow-up scan shows the updated public inventory. Sibling questions (mail policy, DNSSEC signing) are owned by their own checks, not buried inside "we fixed DNS."

Boundaries before you edit

Only change zones and registrar settings you own, manage, or have written permission to operate. SlaySlop is read-only and will not push DNS updates. Insights come from the public surface of the domain. Fixing records does not retire a TLS problem or an availability outage if those are the real failure modes. Not a pentest. Not a promise that private internal DNS matches public DNS.

Loading diagram.

Step 1: lock hostname and expected targets

Write down the exact hostnames the client uses. Apex and www if both matter. Preview or shop subdomains if they are in the SOW. Write the expected targets from your runbook: CDN hostname, load balancer, NS set, mail provider. Guessing the expected state from memory is how you "fix" the wrong label.

text
fix_ticket:
  hosts: [example.com, www.example.com]
  expected:
    apex: <cdn or LB target>
    www: <CNAME or A>
    ns: [<provider NS names>]
  source_of_truth: runbook URL or registrar screenshot date

Step 2: read the public inventory before touching the panel

Open DNS records in the SlaySlop report for the permissioned URL. Compare classes you care about: A/AAAA, CNAME, NS, and any MX/TXT you need for context. Reproduce locally on domains you manage if you need a second angle:

bash
# Permissioned / owned domain — evidence before edits
DOMAIN=example.com
dig +short "$DOMAIN" A
dig +short www."$DOMAIN" CNAME
dig +short www."$DOMAIN" A
dig +short "$DOMAIN" NS
dig +short "$DOMAIN" MX

If the inventory already matches the runbook, stop editing DNS. Move to Availability status, TLS, redirects, or hosting context. Endless TXT churn while the A record was fine is a classic agency own-goal.

Step 3: change the mismatched class only

Wrong address or CNAME. Update the zone at the DNS host that actually answers for those NS delegates. If NS still points at the old host, edits in the new panel will never go public—fix delegates first.

Stale NS. Update the registrar delegation to the provider you intend. Confirm both the registrar UI and a public NS lookup. Half migrations are the mistake that survives the most standups.

Mail-shaped records. Prefer the Mail configuration sibling for SPF/DKIM/DMARC and routing review. You can correct an obviously wrong MX while you are in the panel, but do not declare deliverability solved from DNS records alone.

DNSSEC questions. That is a different glossary check: whether DNS responses use signed verification. Do not flip random DS records because an apex A was wrong.

Step 4: respect TTL like an adult

Put the TTL in the ticket. Tell the client when a rescan is meaningful. Domain insights copy notes that future scans reveal when public configuration shifts. That loop beats "it should be propagated by now" on a call.

bash
# Owned domain — see TTL on the record you changed (example)
dig example.com A +noall +answer

Step 5: rescan and write the portal note

Rescan the same permissioned hosts. Confirm the inventory matches. Note hostname, change made, TTL, owner, and next scan time. If the site is still broken with correct records, say that out loud and move the incident to the right check. Uptime vs quality is a real distinction: a correct zone with an application 500 is not a DNS win.

Process that survives launch week

Keep a one-page DNS runbook in the client folder: registrar, DNS host, expected NS, apex/www targets, who can approve changes. Attach the SlaySlop DNS records view after each cutover. Soft close: when you want that public inventory kept beside TLS and uptime without screenshot folklore, use SlaySlop on a permissioned URL and fix from evidence.