[Dnsmasq-discuss] dnsmaq stops forwarding queries (part 2)
Graham Seaman
graham at theseamans.net
Sun Sep 17 00:11:14 BST 2006
Hi Simon,
Simon Kelley wrote:
> graham wrote:
>
>> On initial boot of the server no queries are forwarded to the opendns
>> servers: it's as if dnsmasq had never read resolv.dnsmasq Touch
>> resolv.dnsmasq, and everything immediately works correctly.
> What (if anything) writes to /etc/resolv.dnsmasq?
Nothing at all. This is a static file created by hand for dnsmasq and
nothing else knows about it.
It hasn't failed again since I wrote originally; if it does I'll check
the time on the file before I do anything to it just in case something
has written to it - but I don't see how it could.
Thanks for the suggestions
Graham
> Holger's problem
> turned out to be a script which emptied /etc/resolv.dnsmasq and then
> wrote the new nameservers. It's possible to get unlucky, so that
> following events all occur in order within one second:
>
> 1) Write or create empty resolv.dnsmasq
> 2) dnsmasq reads empty file -> no nameservers
> 3) write resolv.conf with new nameservers.
>
> Since the timestamp on the file only has one second resolution, dnsmasq
> never sees the second write, and never re-reads the file.
>
> This problem is largely fixed in later dnsmasq releases: if dnsmasq
> reads an empty file, it will keep re-reading every second until it gets
> real data. Since you are using 2.22 you don't have that code.
>
> Actually, there's a better way, which is to update resolv.dnsmasq by
> writing data into resolv.dnsmasq.new, and then doing
> "mv resolv.dnsmasq.new resolv.dnsmasq". The mv operation is atomic, so
> that eliminates the race.
>
> If you have a script which re-writes /etc/resolv.dnsmasq on a regular
> basis, then the fix probably involves tweaking that script. If you have
> no control over the code which writes /etc/resolv.dnsmasq then upgrading
> to the latest release should provide a workaround in dnsmasq.
>
> HTH
>
> Simon.
>
>
>
>> Graham
>>
>>
>>
>> _______________________________________________ Dnsmasq-discuss
>> mailing list Dnsmasq-discuss at lists.thekelleys.org.uk
>> http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
>>
>>
>
>
>
> _______________________________________________
> Dnsmasq-discuss mailing list
> Dnsmasq-discuss at lists.thekelleys.org.uk
> http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
>
More information about the Dnsmasq-discuss
mailing list