Bob wrote: > Does ISC DHCP remember it's self assigned "static mapping" between reboots?
Yes. The daemon writes information into the dhcpd.leases file with information about every lease assigned before it assigns it. This guarentees that the file has enough information to restart. It ensures that even in the case of a system crash that a lease won't be forgotten. On startup it reads that same file to populate its internal database. This allows it to have the lease information persistent across restarts. When a new lease is requested the client may ask to continue a previous lease that it already had assigned to it. In that case the dhcpd program looks to see if this is possible. (The client may have requested an IP not valid on this network, if it was a mobile device and just came from a different network.) If that IP is available then it will be assigned because the client requested that address. Or the client may just ask for an IP assignment. In that case the dhcpd program will look to see if that client had previously any IP address in the database. If so and if that IP address is also currently available for assignment then it will assign that address. In a typical case with a large pool of addresses this means that a client device will get the same address all of the time and it will never change. On a pool that is small relatively to the number in use the requested address may not be available. It may have already been taken for use by another device because it was the only available address when some other device requested an address. In which case a different address must be assigned. If this is happening and not wanted then a larger size of the pool of addresses is needed. If the pool is large enough then the server will assign the same address. (Unless the client has requested a different address and that different address is available. Happens when a mobile device moves between two compatible subnets and requests a continuation of an IP that it really got on the other subnet.) A typical problem I see is when the lease times are configured to be quite long but the turnover of devices is fast. A local airport FBO had lease times configured for one full day and only 128 addresses for the pool. At 8am in the morning everything would be okay. But then by the afternoon there had already been 128 people connected for a short time as they passed through the airport and then moved on. They were gone but the full day of lease time kept that IP allocated until it expired. At that time no new device could get an IP address and "things never work in the afternoon" was the complaint. The pool was too small, where small was the product of number times timeout. In that type of environment setting a much shorter lease time to one hour allowed leases to expire sooner so only active leases were kept in the pool. Also the address pool size was increased. That combination solved the problem. The point here is that it isn't just the number of currently active devices but any device that aquired and still holds an active lease even if it has moved on. With laptops, smart phones and tablets this means more addresses are needed. Bob
signature.asc
Description: Digital signature