[nsd-users] Best practices to switch from BIND to NSD

Alexandre Maumené alexandre at enovance.com
Fri Jun 8 14:18:27 UTC 2012


Thanks for all your quick answers.

To begin with, I must say that I already had taken all your advices into
account on BIND, but still, I'd like to give NSD a shot.

I have several questions about various pieces of advice on this post:

Is it long to rebuild entirely the database if I got ~17 000 DNS entries?  I
can accept a small downtime but I'll be interest if you have any advices to
minimize it

I already wrote a small python script to create a file containing a key and a
zone for a domain.

Example for one domain for the master:

Example for one domain for the slave:

I joined as attachement my Python script, its unittest and a example of a zone
file definition, please feel free to review it and post your critics.

Since I had to generate these files while I add/remove zones, I'm asking
myself if a master/slave configuration is really the best option? I mean I can
also scp to all my NSD servers theses files and databases and not use the
master/slave mechanism.

But since I had to re-create these files when I add/remove some zones, I only
benefit from the master/slave scheme when I update my zones. So I can launch
the generation on a server and scp them to my others servers. Are there any

Trick question: do you have any thoughts about how to integrate (in the
best way) puppet and NSD? We start to deploy as much as possible using puppet.
(I'm not personnaly working but some collegues are).

Kind regards,

Alexandre Maumené
P./ +
M./ alexandre at enovance.com
W./ www.enovance.com
S./ enovance-alexandre.maumene
eNovance SAS - 10 rue de la Victoire 75009 Paris - France

----- Original Message -----

2012/6/8 Jan-Piet Mens < jpmens.dns at gmail.com > 

> I'm a sys admin and currently working for a french hosting company. We 
> provide DNS services to our customers and at the moment we are using BIND 
> on Debian servers. BIND is a good software but we don't need a recursing 
> DNS for our public DNS, and we needed better security than what BIND provides. 

As you probably know, you can disable recursion in BIND, thus making it 
authoritative only. :) 

I would also recommend disabling additional-from-cache. 

> So I made the suggestion to replace BIND by another DNS software. 
> NSD appears to be the best alternative. 

NSD is indeed an excellent choice. There is one thing you must be aware 
of: you can't add/remove zones to NSD on-the-fly. You have to configure 
them in `nsd.conf' (or an included file) and then rebuild NSD's 
database. If you can live with that, you should be set to go. 

NSD also means no outgoing IXFR's and some additional cron jobs for "nsdc patch". 

May be TS should take a look on Knot DNS and Yadifa to choose the proper server for his tasks? 

> I'm currently writing some scripts to help the migration process, but I'd 
> like to know if something already exists to help me in this task. If not I 
> probably will make my scripts public and post it to this mailing-list. 

I'm not really aware of any scripts... Basically it's a matter of 
listing your zones and creating nsd.conf "zone" stanzas. A bit of 
[ ls | {awk|perl} ] will probably get you going pretty quickly. 

> I also would like to know if you have some best-practices about NSD in 
> general. 

I recommend you look at past postings in the archive of this mailing- 

Good luck! 


PS: And if you do need recursive service somewhere on your network, I 
greatly recommend you look at Unbound, also by NLnet Labs. 

nsd-users mailing list 
nsd-users at NLnetLabs.nl 


nsd-users mailing list
nsd-users at NLnetLabs.nl

More information about the nsd-users mailing list