Sunday, August 14, 2011

MySQL Data-Driven BIND DLZ DNS Name Server on EC2 Cloud Ubuntu Instance


Berkeley Internet Name Domain (BIND)

BIND is the most widely used DNS software on the Internet, the de facto standard on nix operating systems. BIND was first released with Berkeley Software Distribution 4.3BSD, and as such, it is a free and open source software. As of 2010, BIND has been maintained by the Internet Systems Consortium, who wrote a new version (BIND 9) from scratch in part to address the architectural difficulties with auditing the earlier BIND code bases, and also to support DNSSEC (DNS Security Extensions). Other important features of BIND 9 include: TSIG, DNS notify, nsupdate, IPv6, rndc flush (remote name daemon control), views, multiprocessor support, and an improved portability architecture. rndc uses a shared secret to provide encryption for local and remote terminals during each session.

Dynamically Loadable Zones (DLZ)

DLZ (Dynamically Loadable Zones) is a patch for BIND version 9 that simplifies BIND administration and reduces memory usage and startup time. DLZ allows you to store your zone data in a database. Unlike using scripts, the changes in your database are immediately reflected in BIND's response to DNS queries, so there is no need to reload or restart BIND. You see, BIND "dynamically loads" the "zone" data it needs to answer a query from the database.

BIND DLZ Website:  http://bind-dlz.sourceforge.net/

Implementation of BIND DLZ on AWS EC2 Ubuntu LTS Server

Taking advantage of the Amazon Web Services free usage tier, I set up an EC2 Micro Instance of the current Long-Term Support (LTS) release of Ubuntu (10.04 LTS Lucid Lynx) - see my separate post  - Amazon Web Services (AWS) Free Usage Tier - Ubuntu Server on EC2 Cloud.  I selected the most recent Amazon machine image from the Ubuntu server team community:

AMI: ebs/ubuntu-images/ubuntu-lucid-10.04-amd64-server-20110719 (ami-63be790a)

... and connected over terminal to configure BIND DLZ according to some instructions I had used before to implement BIND DLZ on the early Hardy Heron version of Ubuntu:

http://ubuntuforums.org/showthread.php?t=823578

... from cycloptivity's Mar 2nd, 2009 post on page 2, I entered the following commands:


Get the sources

apt-get install dpkg-dev
mkdir -p /usr/local/src/bind9
cd /usr/local/src/bind9
apt-get source bind9
mkdir -p /usr/local/src/mysql
cd /usr/local/src/mysql
apt-get source mysql-server

Get the build essentials

apt-get update
apt-get install mysql-common libncurses5-dev libwrap0-dev libreadline5-dev chrpath automake1.9 doxygen texlive-latex-base gs dpatch gawk fakeroot bison libtool libssl-dev build-essential debhelper gcc

Build MySQL & Install


cd mysql-dfsg-5.1-5.1.41
./configure --prefix=/usr/local/mysql

... and towards the end of the config I ran into a snag with:

config.status: error: cannot find input file: Docs/Makefile.in

not really adept at fixing compiling errors, I am reaching out for any advice on how to proceed with this.

2 comments:

  1. Hello....
    DNS30 Pro-Edition provides a way to interact with one of the service provided by Amazon - Route53.Try this tool to create and manage hosted zone.Web Interface for the same is also available.
    http://www.dns30.com/

    ReplyDelete
  2. The files do indeed just appear to be missing from the debian archive.

    Annoying!
    I went off and grabbed the source from the mysql page for version 5.1.something and dumped the Docs dir from that into the debian.

    Just testing now if it might work..
    but meh, it's something better than nothing.

    ReplyDelete