解析私有子域的私有 DNS 区域,并将现有公共子域转发到公共名称服务器

Ada*_*arp 8 domain-name-system internal-dns

我有一个包含一系列公共子域的 TLD,例如*.example.com. 我还有一个用作 SVN 存储库的专用服务器,我希望可以在svn.example.com,但只能在专用网络上使用。目前我已经通过创建区域文件svn.example.com.zone并使用此声明来实现这一点:

zone "svn.example.com" IN {
    type master;
    file "/etc/named/svn.example.com.zone";
};
Run Code Online (Sandbox Code Playgroud)

在区域文件中:

@                IN  NS  svn.example.com.
svn.example.com. IN  A   10.200.1.1
Run Code Online (Sandbox Code Playgroud)

所有其他域都转发到公共名称服务器。这有效,但并不理想,因为如果我想添加新的私有子域,它需要创建一个全新的区域。如果我将此区域作为整个example.comTLD的主记录,那么我假设对当前公共的请求*.example.com将不再适用于使用私有 DNS 的客户端(除非它们在私有 DNS 的区域文件中重复)。

有没有办法为我提供指定一个或多个私有子域的区域文件,但仍将无法解析的请求转发到公共名称服务器?我尝试使用forward区域类型,但后来我无法指定我自己的区域文件,它只能转发。

更新

火箭科学家的 DNS 第 6 章给出了一个内部网络上隐身 DNS 服务器的DNS 配置示例。这似乎与我想要实现的目标相匹配,特别是建议在私有 DNS 区域中复制公共 DNS 记录。显然,虽然我想解决的问题是记录的重复,所以这更像是一种解决方法。

Ada*_*arp 3

最终我最终采用了此处描述的解决方案:http://www.zytrax.com/books/dns/ch6/#stealth。那是:

  • 设置一个包含公共和私有主机记录的隐形 DNS 服务器

这样做的主要原因是,为了满足我的组织的需求,复制少量公共 DNS 记录可以带来以下好处:

  • 容易明白
  • 快速初始设置

主要缺点是冗余以及需要手动将隐形服务器与我们的公共 DNS 同步。