forwarding a subdomain

David Botham DBotham at
Mon Nov 15 15:47:38 UTC 2004

bind-users-bounce at wrote on 11/11/2004 11:03:36 PM:
> Hi there,
> I'm trying to setup a subdomain via forwarding and I'm seeing some 
> unexpected behavior (unexpected for me, not necessarily for bind or 
> you).  Here's the scenario:
> I have a public nameserver, i.e., which is authoritative 
> for  In the zone file for, I've delegated a 
> subdomain to another nameserver by doing:
> sub      IN NS
> ns1-sub  IN A  ; public ip
> Now, on, I've configured bind with the following 
> zone "" {
>          type forward;
>          forward first;
>          forwarders {
> port 10053; // private ip
>          };
> };
> The host above is on a private network accessible to ns1-sub 
> but not to the general public.
> The goal is to have ns1-sub resolve all queries for the subdomain 
> by forwarding each request to the internal server at 
> Now, here's what I don't understand.  If I query ns1-sub directly for a 
> host in (i.e., the forwarding works 
> as expected.  If I query ns1-sub using a different nameserver (i.e. from 

> my ISP nameserver), the query works ONLY If ns1-sub has cached the data. 

>   If it's not in the cache, there's no answer.  This suggests that the 
> forwarding doesn't work for recursive queries.

Name servers "forward" in response to "recusive" queries, not iterative 
queries.  That is why when you query directly with say, dig, and you don't 
turn off recursion, you get the answer.  A first time query (data not 
cached on ns1-sub) from another name server will not work, the other name 
server will be sending an iterative query.



> Can anyone explain to me if this is normal behavior?  I'm guessing that 
> it has something to do with authoritative/non-authoritative answers and 
> possibly subdomain delegation issues but I'm stumped.  I'm using bind 
> 9.2.1 on debian woody.
> Thanks.
> Ed

More information about the bind-users mailing list