May 23, 2012
tom

Is there a way to use a specific DNS for a specific domain?

Question

At work we use OpenDNS and it has wrongly blocked irc.freenode.net for malware. How can I make sure that any request for *.freenode.net goes to 8.8.8.8 and 8.8.4.4 (Google’s DNS).

I tried doing this by fiddling with resolv.conf on Ubuntu, but I wasn’t able to get too far. Also, is there an easy way to do this for Mac and Windows systems (I have a few colleagues using those OSes and they’d like to use IRC as well).

Asked by vivin

Answer

Linux does not support the use of domain-specific DNS servers via resolv.conf. You could potentially work around this by running a caching nameserver (such as BIND or dnsmasq) locally and then configuring explicit forwarders for each domain.

Under OS X, this sort of setting is relatively easy using the scutil command. The common use case for this configuration is to forward DNS requests for a VPN connection to VPN-specific DNS servers, so you’ll find this discussed often in concert with, e.g., OpenVPN. This document talks about the scutil command as does this, and a Google search for openvpn and scutil will yield more results.

I’m not sure about Windows. You could presumably use the local DNS server solution for all three platforms if you needed to.

Answered by larsks

Related posts:

  1. In BIND, forward DNS query for specific domain to specific nameserver
  2. AD domain member DNS record randomly disappearing from AD’s DNS server
  3. Overriding remote DNS with some local DNS for all users of a domain
  4. DNS Override for a specific subdomain only?
  5. How can I add a secondary DNS server for specific record types?

Leave a comment