DNSControl is an infrastructure-as-code system for defining and maintaining DNS zones. Configuration is stored in dnsconfig.js and uses a JavaScript-compatible domain-specific language to describe domains, records, registrars and DNS providers.
The same configuration can be kept in version control, reviewed with the rest of an infrastructure change and deployed through automated workflows. DNSControl separates the desired DNS state from provider-specific APIs, which is particularly useful when an organisation uses several DNS services or needs consistent records across many zones.
This is free and open source software.
Key Features
- Defines DNS zones with a JavaScript-compatible domain-specific language rather than provider-specific configuration.
- Shows proposed additions, changes and deletions with
dnscontrol previewbefore anything is applied. - Applies the approved configuration to supported DNS providers with
dnscontrol push. - Uses provider and registrar integrations so one configuration can work across different DNS services.
- Fits Git-based review and CI/CD workflows, making DNS changes auditable alongside other infrastructure code.
- Supports reusable variables, macros and transforms for reducing duplication across related domains and records.
- Can manage provider-specific capabilities while retaining a common configuration model for ordinary records.
- Includes validation that catches configuration errors before changes are sent to providers.
Website: github.com/DNSControl/dnscontrol
Support:
Developer: Tom Limoncelli and contributors
License: MIT License
DNSControl is written in Go. Learn Go with our recommended free books and free tutorials.
Related Software
| Useful DNS Tools | |
|---|---|
| DNSControl | System for maintaining DNS zones |
| q | Command line DNS client |
| octoDNS | Manage DNS across multiple providers |
| nsupdate.info | Implement a free dynamic DNS service |
| ExternalDNS | Automatically keep Kubernetes resources and their DNS records in sync |
| DNSViz | Visualise DNS and DNSSEC problems at a glance |
| dnsglobe | Check how DNS records propagate around the world |
| DNSDiag | Pinpoint DNS delays and troubleshoot lookup failures |
| DomainMOD | Manage domains and other internet assets in a central location |
| Poweradmin | Web-based DNS administration tool |
| dnsperf | Measure performance of authoritative domain name services |
| ctrld | Configurable DNS forwarding proxy |
| Atomia DNS | Multi-tenant system for handling large amounts of DNS data |
| SPFtoolbox | Look up DNS records |
| Flamethrower | Stress DNS servers with high-volume queries to test performance |
| DNS-collector | Collect, transform and route DNS traffic data for monitoring and analysis |
| Designate | Multi-tenant DNSaaS service for OpenStack |
| Zonemaster-CLI | Put DNS zones through extensive automated checks from a terminal |
| dnsi | Tool to investigate the DNS |
| Digger | Modern DNS lookup tool with a graphical interface |
| dnst | Toolset to assist DNS operators with zone and nameserver maintenance |
| dnspyre | Command-line DNS benchmark tool |
| dns-lexicon | Manage DNS records across providers through a consistent interface |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.