[Dnsmasq-discuss] Prevent forwarding of requests for hosts Dnsmasq already knows about

Ian Scott ian at polpo.org
Thu Feb 26 06:23:01 GMT 2009


On Feb 24, 2009, at 1:31 AM, Simon Kelley wrote:

> The behaviour you are requesting is how it's supposed to work, so  
> this is a bug rather than a misfeature. It's also a rather puzzling  
> bug, since mixing data from an "upstream" nameserver and locally- 
> known names is very difficult for dnsmasq to do.
>
> In your example above, I assume that  192.168.0.238 comes from DHCP.
>
> The only explanation I can come up with goes like this.
>
> 1) No DHCP lease exists for laptop.example.com and something does a  
> DNS lookup. That puts the CNAME records for laptop.example.com into  
> the cache.
>
> 2) laptop.example.com gets a DHCP lease. which puts the A record for  
> laptop.example.com into the cache, but the CNAME is not deleted.
>
> 3) Subsequent DNS lookups get both bits of data from the cache.
>
> This is a great theory, except that there seems to exist code to  
> delete any existing cache entries when a DHCP-derived name is pushed  
> into the cache, which should handle this.
>
> Does my theory fit the facts? If you restart dnsmasq (and clear the  
> cache) does the beahviour change?

You assume correctly, 192.168.0.238 comes from DHCP.

It looks like the "host" command sends several requests: it asks for  
an A, an AAAA, and MX record for the requested host. Here's the  
relevant log, right after restarting dnsmasq and renewing  
laptop.example.com's DHCP:
Feb 25 22:00:59 server dnsmasq[24614]: query[A] laptop.example.com  
from 192.168.0.10
Feb 25 22:00:59 server dnsmasq[24614]: DHCP laptop.example.com is  
192.168.0.238
Feb 25 22:00:59 server dnsmasq[24614]: query[AAAA] laptop.example.com  
from 192.168.0.10
Feb 25 22:00:59 server dnsmasq[24614]: forwarded laptop.example.com to  
68.94.156.1
Feb 25 22:01:00 server dnsmasq[24614]: reply laptop.example.com is  
<CNAME>
Feb 25 22:01:00 server dnsmasq[24614]: reply p4p.geo.vip.re4.yahoo.com  
is NODATA-IPv6
Feb 25 22:01:00 server dnsmasq[24614]: query[MX] laptop.example.com  
from 192.168.0.10
Feb 25 22:01:00 server dnsmasq[24614]: forwarded laptop.example.com to  
68.94.156.1

The A query works great, but AAAA and MX records get forwarded. I  
think they shouldn't be. Is this expected behavior?

Ian




More information about the Dnsmasq-discuss mailing list