> <i>Fun fact: since Linux has no built-in DNS caching, most of the DNS queries are looking for … itself.</i><p>This is wrong in two ways, and isn't factual at all.<p>First, the cause of the queries is nothing to do with whether DNS query answers are cached locally or not. There is no causal link here. What causes such queries is applications that repeatedly look up the same things, over and over again; not the DNS server arrangements. One could argue that this is poor design in the applications, and that they should remember the results of lookups. But there's a good counterargument to make that this is <i>good</i> design. Applications <i>shouldn't</i> all maintain their own private idiosyncratic DNS lookup result caches. History teaches us that applications attempting to cache their own DNS lookup results invariably do it poorly, for various reasons. (See Mozilla bug #162871, for one of several examples.) Good design is to hand that over to a common external subsystem shared by all applications.<p>Which brings us to the second way in which this is wrong. A common Unix tradition is for all machines to have local proxy DNS servers. Linux operating systems have <i>plenty</i> of such server softwares that can be used: dnsmasq, pdnsd, PowerDNS, unbound ...<p>One of the simplest, which does <i>only</i> caching and doesn't attempt to wear other hats simultaneously, is even named "dnscache". Set this up listening on the loopback interface, point its back-end at the relevant external servers, point the DNS client library at it, and -- voilà! -- a local caching proxy DNS server.<p>* <a href="http://cr.yp.to/djbdns.html" rel="nofollow">http://cr.yp.to/djbdns.html</a><p>* <a href="http://cr.yp.to/djbdns/run-cache.html" rel="nofollow">http://cr.yp.to/djbdns/run-cache.html</a><p>* <a href="http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/djbdns-problems.html#wrong-icann-root" rel="nofollow">http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/djb...</a><p>* <a href="http://cr.yp.to/djbdns/install.html" rel="nofollow">http://cr.yp.to/djbdns/install.html</a><p>I run server machines that have applications that repeatedly look up the same domain names again and again. Each runs a local dnscache instance, which ameliorates this very well.