BIND:如何将请求转发到不同预定义网络中的其他 DNS 服务器

BIND:如何将请求转发到不同预定义网络中的其他 DNS 服务器

假设我有两个独立的网络net1.localnet2.local每个网络都local通过路由器连接到一个更大的网络。

3 个网络各自都有独立的 DNS 服务器。现在,中的主机net1.local尝试解析来自 的名称net2.local。如下所示:

nslookup host1.net2.local

位于的 DNS 服务器net1.local对主机一无所知net2.local,而位于较大网络中的 DNS 服务器仅知道顶级域名,因为它包含以下记录:

net1       IN A      192.168.10.1
net2       IN A      192.168.20.1

为了实现这一点,配置 DNS 服务器的最佳做法是什么?

答案1

DNS 被设计成一棵树,从顶部开始,然后按照指针向下,可以找到所有内容。完全可以在您的隔离网络上设置自己的树。如果您以这种方式设置,一切都将正常工作,文档将有意义,并且您将遇到最少的不愉快的意外。

从你的问题来看,听起来你不是试图建立一棵树,而是试图建立一些(在本例中是两个)孤岛,这些孤岛之间有你从 DNS 外部(即在 BIND 配置中)定义的通信线路。这样做也许可以,但肯定比建立私有树要困难得多,工作量也大得多。此外,不会有任何与你的解决方案相关的文档,每次你需要帮助时,你都必须从头开始解释你所做的一切。

因此,设置一棵树并让您的顶级域名简单地委托给其他两个域名。

另外,不要使用名称.local。根据 RFC 6762 第 3 节,它是为多播 DNS 保留的。您可能认为您没有使用 mDNS,但如果您的网络上有运行 Android、iOS、Linux 或 OSX 的设备,那么您就是在使用,只是您不知道而已。选择另一个名称,即使您的 DNS 树与世界其他地方完全隔离。

相关内容