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
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 are welcome! Please read the Developer Guide for local setup and testing instructions.
- DNS-collector - Grab your DNS logs, detect anomalies, and finally understand what's happening on your network.