The simple answer is this:
1. install bind/named
2. Set the resolvers in your resolv.conf file to your localhost.
From there your named "name daemon" should catch and cache all DNS queries made through that box.
If you want to query all DNS from your network through that box you can proxy tunnel to it locally.
Hope this isnt to vague!