绑定转发与拆分域

绑定转发与拆分域

在区域处于绑定状态时,是否可以将区域拆分到两个服务器(例如内部和外部)之间,并让内部服务器解析“bar.com”的请求。如果记录不在该服务器区域中,则转发到具有与外部记录相同的“bar.com”区域的外部服务器?

Bind 中的转发选项有“first”和“only”作为选项。“First”与我所寻找的相反。

“如果设置为‘第一个’(默认),它将把查询发送到转发器,如果​​没有得到答复,则会尝试回答查询。”

我正在寻找一个“最后”选项,其中“如果设置为‘最后’,它将尝试回答查询,否则将查询发送给转发器”

答案1

答案(正如您所怀疑的)是否定的。目前 bind 中没有提供任何功能来执行您所要求的操作。如果您的内部服务器响应为某个区域的权威服务器,则它会假定它拥有该区域的所有知识。

也就是说,可能值得尝试使用 NS 记录来委托外部子域。

内部区域:

$ORIGIN bar.com.
$TTL 14400  ; 4 hours
bar.com.    IN SOA  ns1-int.bar.com. admin.bar.com. (
                2012020206  ; serial
                86400       ;refresh (1 day)
                600     ;retry (10 minutes)
                1814400     ;expire (3 weeks)
                60      ;minimum (1 minute)
                )
            IN  NS  ns1-int.bar.com.
            IN  NS  ns2-int.bar.com.
; define internal nameservers
ns1-int.bar.com.    IN  A   10.0.1.1
ns2-int.bar.com.    IN  A   10.0.1.2

; internal records
www.bar.com.    IN  A   10.0.0.1
db.bar.com.     IN  A   10.0.0.2
proxy.bar.com.  IN  A   10.0.0.3
; define external nameservers
ns1.bar.com.    IN  A   2.3.4.5
ns2.bar.com.    IN  A   2.3.5.6

; delegate subdomain foo to external nameservers
foo.bar.com.    IN  NS  ns1.bar.com.
foo.bar.com.    IN  NS  ns2.bar.com.

此时,如果您的内部 DNS 服务器(假设它允许 localnets 递归)收到对 foo.bar.com 的请求,它将转到 ns1.bar.com。

当然,您必须对每个想要引用到外部服务器的子域名都执行此操作,但是在对每个外部子域名进行初始设置之后,无论何时对外部子域名记录进行更改,您都不必再处理内部区域。

相关内容