[Dnsmasq-discuss] Problem when WinXP firewall is activated (d oes not reply to ping)

Raphaël HUCK raphael.huck at efixo.com
Thu Dec 7 16:53:24 GMT 2006


>>> That does look like WinXP might be broken: I'd be interested in the 
>>> results of your tests.

With a Linux host (192.168.1.20) and a Windows host (192.168.1.21) 
connected to the router (192.168.1.1) and having their IP addresses via 
DHCP from dnsmasq, I stopped dnsmasq, unplugged the cables to the Linux 
and Windows hosts, started Wireshark on both Linux and Windows host, 
then plugged both cables back, and started dnsmasq.

Here's what happens (I put the time when each packet occur after the 
previous packet from the same host):

windows 0.0.0.0 -> 255.255.255.255 - DHCP Request
windows 0.0.0.0 -> 255.255.255.255 - DHCP Request (4 sec later)
windows 0.0.0.0 -> 255.255.255.255 - DHCP Request (9 sec later)

windows         -> Broadcast       - ARP Who has 192.168.1.21?
                                      Gratuitous ARP (16 sec later)

windows         -> Broadcast       - ARP Who has 192.168.1.21?
                                      Gratuitous ARP (1 sec later)

windows         -> Broadcast       - ARP Who has 192.168.1.21?
                                      Gratuitous ARP (1 sec later)

windows         -> Broadcast       - ARP Who has 192.168.1.1?
                                      Tell 192.168.1.21 (1 sec later)

router          -> windows         - ARP 192.168.1.1 is at xxx

windows 192.168.1.21-> 192.168.1.1 - ICMP Echo (ping) request
                                                 (0 sec later)

router  192.168.1.1-> 192.168.1.21 - ICMP Echo (ping) reply



The Windows host seems to send broadcast DHCPREQUEST rebinding messages 
[Option: (t=50,l=4) Requested IP Address = 192.168.1.21], and after 
having no replies after 3 tries, checks 3 times if its currents IP 
address (192.168.1.21) is attributed with someone else via an ARP request.

As it doesn't have any reply, it does an ARP request with the DHCP 
server IP address (router), then pings it to check if it's still up.

As nobody has its current IP address (192.168.1.21) and the DHCP server 
is still up (and maybe its lease is not yet expired), it decided to keep 
192.168.1.21.

Am I right?



>> Again, I'll have to check with Wireshark on Monday. Why do you think it's
>> WinXP the problem?
> 
> As far as I can see, the only order of events which could get to the 
> situation you see is:
> 
> Linux box has lease on 192.168.1.20
> router reboots (and clears leasefile)
> Windows box takes a lease and gets 192.168.1.20
> 
> If the ARP check had worked during the windows box lease-aquisition, it 
> would have seen the Linux box on 192.168.1.20, and taken an alternative 
> address.

I was not able to reproduce the problem while sniffing with Wireshark, 
but apparently the Windows XP host does the ARP check.


> Cheers,
> 
> Simon.

Cheers,

--Raphael



More information about the Dnsmasq-discuss mailing list