What about using pdnsd for that? It was designed as a DNS cache server and works pretty efficiently. The only thing, that DNS updates would have to modify /etc/pdnsd.conf and put only 127.0.0.1 to /etc/resolv.conf -- Kubuntu should include nscd DNS cache deamon by default https://launchpad.net/bugs/75098