合并多个DNS过滤结果

合并多个DNS过滤结果

多个 DNS 服务器提供针对不同类别的过滤,大部分针对当地政府的“不良内容”,一些针对恶意软件,一些针对广告。我想要创建/使用一个 DNS 服务器,与那些过滤 DNS 服务器进行比较,并且仅在所有 DNS 服务器都同意的情况下才提供地址。例如,如果 DNS 服务器 G 提供干净的未过滤结果,DNS 服务器 N 提供恶意软件和/或色情过滤器,DNS 服务器 F 提供广告过滤器,那么只有当查询不属于恶意软件、色情或广告类别时,G、N 和 F 才会提供相同/相似的答案。因此,通过创建一个仅在所有 DNS 服务器都同意的情况下才应答的服务器 M,M 可以有效地过滤所有这些类别。也许可以在 DDWRT 或 Tomato 上做到这一点,但如果不可以,我会选择可以在 Linux/Windows 中运行的解决方案。

答案1

我不会尝试按照您所建议的方式组合来自具有不同配置的多个 DNS 服务器的结果。

标准 DNS

你可以用普通的 DNS 服务器软件(例如 BIND)来实现这一点。其中一种方法需要做大量的工作来维护被阻止的域名列表:

建议在这个网站是编辑配置文件以包含

   zone "ads.x10.com" { type master; file "dummy-block"; };
   zone "advertising.com" { type master; file "dummy-block"; };
   zone "amazingmedia.com" { type master; file "dummy-block"; };
   zone "clickagents.com" { type master; file "dummy-block"; };
   zone "commission-junction.com" { type master; file "dummy-block"; };

其中 dummy-block 是

   $TTL 24h
   @       IN SOA server.yourdomain.com. hostmaster.yourdomain.com. (
                  2003052800  86400  300  604800  3600 )
   @       IN      NS   server.yourdomain.com.
   @       IN      A    127.0.0.1
   *       IN      A    127.0.0.1

有人将此描述为一次杀死一只蚂蚁,一个蚁丘。

恢复区

BIND 还支持恢复区可以与公开的黑名单一起使用(因此您不必维护自己的列表)

代理人

有些人认为更好的解决方案是使用 HTTP 代理,例如 Squid鱿鱼守卫

SquidGuard 是一个 URL 重定向器,用于与代理软件 Squid 一起使用黑名单。Squidguard 有两大优势:速度快,而且免费。

您可以通过在路由器中配置规则来强制使用此功能,该规则仅允许来自代理服务器的 HTTP,而不允许直接从任何 PC 发送 HTTP。

相关内容