I need a DNS server that will be able to filter out specific requests (with specific words) and reply with a preconfigured address.


  • Runs on Windows 8.1
  • As lightweight as possible
  • No caching (or ability to turn off)
  • Configurable filter
  • If not matching filter, forward to another configurable DNS server


  • Ability to send hostnames to another program for analysis
  • IPv6 support
  • Wildcard support

Basically, very similar to this question, but without caching and with an actual answer.

  • 1
    Would you mind giving some example requests? In particular, do you want wildcards or grep-like features?
    – Nicolas Raoul
    Commented May 12, 2016 at 9:18
  • @NicolasRaoul I don't know a lot about DNS, but I just need it to handle most of the requests. Wildcards is when you put * in it, right? That would be nice to have. I will add that.
    – Amit Gold
    Commented May 12, 2016 at 10:17
  • 1
    So you are looking for a sofware that can intercept DNS resolution requests from your computer and then either block or redirect to another address. Am I correct?
    – Aswin P J
    Commented May 12, 2016 at 10:29
  • @AswinPJ Pretty much. Also from other computers if they ask mine. (Say my computer's internal address is, and another computer has its DNS server as on the same network)
    – Amit Gold
    Commented May 12, 2016 at 13:45
  • @AswinPJ poke
    – Amit Gold
    Commented May 13, 2016 at 9:59

2 Answers 2


WinGate will do all this, with the exception of IPv6 support.

the DNS server pushes an event whenever there is a request, which you can attach policy or event handlers to. Policy can specify a particular IP for a response, or ignore. If the request carries on, the DNS client allows you to specify servers to use for specific domains.

Policy allows you to run external processes, or even write looked up domains directly into an ODBC-compatible database or file.

WinGate has a free 10 concurrent user license, but DNS requests are not counted. We also offer free support.

Disclaimer: I work for Qbik who are the authors of WinGate

  • It is kinda confusing as to what I'm supposed to do to blacklist DNS requests... I currently have this Policy: i.imgur.com/CaHgXM8.png for some reason when I use nslookup this happens: i.imgur.com/Q7a5mBY.png
    – Amit Gold
    Commented May 27, 2016 at 7:29
  • Hi Amit, what do you have inside the first check. Do you see the DNS request even hitting the DNS server? I note that the server is ::1, which is IPv6, WinGate only support IPv4.
    – Adrien
    Commented May 27, 2016 at 8:21
  • p.s. if you want to take this off line, we can pick it up in a support ticket, just send an email to [email protected], cheers.
    – Adrien
    Commented May 27, 2016 at 8:25
  • I switched the picture a bit, now YES points to REJECT and NO points to ALLOW, and here is the expression: Request.GetQuery(0).Name.Contains("blacklisted",false) Also I think ::1 is just the IPv6 version of localhost, like for IPv4.
    – Amit Gold
    Commented May 27, 2016 at 8:42
  • I put a sample policy up at wingate.com/samples/DNS_policy.zip you can then maintain an actual list of blacklisted lookups. The key is whether the DNS requests are hitting the server. I think you'll need to set nslookup to use the IPv4 address of the DNS service in WinGate, and check bindings for the DNS service in WinGate to make sure it's available on that adapter.
    – Adrien
    Commented May 27, 2016 at 8:48

Acrylic DNS Proxy sounds like what you need.

  • It supports every Windows version from Windows 2000 to 10 (inclusive)[1];
  • It is very light-weight (just 428kB);
  • Caching can be disabled with a setting in the configuration file;
  • Requests can be filtered using a custom HOSTS file which supports wildcards and regular expressions;
  • You can configure a primary and secondary DNS server which will handle any address not found in the Acrylic HOSTS file;
  • You can configure Acrylic to log every host it processes to a file (which you can then feed to other programs);
  • It supports IPv6;
  • And, as mentioned above, wildcards and regular expressions are supported.

Acrylic can handle DNS requests from other computers as well, if enabled in the configuration.

Note: according to a comment on SourceForge, your Acrylic configuration gets overwritten when installing an update, so make sure to keep a backup somewhere.

  • This looks like what I'm looking for, let me look into it, prepare for the bounty award!
    – Amit Gold
    Commented May 16, 2016 at 16:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.