ISC DHCP - Force clients to get a new IP address, instead of the being re-issued their previous lease's IP
- by kce
We are in the middle of a migration of our DHCP and DNS services from a Debian-based server to a Windows Server 2008 R2 implementation. The Debian server is running isc-dhcpd-V3.1.1. All of workstations are configured to have fixed-addresses between .3 and .40 (the motivation behind that choice is mostly management/political much like here). DHCP leases are given out in the range of .100 to .175. Statically configured servers live in the .200 block and above (which is mostly empty).
When we move to the Windows platform, management/political considerations require me to move the IP ranges around again. We would like to keep .1 - .10 reserved for network appliances, switches, and other infrastructure. .200 will remain designated for servers. The addressing space in between should be available to clients and IPs should be dynamically allocated (Edit: instead of automatic as originally mentioned) by the server.
My Address Pool on the Windows Server looks like this:
192.168.0.1 192.168.0.254 (Address range for distribution)
192.168.0.1 192.168.0.10 (IP addresses excluded from distribution)
192.168.0.200 192.168.0.254 (IP addresses excluded from distribution)
Currently, we have all of our clients still on the .3 - .40 range, and a few machines still active in the .100 - .175 (although there are lots devices that are powered off that still have expired leases with IPs from that range). Since the lease "database" isn't shared between the old and new DHCP server how can I prevent clients from receiving a lease with an IP address that is currently being held by client with a non-expired lease from the old DHCP server? If I just expand the range on the Debian DHCP server to be 192.168.0.10 - 192.168.0.199 is there a way to force clients to not re-use their old IP address when they send their DHCPDISCOVER? Can I make the Windows DHCP server be authoritiative like the ISC implementation?
The dhcpd.conf from the Debian server:
ddns-update-style none;
authoritative;
default-lease-time 43200; #12 hours
max-lease-time 86400; #24 hours
subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
range 192.168.0.100 192.168.0.175;
}
host workstation-1 {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.0.3;
} ... and so on until 192.168.0.40