By avalon on Sep 23, 2007
Today I imported a DNS proxy, that I've been hacking around on for a while, into CVS on sourceforge. As a proxy it currently does no caching of DNS queries and answers, it merely redirects them to another DNS server. What benefits does it bring then?
The primary reason for the proxy is access control of DNS queries. The proxy's main purpose is allow me to block DNS requests for, say, microsoft.com. Or perhaps more appropriately, it allows me to block DNS requests for doubleclick.net, etc - ie. advertising web sites and other sources of web page spam.
Because it has been written to work with IPFilter, it can correctly work with packets that are sent to the proxy through the use of rdr rules - i.e. it can function as a transparent proxy when in the path of DNS.
The source code is part of the IPFilter project on sourceforge.net and can be seen at http://ipfilter.cvs.sourceforge.net/ipfilter/dns-proxy/.
Limitations? It currently only works with DNS over UDP and requires IPFilter to compile. Well, there are probably lots of other limitations too, at present, as the feature set is just starting to be fleshed out.
Related to this, I'm also working on putting a simpler proxy into IPFilter 5.0 itself that allows for filtering DNS packets based on the names in the queries.
The proxy can be downloaded from sourceforge at: