Home Switchboard Unix Administration Red Hat TCP/IP Networks Neoliberalism Toxic Managers
May the source be with you, but remember the KISS principle ;-)
Skepticism and critical thinking is not panacea, but can help to understand the world better

DNS Zone Generators

News See also Recommended Links Perl-based DNS Tools Perl-based DNS Tools DNS Audit Scripts
DNSTool Generation of zones from /etc/hosts file Reverse Zone generation  Random Findings  Humor Etc

No normal person will ever generate reverse zone manually. But forward zones are also not that great as bind syntax is pretty obscure and unless you use sophisticated features is an overkill.


Old News ;-)

[Oct 28, 2011] CyberDNS

Written in Python

CyberDNS is a Web application to manage DNS zones and BIND configurations easily. It lets you add entries and then watch as they are generated into zone and configuration files. It supports IPv6 and most DNS types. The Web interface runs on the master DNS server, and cron is used to synchronize the Sqlitedb and zone files to slave DNS servers. It is easy to make snapshots to revert in the event of failure.

[Oct 28, 2011] Name Server Configurator

Oct 22, 2011 |

NSC is a set of utilities for easy administration of DNS servers. You write very simple configuration files and NSC automatically generates zone files, reverse zone files, and configuration for the BIND. Among other things, it also supports classless reverse delegations and IPv6 addressing. NSC is written in POSIX shell and GNU M4, and it should run on all systems where these two languages are available. Generation of DNS daemon config files is currently limited to BIND 8 or 9, but it's very easy to add your own config file generators for other daemons.

[Feb 7, 2007] Everything Sysadmin / hostdb

A system for generating internal DNS zones, external DNS zones, and DHCP configuration data from the same hostlist.txt file. Keep your configurations consistant by generating them all from the same source. The files that are generated are beautifully formated and easy to "diff" before they are put into production. It even generates the Makefile required to make the system all work together. A "file push" mechanism (mkdestinations), plus many DNS-related utilities are included (sortbyip, genrange, comparezones, checkrootcache).

First unveiled at the Usenix LISA 2005 Conference, San Diego, December 4-9, 2005 under the title, "HostDB: The Best Damn host2DNS/DHCP Script Ever Written".

Released under the GPL on January 8, 2005. Current release: 1.002


Recommended Links

Google matched content

Softpanorama Recommended

Top articles


A Survey of DNS Tools An old slides by Cricket Liu

[PDF] 46 DNS


DNStool 2.2 administration guide

The Domain Name Service (DNS) auto-configuration system (DNStool) is designed to take the pain out of managing DNS. It does this by automatically generating DNS files from a small number of configuration files. DNS files are in a complex and repetitious format; mistakes or omissions often creep in when manually maintained. In general, it reduces the task of maintaining DNS to 3 steps:

  1. for each domain, maintain a database describing its hosts
  2. maintain a description of the common features across domains
  3. run the configuration programs to generate DNS configuration files and install them.

This document is aimed at DNS administrators and is a description of these three steps in modifying the configuration. The DNS autoconfiguration system does not remove the need to understand the basics of DNS (and the DNS auto-configurer) in order to make major changes to the DNS configuration

Download the tool

Generation of zones from /etc/hosts file

h2n, a tool for converting a static hosts file into DNS zone files. Originally written by Cricket Liu for the O'Reilly DNS and BIND book. Currently maintained by Hal Pomeranz.

h2n - a host table to name server file converter. You can use h2n to create your data the first time and then maintain your DNS data manually. Or, you can use h2n over and over again. As you have seen, the format of the host table is much simpler to understand and to modify correctly. So, you could maintain /etc/hosts and rerun h2n to update your DNS data after each modification.

If you plan to use h2n, you might as well start with it, since it uses /etc/hosts - not your hand-crafted DNS data - to generate the new DNS files. We could have saved ourselves lots of work by generating the sample data in this chapter with the following:

h2n -v 8 -d -s terminator -s robocop -n 192.249.249 -n 192.253.253 -u

The -d and -n options specify the domain name and network numbers. You'll notice that the db filenames are derived from these options. The -s options list the name servers for the NS records. The -u (user) is the email address in the SOA record.

Reverse Zones Generation

mkrdns -- Program to automatically generate reverse DNS zone files (PTR records) Dec 03rd 1998, 10:34 stable: 1.4 - devel: none license: GPL

mkdnstab DNS Table generator in Perl Jul 10th 1999, 00:28 stable: 0.3 - devel: none license: OpenSource

Updatehosts -- is a system for automatically managing and generating DNS zone files using flat relational tables. Some of the features of updatehosts includes:

Random Findings

dnsupdate -- does not make any sense other then exercise in C

In search for a program that would help me create and maintain the DNS databases, my efforts were in vain. The nearest ones I could find were written in perl. The last thing I wanted to do from my program was to do a "system" call. I started playing with BIND 8.2.2 P7 and converted the nsupdate program to a function. That actually made me write the rest of the program.

My benchmark program was the famous h2n perl script. dnsupdate seems to be much faster than h2n. I have given a timing comparison table between dnsupdate and h2n in Appendix B.

With my highly limited knowledge about DNS or its configuration files (DNS tables or DNS databases) I am requesting users of this program to pinpoint any errors or suggestions to make dnsupdate a better one.


The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D

Copyright 1996-2018 by Dr. Nikolai Bezroukov. was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) in the author free time and without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to make a contribution, supporting development of this site and speed up access. In case is down you can use the at


The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.

The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Created May 16, 1996; Last modified: March 12, 2019