PowerDNS open source since 25th of November

bert hubert ahu at ds9a.nl
Sat Jan 4 12:40:42 UTC 2003


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
working nameserver.

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
not.

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

I invite you to check out http://doc.powerdns.com and
http://www.powerdns.com/downloads and http://www.powerdns.org. Sample
BIND-compatible pdns.conf is:

	launch=bind
	bind-config=/etc/bind/named.conf
	master
	slave
	

Thanks.

-- 
http://www.PowerDNS.com      Open source, database driven DNS Software 
http://lartc.org           Linux Advanced Routing & Traffic Control HOWTO
http://netherlabs.nl                         Consulting



More information about the NANOG mailing list