在工作中,我们使用OpenDNS,它已经错误地阻止了irc.freenode.net恶意软件。 我如何确保* .freenode.net的任何请求转到8.8.8.8和8.8.4.4(Google的DNS)。
我尝试着在Ubuntu上使用resolv.conf来解决这个问题,但是我不能太过分。 另外,是否有一个简单的方法来做到这一点的Mac和Windows系统(我有几个同事使用这些操作系统,他们也想使用IRC)。
Linux不支持通过resolv.conf使用域特定的DNS服务器。 您可以通过在本地运行caching名称服务器(如BIND或dnsmasq ),然后为每个域configuration显式转发器来解决此问题。
在OS X下,使用scutil命令这种设置相对容易。 这种configuration的常见用例是将VPN连接的DNS请求转发到特定于VPN的DNS服务器,因此您会发现经常会与OpenVPN一起讨论这个问题。 这个文档 scutil 这样讨论scutil命令,而Googlesearchopenvpn和scutil会产生更多的结果。
我不确定Windows。 如果需要的话,可以推测在所有三个平台上使用本地DNS服务器解决scheme。
这不能通过* nix(和Windows AFAIK)提供的标准DNSparsing来完成,您需要使用您自己的DNS服务器来执行此操作。 在* nix dnsmasq上是最好的select,你可以在每个工作站上运行它,或者在服务器上运行它并configuration所有的工作站来使用它。
/etc/resolv.conf :
nameserver 127.0.0.1 nameserver 208.67.222.222 nameserver 208.67.220.220
/etc/dnsmasq.conf :
server=/freenode.net/8.8.8.8 server=/freenode.net/8.8.4.4
在OS X下,你可以使用像/etc/resolver/example.com这样的内容:
nameserver 172.16.5.5
将* .example.com的dns请求转发到172.16.5.5
http://hints.macworld.com/article.php?story=2004062902195410