dnsd: Fails "Got recursion not available from ..."

Lars J Aas parawaiter at gmail.com
Tue Aug 11 21:15:25 UTC 2009


   Hi all,

I am using busybox udhcpd and dnsd on a Popcorn Hour A110 to manage my  
home LAN. The A110 is a multimedia streamer, and it is always running  
as a server, even in stand-by mode, so I deemed it the most suitable  
device for this sort of thing.

I also hook up my home LAN to Internet through another computer, a  
computer which may or may not be on. When it connects, it gets other  
nameservers - they are pretty static, so I want all the computers that  
hook up to my LAN to try my A110 first for name resolving, and then  
try the external name servers in case it's an Internet address. I can  
feed these name server addresses to the DHCP clients through udhcpd  
config fine.

On an OS X system that gets its address from the A110 udhcpd, I get  
an /etc/resolv.conf which looks like this:
domain nexus6.local
nameserver 192.168.82.21     # the local A110 with busybox dnsd
nameserver 130.67.60.68        # external ns 1
nameserver 130.67.15.198     # external ns 2

These are the settings it gets from the udhcpd config.  All is well so  
far.

Then I try to resolve a local name:

 > nslookup wii
;; Got recursion not available from 192.168.82.21, trying next server
;; Got recursion not available from 192.168.82.21, trying next server
Server:		130.67.60.68
Address:	130.67.60.68#53

** server can't find wii: NXDOMAIN

If I do an "nslookup -d2", I get the following:
main parsing wii
addlookup()
make_empty_lookup()
[...]
send_udp(0x151198)
bringup_timer()
have local timeout of 1
working on lookup 0x802a08, query 0x151198
sockcount=2
recving with lookup=0x802a08, query=0x151198, sock=0x153128
recvcount=1
sending a request
;; Got recursion not available from 192.168.82.21, trying next server
clear_query(0x151008)
sockcount=1
check_next_lookup(0x802a08)
still have a worker
unlock_lookup /SourceCache/bind9/bind9-26.1.5/bind9/bin/dig/dighost.c: 
3006
[...]

If I do an "nslookup -norec", then it works however:
 > nslookup -norec wii
Server:		192.168.82.21
Address:	192.168.82.21#53

Name:	wii
Address: 192.168.82.22


Is there any way to configure the busybox dnsd to support recursion so  
I can mix local dnsd-based LAN management with Internet name servers,  
or is this currently simply not possible?

Regards,

   Lars J


More information about the busybox mailing list