我在Linux机器上使用Bin9.7.0-P1(Ubuntu10.04.2)。
我想设置绑定服务器来解决所有外部未解析的DNS查询到给定的内部主机。这个是可能的吗?怎么做的?
我试着让货代:
forwarders {10.0.1.2; };然而,这并没有帮助。
发布于 2011-05-21 12:31:55
NXDOMAIN劫持BIND是不可能的。这可以使用PowerDNS递归lua脚本来完成。Ubuntu10.04存储库有一个用于PowerDNS Recursor的包,它支持lua脚本功能。
正如其他人所指出的,NXDOMIAN劫持可能会产生重大后果,在实现之前,您了解潜在的问题。
发布于 2011-05-21 10:56:16
转发器选项必须位于选项块或区域块中。从简短的摘录中,我看不出这些条件是否都得到了满足。
而且,很明显,DNS服务必须在转发器上运行,它可以解析查询,也可以转发到另一个DNS服务器。此外,必须将该DNS服务器配置为回答来自第一个DNS服务器的查询。如果您打开一个到Ubuntu框的shell并运行
dig what.ever.domain @10.0.1.2如果出现这种情况,10.0.1.2将不回答Ubuntu框中的查询。
发布于 2011-05-21 11:41:22
如果“将所有未解析的DNS查询解析到给定主机”指的是DNS劫持(即当服务器以NXDOMAIN状态答复表示查找失败时,服务器用指向该主机的记录进行响应),那么我认为bind不支持这一点。以这种方式劫持应该是NXDOAIN的响应的ISP可能会使用其他方式,或者使用自定义版本来添加该功能。
人们普遍反对NXDOMAIN劫持,因为它可以破坏许多东西。有关更多细节,请参见http://en.wikipedia.org/wiki/DNS_劫持。
forwarders指令告诉bind执行递归查询时应该在哪里查找--它指定了其他DNS服务器(S),这些服务器应该是查询,如果这个服务器被要求在本地没有记录的话。当所有查找(本地和通过其他主机)都找不到匹配的记录时,它不会控制行为。
https://serverfault.com/questions/272124
复制相似问题