DNS management software

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

Background

In 1995, there were only 70,000 domains in existence.[1] The way to register them was by email[2] and the way to publish them was BIND. By mid-1997, the domain count was 1.3 million.[3] As the number of domains and internet hosts skyrocketed, so too did the quantity of DNS data and the time required to manage it. Sysadmins responded by writing Perl or Shell scripts that helped automate DNS changes. These scripts were mostly in-house tools. The closest thing to widely available DNS management software was the BIND module in webmin, which provided web tools for editing BIND zone files.

During the late 1990s, the sheer quantity of DNS data was overwhelming the tools available to manage it. The cost of managing the data instigated the birth of DNS management software. The costs can best be explained by illustration. In 1998, three of the largest web hosting companies (HostPro, Interland, and Vservers) each hosted about 100,000 DNS zones. DNS changes were made by telnetting to a BIND master and editing zone files with a text editor. A staff of several DNS admins performed this task all day, every day. Their changes would only take effect after a BIND reload. Because disks were slow, it took several hours for BIND to do a full reload. If a DNS admin made a typo in a zone file, BIND would fail to parse that file and die. Often after hours of processing. Whomever noticed BIND wasn't running would have to read the logs, find the zone file with the error, manually review the file, fix the error, and then try starting BIND back up. Once up, the changes could propagate to the DNS slaves via zone transfers. Changes often took more than 24 hours to fully propagate.

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 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

Using the RFC2136 DDNS update protocol, it is possible to change DNS zones without accessing the zone files. Management tools known to work that way are Admin4 and NicTool via its nsupdate[4] export mechanism.

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

FeatureNicToolVegaDNSmysqlBindWebminAdmin4Microsoft DNSSuaveDNSXnamednsadminfmDNS
LanguagePerl & JSPHPCPerlPythonCPHP & PerlPHP & PerlCPHP & JS
DatabaseMySQLMySQLMySQLflat files-flat files or
Active Directory
MySQLMySQLMySQLMySQL
Delegated PermissionsYes3 groupsYesNoNoNoNoNoNoYes
Open SourceYes[5]YesYesYesYesNoNoNoNoYes
Latest Release2017201620162017201620122003200520032016

DNS Server Support

NameNicToolInfobloxVegaDNSmysqlBindWebminAdmin4Microsoft
DNS Manager
fmDNS
BINDYesNoNoYesYesYesNoYes
tinydnsYesNoYesNoNoNoNoNo
PowerDNSYesNoNoNoNo?NoNo
MaraDNSYesNoNoNoNo?NoNo
NSDYesNoNoNoNo?NoNo
Microsoft
DNS Server
NoYesNoNoNoNoYesNo
InfobloxNoYesNoNoNoNoNoNo

BIND zone file format

The BIND zone file format is a widely used industry standard documented in RFC 1035. Several other DNS servers, including PowerDNS, NSD, Knot DNS, and Microsoft DNS Server have the ability to read BIND zone files and serve from them.

Resource Record Types Supported

NameNicToolVegaDNSmysqlBindWebminAdmin4Microsoft DNS ManagerProBINDfmDNS
A,NS,SOA,PTRYesYesYesYesYesYesYesYes
MX,TXT,CNAMEYesYesYesYesYesYesYesYes
KEYNoNoNoYesYesYesNoYes
AAAAYesYesYesYesYesYesNoYes
LOCYesNoNoYesYesNoNoNo
SRVYesYesYesYesYesYesYesYes
NAPTRYesNoYesNoYesYesNoYes
SSHFPYesNoNoNoYesNoNoYes
RRSIGYesNoNoNoYesYesNoNo
NSECYesNoNoNoYesYesNoNo
DNSKEYYesNoNoNoYesYesNoYes
DSYesNoNoNoYesYesNoYes
NSEC3YesNoNoNoYesYesNoNo
NSEC3PARAMYesNoNoNoYesYesNoNo
IPSECKEYYesNoNo?Yes??No
DNAMEYesNoNo?YesYes?Yes
SPFYesNoNoYesYesNoNoYes
  • 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.

DNS software homogeneity

Primary reasons for DNS providers (especially root operators) to use different DNS servers is code diversity and application performance. Code diversity makes it less likely that a performance or security bug in one DNS server could be exploited to inflict a Denial of Service attack upon an organization. It is for this reason that NSD and Knot DNS are frequently used by root and TLD operators. DNS management software can greatly simplify publishing DNS data to varying DNS servers.

gollark: As opposed to the better osmarkslibc™.
gollark: C is *approximately* JSON.
gollark: This is basically JSON strings right?
gollark: Just "borrow" a JSON parser.
gollark: Troubling.

See also

References

  1. "Internet Domain Survey, 1995". ISC. Retrieved April 30, 2013.
  2. Simerson, Matt. "Domain Registration in 1996". Archived from the original on June 5, 2015. Retrieved April 30, 2013.
  3. "Internet Domain Survey, July 1997". ISC.
  4. A, Beeson. "NicTool Export BIND nsupdate". github.
  5. Simerson, Matt. "NicTool Source Repository". GitHub. Retrieved September 25, 2013.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.