I am using tinydns behind dnscache to resolve machine names on a LAN, as installed on Ubuntu 10.04 LTS. Every so often without explanation, local names can no longer be resolved by any machine on the network. It seems that tinydns is no longer responding. Rebooting the server sometimes helps, however that is not how I run Unix servers. Killing tinydns also seems to work sometimes, but not always.
My overall experience trying to run a local DNS server has not been good, with careful tweaking of resolv.conf files and seemingly random failures of tinydns. If others have problems with djbdns, please let me know. DNS diagnostic tips are also helpful.
A quick check of the logs shows complaints about I/O failure, followed by a complaint about not being able to bond to the given address. Sometimes nothing is reported in the logs, the app simply stops responding.
Just a note on the setup, which had its own problems. The dnscache was run on eth0 at one IP address, and tinydns was initially run on eth0:0 on another IP address. (Setting up tinydns at 127.0.0.1 did not work at all, even though djb says that it should.) However, this setup (eth0:0) did not work on reboot, since Ubuntu has some problem starting eth0:0 automatically. Changing the alias to eth0:1 allowed the interface to come up automatically on reboot. this is more adventure than expected for a seemingly simple task.
For now, I am trying tinydns on a completely separate server, and will report back if that is stable.