Skip to content

Instant DNS diagnostics across your entire infrastructure. One command to check all DNS caches when things go wrong at 3 AM.

License

Notifications You must be signed in to change notification settings

dmachard/DNS-tester

Repository files navigation

release Py tests docker

DNS-collector

DNS Tester is a scalable and asynchronous tool for testing and monitoring multiple DNS servers, with support for modern DNS protocols, CLI automation, and observability.

🎯 Use Cases:

  • 🚨 Incident Response: DNS issues at 3 AM? Get instant visibility across all your DNS servers.
  • 🔍 DNS Cache Validation: Verify that all your DNS caches (datacenter, cloud, edge) resolve domains consistently. Built for testing multiple internal DNS caches simultaneously.
  • Performance Monitoring: Compare response times across your distributed DNS infrastructure
  • 📊 Continuous Health Monitoring: Track DNS performance with built-in Prometheus metrics
  • 🛡️ Multi-Protocol Support: Handle mixed environments with Do53, DoT, DoH, and DoQ

Example output of a full DNS test executed in parallel across 7 servers using the CLI tool:

Starting DNS lookup for domain: internal.company.com
DNS lookup succeeded for 7 out of 7 servers (3.2896 seconds total)
✅  udp://cache-dc1.company.com - Do53 - 18.23916ms - TTL: 600s - 10.1.1.100
✅  udp://cache-dc2.company.com:53 - Do53 - 15.13324ms - TTL: 515s - 10.1.1.100
✅  tcp://cache-aws.company.com:53 - Do53 - 29.19659ms - TTL: 8s - 10.1.1.100
✅  udp://cache-gcp.company.com:53 - Do53 - 17.18517ms - TTL: 313s - 10.1.1.100
❗  tcp://cache-edge.company.com - Do53 - 2411.55582ms - TTL: 598s - 10.1.1.100
✅  https://doh.company.com - DoH - 236.43650ms - TTL: 599s - 10.1.1.100
❗  tls://dot.company.com - DoT - 3278.41313ms - TTL: 599s - 10.1.1.100

🚀 Getting Started

To get started quickly with Docker Compose:

sudo docker compose up -d
sudo docker compose exec api dnstester-cli internal.company.com

For more detailed setup and usage instructions, see:

👥 Contributions

Contributions are welcome! Please read the Developer Guide for local setup and testing instructions.

🧰 Related Projects:

  • DNS-collector - Grab your DNS logs, detect anomalies, and finally understand what's happening on your network.
  • CoreDNS-GSLB - Global Server Load Balancing functionality in CoreDNS

About

Instant DNS diagnostics across your entire infrastructure. One command to check all DNS caches when things go wrong at 3 AM.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •