The Zoned project offers clustering of DNS zone database for BIND9 software. This feature enables efficient management of domain name system information.
This system includes a variety of features such as the zoned(1) replication node, zonectl(1) command line utility, and the Zoned Perl module. If you want to modify your DNS zone data, you must go through a Zoned node using the command-line utility or Perl library. Alternatively, you can use an ASN.1 message schema definition that outlines the messaging protocol for node communication to develop your own tools for interacting with the cluster.
Zoned and Berkeley DB are responsible for managing the cluster and cluster messaging automatically with the latter transparently routing all zoned edits to the master, as per BerkeleyDB Replication requirements. You can use SRV resource records to enumerate your cluster nodes, keeping in mind that the list you create only specifies the nodes that need to participate in the cluster rather than all available nodes. This list determines who and where each node should peer with and acts as a parameter to establish whether a transaction has been committed successfully. (i.e. more than one-half of the enumerated nodes have written out a zone edit).
Zoned requires several tools during compilation, such as GNU Make, libarena, libevnet, libevent, asn1c, and Lua. Furthermore, the software has been designed to run on Debian GNU/Linux i386 and OpenBSD 4.0 AMD64 platforms. While Zoned is a relatively new tool, it is recommended to take some time to build the program correctly, keeping in mind that libevnet requires C-Ares and OpenSSL.
Although Zoned is still a work-in-progress, in the future, it is expected that node authentication will be included, which will use TLS and X.509 certificate verification. Currently, node discovery occurs through an SRV query, expecting you to enumerate all current nodes. Thus, keep in mind the requirements before downloading: libarena, libevent, and libevnet.
Version 0.1.1: N/A