forwarders are unreachable -> lookup fails?

Brad Knowles brad.knowles at skynet.be
Wed Mar 21 16:07:25 UTC 2001


At 4:13 PM +0100 3/21/01, Roel van Meer wrote:

>  The problem arises when the servers i have in the forwarders list are
>  unreachable, or do not have bind running. As i understood from the
>  manpage:
>  "      A value of first, the default, causes the server to query the
>  forwarders
>         first, and if that doesn't answer the question the server will
>  then
>         look for the answer itself."
>  But when both my forwarders do not exist, the query fails with:
>  "*** localhost can't find www.nasa.gov: No response from server"

	Your problem is that your server is doing exactly as specified, 
but the application isn't waiting long enough for the server to go 
get the answer itself.  The server forwards its queries to the 
specified forwarding servers, but then sits there a long time waiting 
until it decides that they're all dead and it goes to find the answer 
to the query itself.  But by then, the application has decided that 
the local server is dead, and gives up.


	The moral to this story is that you want to make absolutely, 
positively, certain that the servers you are forwarding queries to 
are always up and operational.  Otherwise, you shouldn't be 
forwarding queries to them.

	That said, I believe that BINDv9 is more intelligent about 
detecting and remembering when forwarding servers are down/slow 
(using the same algorithms formerly used to determine how fast 
various remote nameservers are for various zones, such as the root 
and TLD zones), and installing BINDv9 on your local machine may help 
to ameliorate the damage you've seen in the past.

--
Brad Knowles, <brad.knowles at skynet.be>

/*     efdtt.c     Author:  Charles M. Hannum <root at ihack.net>             */
/*                                                                         */
/*     Thanks to Phil Carmody <fatphil at asdf.org> for additional tweaks.    */
/*                                                                         */
/*     Length:  434 bytes (excluding unnecessary newlines)                 */
/*                                                                         */
/*     Usage is:  cat title-key scrambled.vob | efdtt >clear.vob           */
/*     where title-key = "153 2 8 105 225" or other similar 5-byte key     */

#define m(i)(x[i]^s[i+84])<<
unsigned char x[5],y,s[2048];main(n){for(read(0,x,5);read(0,s,n=2048);write(1,s
,n))if(s[y=s[13]%8+20]/16%4==1){int i=m(1)17^256+m(0)8,k=m(2)0,j=m(4)17^m(3)9^k
*2-k%8^8,a=0,c=26;for(s[y]-=16;--c;j*=2)a=a*2^i&1,i=i/2^j&1<<24;for(j=127;++j<n
;c=c>y)c+=y=i^i/8^i>>4^i>>12,i=i>>8^y<<17,a^=a>>14,y=a^a*8^a<<6,a=a>>8^y<<9,k=s
[j],k="7Wo~'G_\216"[k&7]+2^"cr3sfw6v;*k+>/n."[k>>4]*2^k*257/8,s[j]=k^(k&k*2&34)
*6^c+~y;}}


More information about the bind-users mailing list