向上游权威 DNS 查询未知主机

向上游权威 DNS 查询未知主机

我有一个内部绑定服务器,它非常适合我的本地名称解析。大多数主机都映射了内部 IP,而不是其对应的外部 IP。但是,有些情况下没有等效的内部 IP。这些主机目前仅列在我的公共 DNS 服务器中。因此,当我尝试查询内部 DNS 服务器时,我得到的是未知主机。

有什么办法可以配置 BIND,使其在收到针对它不知道的主机的请求时查询外部源,即使该主机位于其具有权威的域中?

例如,如果我的域名是:site.com

内部 DNS 可能有:

www.site.com    192.168.1.1
smtp.site.com   192.168.1.2
mail.site.com   192.168.1.3

外部 DNS 可能有:

www.site.com    199.200.201.1
smtp.site.com   199.200.201.2
mail.site.com   199.200.201.3
ftp.site.com    199.200.201.4
support.site.com 199.200.201.5

如果我查询内部 DNS 中的 www.site.com,它将返回 192.168.1.1。但如果我查询 ftp.site.com,我将得到一个未知主机。有没有办法配置我的内部绑定以将该请求转发到外部服务器并返回 199.200.201.4?

或者我唯一的选择是将丢失的主机复制到我的内部 DNS 服务器,并拥有相同记录的两个副本(一个在我的公共 DNS 上,一个在我的内部 DNS 上)?

答案1

您有几个选择。在绑定配置文件中,您可以为每个主机创建一个转发区域:

zone "ftp.site.com" {
  type forward;
  forward only;
  forwarders { external_dns_ip; };
};

或者,在区域定义文件中:

ftp IN NS external_dns_ip

(假设 ORIGIN 是“site.com”。)

您还可以使用通配符,而不是为每个主机添加一个条目:

* IN NS external_dns_ip

但这会将所有未知的请求转发到外部名称服务器。

相关内容