实施DNS过滤

我想知道什么是实施DNS Filterting的最佳方式。

情况是这样的:我们需要设置两个自定义的DNS服务器在我们公司的计算机上使用,以便我们可以过滤某些域的DNS请求,并返回自定义IP,并将其他请求转发给我们的ISP DNS服务器。

我们考虑使用PowerDNS或MyDNS,因为它们支持开箱即用的MySQL,并且我们需要更改频繁过滤的域列表。

正如Ed Fries所说,DNS解决scheme是:

  1. 使用转发或根提示区域设置一个(或两个)DNS服务器,这将使它返回互联网上所有域的非权威性答案。
  2. 通过适当configuration您的DHCP服务器(或手动在客户端上),将您的客户端设置为使用这些/这些DNS服务器。
  3. 可select阻止防火墙上的53 / udp出站,以防止networking上的客户端使用其他DNS服务器。
  4. 在您的DNS服务器上为要阻止的域创build一个权威性区域,并为其创buildA / CNAME等logging。 这样做会阻止你的DNS服务器转发请求,并得到真正的答案,因为它认为它是权威的。

有这样的方法:

  • 如果你不做第3步,客户端可以简单地使用公共DNS服务器(例如, Google提供公共DNS )
  • 人们可以使用VPN /代理来通过它
  • 对于一些站点,他们将能够inputIP(如果他们知道的话)并且到达站点,不需要更改configuration。

还有其他方法可以阻止站点(例如阻止防火墙上的IP),这可能会更可靠/更less的工作,尽pipe如果用户足够精明,几乎所有的方法都可以解决。

过滤比“重新路由”更容易,但最好通过代理或Web内容filter(硬件或服务)完成。

通过在DNS服务器上创build权威区域,然后创build自己的A / CNAMElogging,重新路由某些域名(如MySpace.com)可能会成为pipe理上的挑战,如果有人有合法需要访问现场。 另一方面,工作站上的代理服务/客户端可以轻易地被精明的用户绕过。

你应该发布更多的细节,你想要完成什么,为什么要更详细的答案。