[Dnsmasq-discuss] DHCP not getting reply - Windows Vista Home client using broadcast flag

Simon Kelley simon at thekelleys.org.uk
Thu Feb 21 09:58:12 GMT 2008


Duncan Turnbull wrote:
> Hi there
> 
> I have a client using Vista Home Basic that can't get a DHCP lease which
> appears to be related to the broadcast flag in the request. Dnsmasq just
> seems to ignore the request.

That shouldn't make any difference.
> 
> There is apparently a Microsoft patch to the registry to stop it sending
> the broadcast flag but we get a lot of different clients (we are a WISP)
> and I am really keen on a general fix, as explaining registry changes to
> end customers is a challenge.
> 

Does the registry change fix this particular system? That would give us
some information about what is going on.

> We have just upgraded to 2.41 - as there is the -dhcp-broadcast option,
> but perhaps I am misinterpreting it, it doesn't seem to be the
> difference.

It's probably not going to make any difference - it forces replies to be
broadcast, even if the client didn't ask for it. Since you seem to be
having problems with requests, that's not going to help.

> 
> This is running on Debian
> 
> This is the dnsmasq config
> 
> zc-pld:~# cat /etc/dnsmasq.conf
> domain-needed
> bogus-priv
> no-poll
> server=203.97.231.226
> interface=cafenet
> 
> dhcp-range=198.48.3.130,198.48.3.190,15m
> dhcp-option=42,0.0.0.0
> dhcp-option=3,0.0.0.0
> dhcp-option=119,cafenet.co.nz
> dhcp-leasefile=/var/tmp/dnsmasq.leases
> dhcp-authoritative
> dhcp-script=/usr/local/sbin/chg-loc.sh
> dhcp-broadcast=#bootp
> 
> 
> I see others with the broadcast flag getting answers but something that 
> I can't detect is stopping the replies to this client.

If dnsmasq is not logging the requests, then they are almost certainly
not getting to it.  You can eliminate the last 1% of cases where dnsmasq
sees a packet but silently ignores it by running dnsmasq under strace
and looking for it reading the packet.

Very frequently with this sort of problem dnsmasq never sees the packet
because of firewall settings. Look at your iptables very carefully and
see if there's something that might block the packets. Something that
stands out in your packet dump is that the Vista machine has defaulted
to a zeroconf 169.254.x.y  address and is using that in the source
address of the DHCP requests it's sending. Does you firewall block that
address range?

BTW, this is a standards violation by Microsoft: the source address
should be 0.0.0.0

quote RFC2131:

   DHCP messages broadcast by a client prior to that client obtaining
   its IP address must have the source address field in the IP header
   set to 0.

Cheers,

Simon.

> 
> The packet dump of theirs and some others below
> 
> Their mac is 00:17:c4:10:9a:3c
> 
> All and any advice appreciated.
> 
> Thanks very much
> 
> Cheers duncan
> 



More information about the Dnsmasq-discuss mailing list