Everything that I have tried so far has not been able to reproduce the problem you are experiencing.
I have tried setting up my vm system as close to the setup of your system that I am able to, including creating fixed leases that are within the IP range defined for the Dynamic leases.
Everything has always ended up showing all the actual machines that had been assigned dynamic leases in the Current dynamic leases table.
You have mentioned that at first you do see the dynamic leases but then after some time in the range of days or weeks then the table no longer shows anything. I am unable to test out in that way as my vm testbed is not running 24/7.
You also tested the b2 hash for the header.pl file which contains the code that writes the dynamic leases to that table and it was the correct value.
Last thing I can think of, that just came to my mind. What is in the file
/var/state/dhcp/dhcpd.leases
That should contain all the dynamic leases that have been assigned. As an example, here is the one from my vm testbed that I just turned on.
'# The format of this file is documented in the dhcpd.leases(5) manual page.
'# This lease file was written by isc-dhcp-4.4.3-P1
'# authoring-byte-order entry is generated, DO NOT DELETE
authoring-byte-order little-endian;
lease 192.168.200.1 {
starts 2 2023/04/18 13:01:36;
ends 2 2023/04/18 14:01:36;
cltt 2 2023/04/18 13:01:36;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 08:00:27:ba:48:47;
uid â\377â\272HG\000\004s\031l\233\222\221\334H\265\016\\237z\202c\316â;
client-hostname âgreen2â;
}
lease 192.168.220.1 {
starts 2 2023/04/18 13:02:26;
ends 2 2023/04/18 14:02:26;
cltt 2 2023/04/18 13:02:26;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 08:00:27:2b:00:60;
uid â\377â+\000`\000\004I\305\034b[\011EJ\2232\203\211H6$\015â;
client-hostname âblue2â;
}
lease 192.168.220.2 {
starts 2 2023/04/18 13:02:56;
ends 2 2023/04/18 14:02:56;
cltt 2 2023/04/18 13:02:56;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 08:00:27:51:88:6f;
uid â\377âQ\210o\000\004I\305\034b[\011EJ\2232\203\211H6$\015â;
client-hostname âblue3â;
}
I had to add a â at the front of the comment lines otherwise this post would have rendered the lines as large text.
What is in your file. Maybe for some reason it is empty which would be why the table doesnât show anything but then we would need to figure out why it has been cleared, because that should not normally occur.
If your dhcpd.leases file does contain all the information then I have no idea what is happening.
EDIT:-
Also check what is in the previous dhcpd.leases file
/var/state/dhcp/dhcpd.leases~
especially if the dhcpd.leases file is empty. Also note the date/time of both files. If dhcpd.leases~ is not empty then the date/time would give an indication when the leases file was updated to empty it. That might help with checking in the logs for what happened around that time.
EDIT2:-
In the dhcpd.leases file you might find the same client in there multiple times depending on if the lease has expired and then a new one created or if the lease has been extended.