ISC DHCPD duplicate uid lease

Ever see this?

dhcpd: uid lease 192.168.1.150 for client xx:xx:xx:xx:xx:xx is duplicate on 192.168.1/24

or something like it, in your dhcp logs? Well I checked /var/log/messages today and saw that I had thousands of this message repeated over and over (so much so it was spamming my log  and making it harder to find what might be important stuff). I searched around the ‘net and found some hints but nothing conclusive. The hints pointed toward a duplicate lease (duh) but more specifically lead me to check my leases file. Mine was located in /var/db/dhcpd/dhcpd.leases.

It turns out that what caused this error for me was that I had started the machine in question (the MAC address has been altered to protect the innocent haha) before I had the time to create a reservation for it. Then after it already had an address leased to it, I created a reservation for it (for internal DNS purposes, nothing more). Apparently because duplicates are allowed by default in isc dhcpd, when the machine’s networking was restarted and it got it’s new reserved IP, the server kept the original lease (which was that .150 address) and also got a lease from it’s reservation (.80 on my network). Since the .150 lease was still present in the leases file it caused the warning message (over and over and over for a month).

So if you are using isc dhcpd, and you use reservations, and you’re getting these error messages, you might want to check your leases file and make sure that you don’t have a lease for something that also has a reservation under a different IP.

The other pages I found on my search also suggested that you might have a reservation that hands out an address that is within your dynamic scope. You definitely don’t want to do that, so you may need to check that out as well in your dhcpd.conf.

For the curious, I run FreeBSD 7 on a Pentium 4 Dell desktop (I think it’s a dimension series, I haven’t looked at it in a while haha) that sits in my kitchen as a headless DNS/DHCP/Web/Random Unix Fun server. It’s actually making lots of bad noise lately and I think one of it’s fans might be going 🙁 I’ll check that out and report back 🙂

Join the Conversation

10 Comments

  1. Thanks for the concise description. I had one machine here that was doing this and was in the building when I turned this new server on but before creating its reservation. Thanks.

  2. My ISC DHCP server is handing out same IP address to 3 different MAC addresses. One thing to note is that these 3 mac addresses belong to the same device. When I checked the leases file, I can see that even there are 3 leases with the same IP address. One thing common in those 3 leases is the UID. I’m suspecting that, my DHCP server is handing out leases based on the UID and not the Mac address.

    I was trying to find a way to disable my DHCP server from OFFERING an IP address based on UID. Temporarily, I can set a fixed-address for those 3 mac addresses. But, I’ve many devices (with 3 NICs) which might end up in the same situation.

    Do you have any idea on how to disable this?

    Thanks

    Shash.

  3. Sorry Shash, I’ve no idea how to resolve the issue you’re experiencing. Sorry for the delay in this response, the comment got trapped by akismet 🙂

  4. Hi Shash,

    you need to set the “deny duplicates;” statement in the dhcpd.conf configuration file.

  5. Thanks, that post helped a lot! Under Raspbian the leases file is located here: /var/lib/dhcp/dhcpd.leases

Leave a comment

Leave a Reply to Bobby Cancel reply

Your email address will not be published. Required fields are marked *