dnsfunnel is a small daemon listening to DNS client requests over UDP (typically from the libc's getaddrinfo() function) and forwards them to a list of DNS caches. It provides the client with the first answer it gets, trimming the answer so it fits in an UDP packet.
dnsfunnel is especially useful for distributions using the musl libc, which does not support TCP DNS transport. It was originally written to be used in the Alpine Linux distribution.
A secondary use for dnsfunnel is to serve as a small forwarder for IPv6 addresses when your DNS cache doesn't listen to IPv6, which is the case with e.g. djbdns's dnscache. dnsfunnel can listen to ipv6, forward the queries to your IPv4 address where your real cache performs the resolution, and return the answer to your client.
dnsfunnel is free software. It is available under the ISC license.
git clone git://git.skarnet.org/dnsfunnel