I am trying to setup new DNS servers. As such, it's not a big deal, but a few things make it troublesome.

Currently, there are some TinyDNS servers running. These are going to be replaced with BIND.

I thought the easy way would be to set up one of the new servers to be a slave for one of the existing TinyDNS servers and as such "snatch" all zones (there are some 400 zones and some of them are HUGE).

If I manually dig axfr on the TinyDNS servers, ala "dig axfr domain.tld @olddns", I get lots of output.

If I configure the zones as slaves on the new server, the zone transfer fails, and locally there are little to no information. However, on the TinyDNS servers, the following is logged:

@4000000050b7180e0aafe894 tcpserver: status: 1/40
@4000000050b7180e0ab6457c tcpserver: pid 53105 from <NEW_DNS_SERVER_IP>
@4000000050b7180e0abb0454 tcpserver: ok 53105 0:<OLD_DNS_SERVER_IP>:53 :<NEW_DNS_SERVER_IP>::43871
@4000000050b7180e10b06c3c ac142b49:ab5f:57e6 00fc domain.tld.zone
@4000000050b7180e10b5d30c axfrdns: fatal: unable to locate information in data.cdb
@4000000050b7180e10bbc294 tcpserver: end 53105 status 28416
@4000000050b7180e10bc6a8c tcpserver: status: 0/40

This message is repeated for each zone, clearly suggesting that something is bad. Google doesn't really have much stuff to go on, and the data.cdb file is unknown territory for me, and I'm not too familiar with TinyDNS.

I am actually considering writing a perl script to parse the TinyDNS zones and output complete BIND zone-files.

Does any of you have any experience or suggestions in an endeavour such as this?

All suggestions are greatly appreciated!