[Dnsmasq-discuss] DNS request timeout problem on dial-in account
with dynamic ip
Simon Kelley
simon at thekelleys.org.uk
Wed Feb 8 18:51:21 GMT 2006
Jean Wolter wrote:
> Hello,
>
> I use dnsmasq on a small Linux router, which uses pppd to dial in to
> my provider and netfilter to provide NAT and stateful packet filtering.
>
> When a DNS request triggers a dial-in the request usually times out
> due to one of the following reasons:
>
> - the DNS request sent to the server has still the old IP - the IP
> the interface had before pppd finished the IPCP protocol and got
> a new IP. Therefore the DNS server replies to the wrong IP and
> dnsmasq never gets a reply
> - if the pppd rewrites the IP address of the packet netfilter
> generates a connection tracking entry with the old IP and
> refuses the reply of the DNS server since the packet doesn't
> belong to any known "connection"
>
> So dnsmasq doesn't get a reply for the first request and the client
> runs into a timeout and sends a new request for this name. Under some
> operating systems this leads to a failed name resolution and the user
> has to repeat whatever lead to the DNS request.
>
> Is there any chance to automatically re-send all un-replied DNS requests
> after a dial-in happened? I tried to browse through the source but I
> did not find the right spot to add such a resend operation.
It's impossible to make dnsmasq do this: once it has forwarded a DNS
query, it no longer has a copy of it, so it can't resend it unless the
original source of the query does a retry.
It's a long time since I played with DoD, but I seem to remember that
the magic to fix this is
echo 1 >/proc/sys/net/ip_dynaddr
Documentation here:
http://lxr.linux.no/source/Documentation/networking/ip_dynaddr.txt
Cheers,
Simon.
>
> regards,
> Jean
>
> _______________________________________________
> 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