[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

dns forwarding



So, let's say that I have 2 DNS servers running bind 8.x.  If one's 
asked to resolve a domain and it doesn't have that domain in its cache, 
I want it to ask the other before initiating a full recursive lookup on 
an internal machine's behalf.  Name servers are 10.1.1.1 and 10.1.1.2. 
I'd think that, for 10.1.1.1 I'd have (pruned for brevity):

options{
  forward first;
  forwarders{ 10.1.1.2; }
  recursion yes;
  allow-recursion{
    !10.1.1.2;
    10.1.1.0/24;
  }
}

and on 10.1.1.2 I'd have a similar setup - 10.1.1.1 set as a forwarder, 
and recursion denied from 10.1.1.1 but allowed from other local 
machines.  That doesn't work, though.  It seems that the local peer is 
returning a "not found" that's authoritative if the requested name is 
not in the peer's cache, and then the first machine doesn't go ahead and 
do the recursive lookup for the first client.  Removing the peer as a 
forwarder fixes the problem, as does removing the restriction on 
recursion (because then the peer does the recursive lookup - unless I 
remove the restriction on both, which results in an entertaining DOS on 
both name servers as they forward the request back and forth over and 
over again).

What am I missing here?  Is my goal really unobtainable with bind?  I 
need two DNS servers for redundancy purposes, and it just makes sense 
for them to check with the other local server before getting all 
internet recursive on a query.  This seems like a simple, common thing, 
but maybe it's not.

Thanks.
--Danny

-
To unsubscribe, send email to majordomo@luci.org with
"unsubscribe luci-discuss" in the body.