[Dnsmasq-discuss] Re: resolver options
aweber at comcast.net
Wed Feb 7 01:55:53 GMT 2007
But, technically, isn't dnsmasq the "client" to the upstream DNS servers? Don't YOU have control over how long you wait for a reply? Couldn't we have a config-param, similar to how I envisioned this resolv option would work, where if dnsmasq has multiple upstream nameserver's, we could specify the timeout for a reply in ms or seconds? This isn't for a "no such domain", this is for a no-reply (host is down or DNS is not responding on that host, etc.).
If you did that, we could even have an option to send the request to all (or some fraction) upstream servers in parallel and just take the first reply. I don't know if they'd call us a bad Inet citizen if we did that, though. But, hey, we're making-up for it by caching the reply, right? ;)
----- Original Message -----
From: Simon Kelley
To: AJ Weber
Cc: dnsmasq-discuss at lists.thekelleys.org.uk
Sent: Tuesday, February 06, 2007 4:34 PM
Subject: Re: resolver options
AJ Weber wrote:
> Thank you for your quick reply...
> RE: "options in the custom resolver file", should we have the ability to
> propagate some of these options? For example, timeout, attempts and
> rotate? I think they could be useful in certain situations (like my
> own...I don't want to have to update all my clients resolv interaction
> -- or can this be set with a dhcp option of sorts?).
It's not really possible: don't forget that all this is happening via
UDP: a client sends a request which is a UDP packet, and gets back an
answer (another UDP packet) or times out. If, for instance, the client
timeout is 10 seconds, and the dnsmasq one 5, dnsmasq has no way to tell
the client to give up after 5 seconds except by returning "no such
domain", which is a lie and could cause all sort of problems if the
client really believes it. Really the only way is to adjust the timeout
at the client end.
"rotate" is normally irrelevant when the client only has one nameserver
- dnsmasq, and "attempts" should be at least 2 (the default). dnsmasq
has quite complex methods for chosing between multiple upstream servers
which somewhat depend on clients retrying at least once.
> RE: The existing leases...I knew the leases were cached in a file, but I
> didn't know that when dnsmasq starts it actually reads the file and
> leverages that information. Is that documented somewhere?
I think it's just assumed that that's the function of that file - a
persistent lease database which survives dnsmasq restarts and reboots.
As an aside, things work pretty well even without the persistent
database. If the ratio of available addresses to clients is reasonably
high then clients will always get given the same address anyway. The
main problem is that the client name disappears from DNS after a restart
until the client renews its lease.
> I've said it before, and I'll say it again: This is a fantastic piece
> of software!
> Thanks again,
> ----- Original Message -----
> *From:* Simon Kelley <mailto:simon at thekelleys.org.uk>
> *To:* AJ Weber <mailto:aweber at comcast.net>
> *Cc:* dnsmasq-discuss at lists.thekelleys.org.uk
> <mailto:dnsmasq-discuss at lists.thekelleys.org.uk>
> *Sent:* Tuesday, February 06, 2007 12:42 PM
> *Subject:* Re: resolver options
> AJ Weber wrote:
> > If I use a "different" resolv.conf file (i.e. I use a
> > resolv-file=/etc/resolv.dnsmasq), will an "option" have the same
> > it normally would?
> > For example, I'm considering changing timeout to 2 (instead of the
> > default of 5), because I've had some issues with my ISP's DNS
> > recently and don't want to wait too long for the timeout. With the
> > broadband connection, any of the nameservers in my list consistenly
> > returns in < 1 sec (when they're up, of course).
> > Will this have the desired effect? Any comments or concerns with
> > change in general? Am I misunderstanding the purpose of the
> > timeout:" ?
> The only lines which are read by dnsmasq are "nameserver" ones -
> everything else is ignored, except "search" if the option --domain=# id
> used, when the first entry of the search string is used as dnsmasq's
> domain setting.
> To get the effect of faster time-outs, it's necessary to alter the
> timeout in the clients, not in dnsmasq.
> > ALSO...(DIFFERENT TOPIC) : Is there no way to tell dnsmasq to
> dump it's
> > current lease-info to a file that could be read on restart so it
> > about all outstanding DHCP leases? It's rare that I have to restart
> > dnsmasq or the linux box it's on, but when I do, it forces me to
> > a lot of client machines in case I'd get a dhcp/IP address mix-up
> > dnsmasq doesn't know an IP Address is already leased to a running
> > client, and a new client requests a lease so it hands-out the same
> > address).
> Dnsmasq does this by default, in /var/lib/misc/dnsmasq.leases. You can
> change the location of the lease file using --dhcp-leasefile.
> > Thanks in advance,
> > AJ
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Dnsmasq-discuss