DNS management software
From Wikipedia, the free encyclopedia
DNS management software is computer software that controls Domain Name System (DNS) server clusters. DNS data is typically deployed on multiple physical servers. The main purposes of DNS management software are:
- to reduce human error when editing complex and repetitive DNS data
- to reduce the effort required to edit DNS data
- to validate DNS data before it is published to the DNS servers
- to automate the distribution of DNS data
The rapid expansion of the internet in the mid-1990s exposed the limitations of manual DNS management. Between 1995 and mid-1997, the number of registered domains grew from 70,000[1] to over 1.3 million.[2] Early administration relied on the BIND software, where registration was often handled via email[3] and zone files were edited manually using text editors. As hosting providers began managing hundreds of thousands of zones,[4] several critical inefficiencies emerged:
- Manual Error & Server Downtime: Syntax errors in manually edited zone files could cause BIND to fail during reloads, leading to service outages.
- Scalability Bottlenecks: On contemporary hardware, full BIND reloads for large datasets could take several hours.
- Propagation Delays: The combination of manual edits and slow processing often resulted in DNS changes taking more than 24 hours to propagate across the network.
To address these hurdles, administrators first developed in-house Perl and Shell scripts for automation. This eventually led to the birth of dedicated DNS management software, designed to provide data validation, reduce human error, and automate distribution across server clusters.
DNS and databases
While struggling with the challenges of editing zone files, more than a few sysadmins noticed that SQL is a terrific place to store DNS data. By moving the Single Source of Truth from text files into SQL, DNS data could be validated and constrained before acceptance into the database. Export scripts could convert the SQL to zone files. Rsync could replace named-xfer for distribution, increasing security and reducing propagation time. Among large hosting providers, it became fashionable to store DNS data in SQL and build a custom interface for managing it. mysqlBind is one such DNS manager. It provides a web interface for data input and exports the data to BIND zone files.
In 2000, Daniel J. Bernstein released Djbdns. One of the novel features was that tinydns, the included authoritative DNS server, served DNS directly from a CDB database. The cdb had to be compiled from a plain text file whose format was designed to be edited by scripts. Tinydns quickly became the second most popular DNS server[5] and a number of DNS managers were released for it, including: VegaDNS, SuaveDNS, and NicTool.
In 2005, PowerDNS was released. One of its features was the ability to serve DNS data directly out of the SQL database, bypassing the export step entirely. PowerDNS also spawned a number of DNS managers that provide web interfaces to its SQL data store.
DDNS
Service providers
DNS service providers often deploy different types of DNS servers in their networks. In addition, different answers may be provided to DNS clients based on the clients' geographic location, as determined by their IP address (GeoIP). The most practical way to manage such critical Internet infrastructure has been to rely on databases and complex DNS management software to ensure homogeneity and avoid single points of deployment errors.
DNS management software comparison
| Feature | NicTool | VegaDNS | mysqlBind | Webmin | Admin4 | Microsoft DNS | SuaveDNS | Xname | dnsadmin | fmDNS | Micetro |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Language | Perl & JS | PHP | C | Perl | Python | C | PHP & Perl | PHP & Perl | C | PHP & JS | C++ |
| Database | MySQL | MySQL | MySQL | flat files | - | flat files or Active Directory | MySQL | MySQL | MySQL | MySQL | SQLite, MS SQL, PostgreSQL |
| Delegated Permissions | Yes | 3 groups | Yes | No | No | No | No | No | No | Yes | Yes |
| Open Source | Yes[7] | Yes | Yes | Yes | Yes | No | No | No | No | Yes | No |
| Latest Release | 2017 | 2016 | 2016 | 2017 | 2016 | 2012 | 2003 | 2005 | 2003 | 2021 | 2021 |
DNS server support
| Name | NicTool | EfficientIP | VegaDNS | mysqlBind | Webmin | Admin4 | Microsoft DNS Manager | fmDNS | Infoblox | Micetro | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| BIND | Yes | Yes | No | Yes | Yes | Yes | No | Yes | No | ||
| tinydns | Yes | No | Yes | No | No | No | No | No | No | ||
| PowerDNS | Yes | No | No | No | No | ? | No | No | No | ||
| MaraDNS | Yes | No | No | No | No | ? | No | No | No | ||
| NSD | Yes | Yes | No | No | No | ? | No | No | No | ||
| Microsoft DNS Server | No | Yes | No | No | No | No | Yes | No | No | ||
| Infoblox | No | No | No | No | No | No | No | No | Yes | ||
| EfficientIP | No | Yes | No | No | No | No | Yes | No | Yes |
BIND zone file format
Resource record types supported
| Name | NicTool | VegaDNS | mysqlBind | Webmin | Admin4 | Microsoft DNS Manager | ProBIND | fmDNS | Micetro |
|---|---|---|---|---|---|---|---|---|---|
| A,NS,SOA,PTR | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| MX,TXT,CNAME | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| KEY | No | No | No | Yes | Yes | Yes | No | Yes | Yes |
| AAAA | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
| LOC | Yes | No | No | Yes | Yes | No | No | No | Yes |
| SRV | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| NAPTR | Yes | No | Yes | No | Yes | Yes | No | Yes | Yes |
| SSHFP | Yes | No | No | No | Yes | No | No | Yes | Yes |
| RRSIG | Yes | No | No | No | Yes | Yes | No | No | Yes |
| NSEC | Yes | No | No | No | Yes | Yes | No | No | Yes |
| DNSKEY | Yes | No | No | No | Yes | Yes | No | Yes | Yes |
| DS | Yes | No | No | No | Yes | Yes | No | Yes | Yes |
| NSEC3 | Yes | No | No | No | Yes | Yes | No | No | Yes |
| NSEC3PARAM | Yes | No | No | No | Yes | Yes | No | No | Yes |
| IPSECKEY | Yes | No | No | ? | Yes | ? | ? | No | Yes |
| DNAME | Yes | No | No | ? | Yes | Yes | ? | Yes | Yes |
| SPF | Yes | No | No | Yes | Yes | No | No | Yes | Yes |
- Microsoft DNS manager supports DNSSEC from Windows Server 2012 onwards. Some of the DNSSEC records can not be directly added but are generated during zone signing and managed as such.