如何解决所有外部未解析的 DNS 查询?

如何解决所有外部未解析的 DNS 查询?

我在 Linux 机器(Debian 6)上使用 PowerDns。

我想设置 powerdns 服务器来将所有外部未解析的 DNS 查询解析到给定的内部主机。这可能吗?怎么做?我认为有必要使用 pdns-recursor,但我的配置文件不起作用!

我使用 mysql 作为后端。

我手动添加了 google.com 并且它可以正常工作,但是如果我删除条目,则会出现“服务器失败”的情况,根 DNS(或 ISNPNS)不会回答我。

答案1

PowerDNS 并非旨在提供递归结果。它旨在仅充当其所服务域的权威服务器。这意味着它将向其他主机提供域数据。

您可以添加 Recursor 模块,但我建议仅在内联网上使用它。它可能具有适当的安全性,以防止它被用于 DNS 放大攻击。

解决问题的最简单方法是将/etc/resolv.conf文件配置为使用外部服务器来解析 DNS。您可以使用 ISP、Google、OpenDNS 或其他服务器。您应该检查是否可以在其发布的 Nameserver 地址(可能不是您的主机地址)上访问 PowerDNS 服务器。否则,您将不得不依赖备份名称服务器进行本地访问。

答案2

在 Debian 上

apt-get install pdns-recursor

可能会提供您想要的。递归器将绑定到 127.0.0.1 并默认只在那里监听,因此您可以很好地防御上述 DNS 放大攻击。

你可能还想阅读 http://cr.yp.to/djbdns/separation.html 为什么这两个功能由不同的程序提供。

BIND 可以简单地完成错误的

答案3

这并不能回答你的字面问题,但也许你真正需要的只是在你的/etc/hosts文件?

相关内容