[Dnsmasq-discuss] Re: resolver options

Simon Kelley simon at thekelleys.org.uk
Tue Feb 6 21:34:44 GMT 2007


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!
*blush*

>  
> Thanks again,
> AJ
>  
Cheers,

Simon.

> 
>     ----- 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
>     effect
>      > 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
>     servers
>      > 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
>     that
>      > change in general?  Am I misunderstanding the purpose of the
>     "options
>      > 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
>     knows
>      > 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
>     restart
>      > a lot of client machines in case I'd get a dhcp/IP address mix-up
>     (where
>      > 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.
> 
>     Cheers,
> 
>     Simon.
> 
>      > 
>      > Thanks in advance,
>      > AJ




More information about the Dnsmasq-discuss mailing list