我确实想要 BIND 中的通配符 NS 记录。有解决方法吗?

我确实想要 BIND 中的通配符 NS 记录。有解决方法吗?

我们有一个公共 DNS 提供商、一个私有 DNS 主服务器和一个私有 DNS 从服务器。公共 DNS 提供“example.com”区域及其所有子域。我们的私有 DNS 也提供“example.com”区域,但一些 A 记录指向我们 LAN 上的内部 IP,而不是公共 IP。这种配置的烦人之处在于我们需要在两个 DNS 主服务器上复制所有 CNAME 和 MX 记录。

在私有 DNS 主服务器上,如果我可以在私有网络上配置一些已知子域,然后针对任何未定义的记录返回到公共主服务器,那就太酷了。据我所知,这可以使用通配符 NS 记录来完成,但这些是不允许的。

例子:

  • 示例.com

    • Web 服务器可公开访问
    • Web 服务器上的某些页面仅对来自私有 LAN 的请求可用
  • cdn.example.com

    • 是指向 amazon cloudfront 的 CNAME

我不想在我们的私有 DNS 服务器上定义 cdn.example.com 区域。(而且我们还有许多其他重复的记录。)如果私有 DNS 服务器可以成为特定区域的主/从混合服务器,那就太好了,这样它就可以覆盖某些记录,但从公共 DNS 服务器获取其余记录。

如果 bind9 不能做到这一点,还有其他可以做到的吗?或者也许我应该使用 shell 脚本来执行此操作,该脚本会拉下主 DNS 记录,然后再附加或覆盖我们的自定义记录?

答案1

你可以通过利用 bind9 上的“视图”来实现这一点

这里有一些详细的说明

http://www.howtoforge.com/two_in_one_dns_bind9_views

基本上,同一个 DNS 服务器会根据源 IP 做出不同的解析(因此内部主机可以有额外的解析)

相关内容