I humbly & grovelingly like to point out here that PowerDNS, the database
(and ldap, perl, 'pipe' and bind zonefile) driven nameserver is open source.
I think it may be useful for many operators here, especially as PDNS is well
suited for 'BGP DNS' trickery. It is GPL licensed and is BIND compatible for
the majority of authoritative setups.
Many do not know this yet, probably in part due to the helpful moderators of
comp.protocols.dns.bind, the DNS operators newsgroup on usenet, who drop
messages about PowerDNS.
BIND compatible means that you can point PDNS at your named.conf and have a
It goes beyond BIND in adding cool commands such as 'pdns_control
bind-list-rejects' that list all rejected zones, and the reason for their
rejection, and at which time this happened.
'bind-domain-status' is the command that can tell you at which point in time
all (or specific) zones were loaded, or a specific zone. 'bind-reload-now'
tells PowerDNS to reload a zone from disk NOW.
BIND mode is fast too, a Dutch ISP tested it with 56000 zones, some of which
with 100.000 records, and it launched in 75 seconds on commodity hardware.
Notably, PowerDNS answers questions while loading zones! It only answers
about those zones that have been loaded, however.
In database mode (PostgreSQL, MySQL, Oracle, DB2, ODBC) or in table mode
('XDB' -> tridge DB, dbm, berkely db2) or in LDAP mode, there is no startup
time to speak of. In that case, the tool 'zone2sql' is provided to help with
migration, which you can simply point at your named.conf.
Other cool features, which are non-bin-dmode specific, include 'retrieve',
which causes PDNS to retrieve a domain from its master *immediately*.
Conversely, 'notify' causes PDNS to send out an immediate notification,
whether PDNS considers the domain changed or not. 'notify-host' can be used
to send a notification to a specific IP address, whether it is a master or
The pipe-backend allows a coprocess (which accepts questions on stdin and
provides answers on stdout) written in any language to do dynamic
resolution, which is great for failover, loadbalancing or BGP DNS style
tricks. See http://doc.powerdns.com/pipebackend-dynamic-resolution.html