Take the 2-minute tour ×

First off, I'm a bit of a bind n00b so if I say things that don't make sense just ignore them =)

Is there any software that would allow "API" like commands for creating, updating, deleting etc. zones and records on BIND?
I have two DNS servers running on EC2 and I want to be able to easily manage domains on them from another app. I know something like CPanel has a HTTP API and interfaces with BIND but that's probably overkill for what I need. I don't mind installing Apache/PHP/Mysql/Python/Rails/Whatever else needed to get it to work but all the servers will be doing is DNS

EDIT: Or get BIND to use MySQL for storing it's config, then I could just write a simple PHP script to do the 'API' bits

share|improve this question
Any reason not to just Amazon's Route53 DNS service? –  ceejayoz Jun 4 '11 at 15:09
Cost =) From our data we think we'll need to host about 500 domains, but each domain might only get a few requests per day and we'll have a high TTL so I don't think we need the features of R53. –  sam Jun 4 '11 at 15:28
add comment

4 Answers

up vote 4 down vote accepted

This has been an ongoing request from BIND admins for many years. BIND 9 has the facility built-in to swap out the storage-handling to an alternative mechanism than the default. There have been various attempts at using this facility, and one that appears to still be maintained is the MySQL BIND SDB driver, which looks as if it meets the needs you edited your question to include - so you'll still need to write/find a PHP/HTTP front-end for the database.

A quick Google search for "database backend for bind" provides further reading, but keep in mind any such solution to include database support into BIND will require a system on which you can compile BIND + driver code, so you may want to have another host to do this on for security reasons.

As always, HTH and YMMV.

share|improve this answer
Thanks that's pretty much exactly what I was looking for. I don't have a problem building my own PHP frontends so I'll spin up a couple of new EC2 instances and play about a bit –  sam Jun 4 '11 at 15:29
You may find the following references opens up many possibilities: blog.fupps.com/2010/10/29/… –  dmourati Jun 4 '11 at 17:12
add comment

You can configure a dynamic zone,

zone "example.com." {
    update-policy local;

and update using nsupdate -l:

$ nsupdate -l
> zone example.com
> update add foo.example.com 7200 A
> send
share|improve this answer
add comment

BIND 9 comes with DLZ (http://bind-dlz.sourceforge.net/mysql_driver.html) included already: http://www.nlnet.nl/project/bind-dlz/

As a goodie for DLZ updates perhaps this will also be useful



share|improve this answer
add comment

There's an ongoing "Name Server Control Protocol" effort at the IETF intended to design a common API for performing exactly those functions across different DNS server implementations.

See http://dnsccm.org/ for more details, including info about a forthcoming implementation of NSCP.

share|improve this answer
add comment

Your Answer


