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