DHCP server is not releasing expired lease
-
@sdugoten can u post your DHCP server settings?
-
If u cant post your settings try to reduce the dhcp lease time.. like 1 hour.
-
@guile said in DHCP server is not releasing expired lease:
@sdugoten can u post your DHCP server settings?
It's just stock settingm, nothing fancy...
-
@sdugoten said in DHCP server is not releasing expired lease:
DHCP server should have been re-use these IP address without someone manually intervene the process
completely agree, that is how it is suppose to work.. I have a bunch of expired leases in my one vlan. When I get a chance going to try and duplicate the problem by changing the scope to not have any space left other than expired and see what happens.
But yeah dhcp server should use expired leases once its free leases are used up..
-
@guile I doubt the time make any difference, because you see that in the first screenshot I posted, many lease expired back in 2022 Dec........those entries shouldn't exist in that page at all when I have new connection make to the LAN and it complains "no free leases". The logic in the DHCP server is plain wrong.
I didn't even know the DHCP server don't re-use those IP address until I got error in the log saying "no free leases"
-
@sdugoten I just looked through redmine, and I didn't see anything related to this. Once I get a chance to duplicate your problem I will put in a redmine if seeing the same thing.
But yeah once a lease has expired - should be free to use, once all the actual free IP have been handed out. You should not run into a issue with no leases available unless all leases are active. If there are expired leases - they should be reused and handed out to some new client looking for a lease.
You should not have to manually clear old expired leases.
-
Try this:
Your config:
Range: 10.0.1.70 - 10.0.1.180
You have 13 static mappings.Change to this:
Range: 10.0.1.20 - 10.0.1.255
Your 13 static mappings, change to: 10.0.1.1, 10.0.1.2, 10.0.1.3, 10.0.1.4, 10.0.1.5.. and so on. -
@guile while creating a larger scope would be a possible work around to his problem - dhcp server should hand out expired leases when all its free ones are used up. That is the whole point of expiring a lease - so it can be reused, you shouldn't have to clear them manually for them to be available once they are expired.
The only thing I could think of that could cause such an issue, is those IPs are actually active - and just don't have a lease from the dhcpd. Dhcp server as you see from his above settings would ping an IP before it hands out an a lease, if something responds to that ping, it shouldn't hand out the lease even if it is expired.
I am about to head out, but I have a bunch of old expired leases in one of my vlans, I should be able to duplicate if this is a problem - and not just something odd on his box by reducing the scope to not have free leases available, and only expired ones - and then trying to get a lease it should hand out one of the expired ones.
-
@guile I actually have more fixed IP assigned manually on other devices in the range of 10.0.1.1 to 10.0.1.20 already. I intentionally use 10.0.1.70 - 10.0.1.180 for dynamic IP address. So, there is no static mapping or fixed IP are being used inside this dynamic IP range already.
-
-
@guile again that would be a work around.. Let me try and duplicate and then create a redmine so they can correct it. dhcp server should reuse expired leases.. You shouldn't have to create a cron to clear them, etc.
-
@johnpoz i understand.. but im developer, the workaround its in my veins
-
@guile so seems I don't even have to change my scope - clearly all of my IPs from that scope are expired already..
So I just need to fire up something on that vlan and see if it gets one of those expired leases. I don't normally fire up stuff on that vlan - other than to just temp get it on the network, then I assign it a reservation (outside the scope).
I don't recall having any issues recently - and from looking at the dates of the expired, does seem that some have been reused since they are active.. see like 105, 106 and 107.. Hmmm have I not given something a reservation?
But this should make it easy to try and duplicate the problem he is seeing.
edit: from what I see on my leases - it does seem to be handing out expired ones already.. But when I get back I will test and document.. And we can put in a redmine about it to see if anyone else is having the issue. And should be simple enough to force a example by just using a small lease and scope - and then letting them expire and fire up something with a different mac, ec.
-
@johnpoz try to fire up some smartphone with randomize MAC active. But first forget the wifi and rejoin.
-
@guile Since you said December, are you on an old version or does it persist across reboots/version upgrades?
Some sort of odd file corruption?
-
-
@SteveITS said in DHCP server is not releasing expired lease:
Some sort of odd file corruption?
Maybe because I can not duplicate the problem - as you saw before my dhcp scope is used.. All the IP in the scope have been handed out.. So I know just phone to that vlan, letting it use a different mac (private stuff)..
And you can see it grabbed an old expired lease .104, and assigned it to my phone connection..
What specific version of pfsense are you on? I am on 23.05.1 - I could try and duplicate the problem on my old 2.6 vm, or 2.7 vm - but take me a bet to test it out..
-
@SteveITS it persist across version upgrade and reboots
-
@johnpoz said in DHCP server is not releasing expired lease:
@SteveITS said in DHCP server is not releasing expired lease:
Some sort of odd file corruption?
Maybe because I can not duplicate the problem - as you saw before my dhcp scope is used.. All the IP in the scope have been handed out.. So I know just phone to that vlan, letting it use a different mac (private stuff)..
And you can see it grabbed an old expired lease .104, and assigned it to my phone connection..
What specific version of pfsense are you on? I am on 23.05.1 - I could try and duplicate the problem on my old 2.6 vm, or 2.7 vm - but take me a bet to test it out..
I am on 23.05.01
Actually, I have already removed all expired lease so I can't reproduce it right now until I have more expired lease. However, I did find a lot of similar case that wasn't resolved
https://forum.netgate.com/topic/143143/dhcp-leases-are-not-automatically-released/16
https://forum.netgate.com/topic/137042/dhcp-service-not-renewing-ip-lease
https://forum.netgate.com/topic/166995/remove-dhcp-leases-automatically/15
https://forum.netgate.com/topic/46897/dhcp-addresses-not-releasing
I am not sure if some particular condition would make the dhcp server not reusing expired ip address.. However, I am 100% sure the DHCP server wasn't releasing IP address when I first wrote this post. I got a new phone and try to connect to the LAN, the phone wouldn't connect to the LAN via wifi. No IP is assigned. Then I started looking into the log and see what happened, and I found that DHCP server is complaining no free lease. So, I looked at the dhcp lease page (the first screenshot on first post) and found that many expired lease stuck in that page and none of those IP address were re-used. This was how I found out the problem.
i end up removing all the expired leases , make the pool a bit bigger and voila the new phone connect to the LAN via wifi. So...it's something fishy on the dhcp server...
-
@sdugoten while I do recall past posts with sim issue, I don't recall ever being able to duplicate the problem..
I would attempt to duplicate it quickly, create a small scope, just a few addresses with really short lease time, and then run through seeing if it will issue an expired lease.
You might want to do just a clean flush of the whole leases file, and let it create new file.
The leases file is stored here
/var/dhcpd/var/db
I would shut down dhcp services on all interfaces, then delete the files there will also be a leases~ file and then restart your dhcp services..