README.md
November 9, 2025 ยท View on GitHub
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