Another way to transfer zones

Hi,

I've been working on a replacement for nsd-xfer/bind-xfer for the use with NSD for some evenings now, and since I believe that at least some of you do have the same problem I experienced during my transition to NSD (that is, bind-xfer is only available in BIND8, which is sometimes a little bit peeky in being compiled, plus the many invokations of that program during the regular update are slow as hell) I decided to publish it. Perhaps it is of some use to you.

It basically accepts data in the nsd.zones format from STDIN and tries to check/transfer any zone that has a masters keyword. It can do TSIG for SOA and AXFR (only tested with one BIND9 master), it should be quite error-resistant with useful log-messages, and it is fast (about 10 times faster than the regular nsdc update cycle on my box with about hundred slave zones).

There is no README yet... I've implemented some (maybe useful) commandline switches you can see with --help. I'm no professional perl scripter, this is my first release of something I wrote ever. The code sucks in large chunks, and there are parts in it I have to forget every evening to fall asleep.

Slave directories are not created automatically, you have to do that by hand. Generally most open() calls have to be made something more error prune, I'm working on that currently. nsd-xfer.pl cannot do IPv6 transport at the moment (due to Net::DNS not supporting it) and you need an nsd-xfer.conf (even if you do not use TSIG at all).

Use on your own risk. I don't guarantee that it won't blow your system. If anyone thinks this is of use or even better has some patches I'd be happy to accept them and include them. Give me some motivation to keep working on that thing, otherways it will end like most of my small scripts ("works here") :slight_smile:

Oh, and the most important thing... here is the URL

http://www.birkenwald.de/~berni/nsd-xfer-0.2.tar.gz

it needs the Net::DNS perl module (version 0.46-2 of Debian testing here, don't know how old the version can be to support all functions).

Thanks
Bernhard

Bernhard Schmidt wrote:

[...]

Slave directories are not created automatically, you have to do that by hand. Generally most open() calls have to be made something more error prune, I'm working on that currently. nsd-xfer.pl cannot do IPv6 transport at the moment (due to Net::DNS not supporting it) and you need an nsd-xfer.conf (even if you do not use TSIG at all).

All those issues (except of course the IPv6 support where I'm not skilled enough to even look at it) have been mostly dealt with in version 0.3.

http://www.birkenwald.de/~berni/nsd-xfer/
http://www.birkenwald.de/~berni/nsd-xfer/nsd-xfer-0.3.tar.gz

Bernhard