Web Server Rescue
Compare DNS Answers Across Resolvers
A site behaves differently for different users and you need to compare DNS answers from multiple public resolvers.
Command
for r in 1.1.1.1 8.8.8.8 9.9.9.9; do printf '%s ' "$r"; dig @"$r" +short edge.test A; done
What changed
Nothing changes. The command sends read-only DNS queries.
Danger
safe
When to use it
Use during DNS cutovers, CDN moves, or reports that only some users reach the wrong IP.
When not to use it
Do not assume public resolver agreement proves every ISP cache has updated.
Undo or recovery
No undo needed because this command is read-only.
Expected output
Resolver IPs followed by the A record each resolver returns.
demo script
Disposable terminal steps
dig +short edge.test Afor r in 1.1.1.1 8.8.8.8 9.9.9.9; do printf '%s ' "$r"; dig @"$r" +short edge.test A; done
simulated output
What it looks like
::fixture-ready::
$ dig +short edge.test A
203.0.113.10
::exit-code::0
$ for r in 1.1.1.1 8.8.8.8 9.9.9.9; do printf '%s ' "$r"; dig @"$r" +short edge.test A; done
1.1.1.1 203.0.113.10
8.8.8.8 198.51.100.44
9.9.9.9 203.0.113.10
::exit-code::0
YouTube Short
Compare DNS resolvers.
If users disagree about where a site points, ask multiple resolvers. One stale answer can explain the split.
LinkedIn hook
One resolver can still have the old edge IP while another has the new one.
Question: When users hit different edge IPs, which resolvers do you compare first?
experiments
A/B tests to run
Metric: save_rate
A: One resolver was stale.
B: Compare DNS answers before restarting.