You can do a static lease that is tied to the MAC address but what a lot of users prefer is that they come into the office or lab the next day and that their device gets assigned the same IP address (if possible).
As we can see in the dhcpd logs that there is threshold that is defaulted as we'll show later. Whatever the threshold is set at, if the lease is younger than the threshold, it will keep the same lease. In other words, if the device goes to sleep or is powered off for too long, it would be more likely to get a new IP.
dhcpd[2408362]: reuse_lease: lease age 138 (secs) under 25% threshold, reply with unaltered, existing lease for 172.17.1.7
This is all controlled in dhcpd.conf
The default lease time is 10 minutes and maximum 120 minutes. This is clearly not sufficient for user's who may be offline for several hours or a few days.
#default-lease-time 600;
#max-lease-time 7200;
Some suggest putting a -1 which is infinite, as the number which is not recommended but MAY be OK in smaller settings. In larger settings you would want some sort of finite time even if it's x amount of days.
default-lease-time -1;
max-lease-time -1;
isc, dhcp, server, dhcpd, leaseyou, static, lease, users, assigned, ip, logs, threshold, defaulted, ll, powered, reuse_lease, secs, reply, unaltered, existing, controlled, conf, default, maximum, sufficient, user, offline, infinite, recommended, ok, settings, larger, finite,