DNS server should be using BIND

Bug #434080 reported by Evan Broder
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Invirt Project
New
Wishlist
Unassigned

Bug Description

We have a bunch of cases where we know that our twisted-based DNS server is doing something wrong (c.f. bug #351721 and Trac tickets <https://xvm.scripts.mit.edu/ticket/94>, <https://xvm.scripts.mit.edu/ticket/95>, and <https://xvm.scripts.mit.edu/ticket/96>).

I think it may be time to conclude that twisted.names is a cute toy project, but not really appropriate for when we're trying to run a Real DNS Server.

We've avoided BIND for a while now because we thought we couldn't get it to dynamically load records from our database, but sdb, BIND's Simple DataBase API, is a mechanism for doing exactly that. Unfortunately...it requires compile-time modification of BIND, and BIND doesn't come with any sdb drivers by default.

There is an sdb binding for Postgres: <http://sourceforge.net/projects/epgsqldb/>, although there are a few problems.

 (1) The maintainer vehemently insists that he's no longer maintaining the code.

 (2) That particular interface also only supports a more or less direct translation of a zone file into a database - the schema looks like this:

CREATE TABLE "reverse" (
        "ip" text,
        "ttl" int4,
        "rdtype" text,
        "rdata" text
);

 (3) It's still important to us to have a set of overrides that shadow whatever is in the nics table of the database. I don't know if we can mix the file option and the database option in a single BIND zone.

One potentially cool idea might be to write a thin sdl library that just calls out to a Python module somewhere.

For more information on the sdl API, "Pro DNS and BIND" appears to have fairly extensive coverage (and with the right searches, Google Books will give you enough of the book to read through that section)

Tags: bind dns
Evan Broder (broder)
Changed in invirt:
importance: Undecided → Wishlist
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.