bind9不会转发到子域NS

我正在Ubuntu 10.04上运行bind9,pipe理(LAN)域lan.group04.org – 请参阅以下区域文件

lan.group04.org. IN SOA dns.lan.group04.org. admin.lan.group04.org. ( 2006081401 28800 3600 604800 38400 ) lan.group04.org. IN NS dns.lan.group04.org. gateway IN A 10.10.1.1 wlan-access IN A 10.10.1.2 dns IN A 10.10.1.3 payment IN A 10.10.1.4 iodine IN A 10.10.1.5 tunnel IN NS iodine.lan.group04.org. 

正如你可能已经从这些聪明的select名字中猜出的,我正在尝试碘(这是课程,而不是试图在这里攻击吉布森:P)。

我现在遇到的麻烦是我的DNS服务器从不向10.10.1.5发送DNS请求。 对于碘的工作,我需要DNS将tunnel.lan.group04.org中的任何请求转发给该IP; 例如,对hello.tunnel.lan.group04.org的请求应该被转发给碘机器。

我已经尝试了上面的多个变体,我可以拿出来似乎是语义相同和语法上有效,但不能获得转发到碘机的子域请求。 我知道他们不是从两台机器上的wireharking转发。

关于networking:全部在10.10.1.0/17,在10.10.1.4(本地DNS)和10.10.1.5(碘)之间没有路由器/防火墙/交换机,端口是打开的,ping,http,….工作。 iodine.lan.group04.org正确解决。

我是否需要将碘服务器设置为named.conf.local中该子域的主服务器? 我已经尝试了一次,但可能已经搞砸了,所以我会在发布这个问题后再试一次。

任何人有任何想法我在这里做错了吗?


编辑解决了; 看到我自己的答案。 接受的答案是给予AndreasM信贷帮助我解决这个问题。

在回答upvote回应;)。 我不知道bind9是怎么做的,通常应该首先检查它的视图(按configuration的顺序),以决定它是否应该作为parsing器或authorative。 我同意你的意见,它应该在你的情况下采取解决scheme模式(假设其他查询(如www.google.com)工作),然后从auth模式回答,但显然它没有。 这就是为什么我testing这个东西时总是使用专用的parsing器。

你的解决scheme只是一个部分,你永远不会testing这个工作是否也从外面。 对于你的testing来说,这是一个“捷径”,如果你没有得到答案,也可以问这个问题。

好的问题解决了; 我没有设置10.10.1.5作为本地DNS服务器的转发器; 在我的本地DNS的named.conf.options中,它需要是:

 forwarders { ... 10.10.1.5; ... } 

这(当然,随后的绑定重启)解决了我的问题。