DHCP Request Cycle can get caught in infinite loop
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
dnsmasq (Ubuntu) |
Fix Released
|
Low
|
Unassigned |
Bug Description
Binary package hint: dnsmasq
Running Xubuntu 8.10, dnsmasq 2.45-1ubuntu1...
I'm not sure what caused this, since I've been mucking about with the settings for a while now, but at the moment, I'm seeing a Windows XP laptop caught in an endless loop trying to renew its lease. From /var/log/syslog:
Feb 10 11:05:13 dhcp-server dnsmasq[19895]: DHCPDISCOVER(eth0) 11:22:33:44:55:66
Feb 10 11:05:13 dhcp-server dnsmasq[19895]: DHCPOFFER(eth0) 192.168.X.X 11:22:33:44:55:66
Feb 10 11:05:13 dhcp-server dnsmasq[19895]: DHCPREQUEST(eth0) 192.168.X.X 11:22:33:44:55:66
Feb 10 11:05:13 dhcp-server dnsmasq[19895]: DHCPNAK(eth0) 192.168.X.X 11:22:33:44:55:66 address reserved
(I've altered server name, IP address, and MAC address from real values.)
I think I should be able to fix this by stopping the dnsmasq service, editing the lease file, then restarting the dnsmasq, per some advice I saw elsewhere, but nonetheless this behavior seems strange in that a DHCPOFFER is made by the server, but when the client tries to request it, it receives a DHCPNAK message.
I have configured this particular machine to get an IP address assignment by hostname from the /etc/hosts file, which may have something to do with it. It previously obtained the lease in this manner, but after "repairing" the connection on Windows, it's stuck in this loop.
Changed in dnsmasq: | |
status: | New → Incomplete |
FYI, the stop/delete/start process worked -- lease was renewed properly. For anyone following along, in a terminal, type:
$ sudo /etc/init.d/dnsmasq stop misc/dnsmasq. leases
$ sudo nano /var/lib/
(or whatever command you want to use to modify your lease file -- find the line with the old lease, delete it, then save the file)
$ sudo /etc/init.d/dnsmasq start