我一直在查看BIND/DNS文档,并且一直找不到明确的答案。在二级名称服务器上查询委托区域A记录在启用回溯时不工作。而且,通过测试,也不能使用禁用递归的方法,因为从我们的角度来看,在区域中定义的所有内容都是NS和glue记录。
软件栈: bind-9.3.6-4在CentOS 5.4 x86上用于次要名称服务器;bin-9.2.4-30在CentOS4.7 x86上用于主名称服务器。
我将使用主和主,奴隶和次要,分别作为同义词。
我们的设置如下(为保护无辜而更改的名称/ is ):
ns.pr.example.com ==主名称服务器,10.10.0.1,192.168.0.1
ns1.pr.example.com ==次命名服务器,10.11.0.1,192.168.0.2
ns2.pr.example.com ==次命名服务器,10.11.0.2,192.168.0.3
delegated.pr.example.com ==委托子区域
nsdelegated.pr.example.com ==授权NS
delegated.pr.example.com子域,10.11.0.5不在我们控制范围内!
您会注意到,ns1和ns2可以通过共享网络与ns.pr.example.com对话- 192.168.0.0/24。但是,ns.pr.example.com不能与nsdelegated.pr.example.com主机对话,后者只有10.11.0.0/24地址。
192.168网络是我们公共IP空间的替代品;但10.10和10.11网络是用于集群计算的私有封闭网络。直接或通过静态路由将ns.pr.example.com连接到10.11网络是不可能的。
在主名称服务器ns.pr.example.com上,向区域文件中添加了以下命令以及更新的序列:
/etc/name.conf:
zone "pr.example.com" { type master; file [db.filename]; };
db.filename:
delegated.pr.example.com. IN NS nsdelegated.pr.example.com. nsdelegated.pr.example.com. IN A 10.11.0.5 ; glue record
这将被复制到从服务器ns1和ns2上。可以在平面文件中看到该记录,并通过dig确认:
从属示例
dig -t ns +short @ns1 delegated.pr.example.com nsdelegated.pr.example.com IN A 10.11.0.5
主例
dig -t ns +short @ns delegated.pr.example.com nsdelegated.pr.example.com IN A 10.11.0.5
The委托的服务器本身是响应的:
dig -t a +short @nsdelegated.pr.example.com randomhost.delegated.pr.example.com 10.11.0.222
但是,对具有递归所需的位集(默认)的辅助名称服务器的查找失败。
dig +recurse +short -t a @ns1 randomhost.delegated.pr.example.com [no output]
它在主服务器ns上也会失败,但这是预料中的,因为ns.pr.example.com无法联系10.11.0.5并响应请求。非递归查询也会失败,因为相关信息必须从nsdelegated.pr.example.com服务器获取。
我的问题是:为什么次要名称服务器的递归问题失败了?它们拥有正确的委托信息、NS记录和胶水记录,并且能够与委托的名称服务器联系。
我的预感是,作为第二个名称服务器,它可能以某种方式将递归问题“传递”给主名称服务器,然后在那里失败。但是我找不到任何这样的文档,也没有直观的意义。
有什么想法或调试建议吗?我打开了命名的最大日志记录以及查询日志记录,但是我无法获得好的信息。没有一个明显的“显示您代表客户进行的查找”日志。
谢谢。
发布于 2010-10-07 21:15:31
当然,您需要在named.conf中指定委托区域,否则bind会认为它只是它应该拥有的虚线记录,因为它对pr.example.com区域是权威的。
你想要的是这样的东西。在主named.conf中,可以指定一个新区域(相应地,在从区中指定一个新区域):
zone "delegated.pr.example.com." { type master; file [db.filename]; };区域文件应该是:
delegated.pr.example.com. NS nsdelegated.pr.example.com.
nsdelegated.pr.example.com. IN A 10.11.0.5 ; glue record 现在,主DNS服务器及其辅助服务器知道了新的区域,并且应该正常工作。
====编辑
错误,SOA不在ps.example.com中,而是在delegated.pr.example.com的区域定义中。修好了。
发布于 2010-10-07 16:02:43
你的named.conf里有“回溯”吗?如果您没有双区域配置,您应该有它。但是,它将阻止bind为您回答递归查询。
我希望您可能希望配置双区域,允许从您的局域网,而不是从互联网递归。
https://serverfault.com/questions/188588
复制相似问题