"Russell A. Bell" wrote:>
> When the ISP goes down Windoze computers cannot map drives on
> the local SambaServer. Windoze reports the network as busy and
> inacessible. Non-SMB connections (e.g., telnet, ftp, ping) work; an
> instance of smbd -D appears on the process list for each machine
> attached; drives already mapped still work. log.MachineNames report
> read_data errors when this happens. Only asyncdns.c, a piece of
> nmbd's source, makes this call, and it uses it for DNS queries. So I
> suspect that nmbd tries to call the external DNS at drive-mapping
> time, can't get through, and Windoze times out before nmbd gives up on
> the DNS query. I don't see why this happens: why does SambaServer
> call an external DNS server? We don't have 'dns proxy',
'wins
> server', or 'wins support' on. If I use 'name resolve
order > lmhosts, hosts', ommitting 'bcast' and 'wins',
will nmbd not make an
> external DNS request? Since lmhosts should resolve all requests and
> we use the default name resolve order now, I would have thought it
> would make no difference. But perhaps some implicit external request
> happens that I have missed.
>
> russell bell
Samba also does DNS lookups in client_name() - in lib/util_sock.c - and
this cannot (AFAIK) be disabled. The best thing to do is to setup a
local DNS server for your network, at least so it gets a 'host not
found' earlier. Or you could just list the hosts in /etc/hosts if its a
smaller network.
The name resolve order is primarily a client setting, its used when
samba needs to contact another server for some reason - not (AFAIK) when
answering requests.
Hope this helps,
Andrew Bartlett
--
Andrew Bartlett
abartlet@pcug.org.au