假设我有两个独立的网络net1.local
,net2.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 树与世界其他地方完全隔离。