Split scopes are generally used to provide high-availability in a DHCP Server deployment, so that if one server goes down, another server is available from which clients continue to obain an IP address lease.
Lets take an example how Split scopes are created.We have the range from 10.0.0.1 to 10.0.0.200 and we want to configure the split scope in 50-50 manner then
1)-We will create the scope 10.0.0.1 to 10.0.0.200 on first server(say A), we will configure the Exclusion on server A from address 10.0.0.101 to 10.0.0.200 so that it serves the addresses from 10.0.0.1 to 10.0.0.100.
2)- We will create the scope 10.0.0.1 to 10.0.0.200 on second server(say B), we will configure the Exclusion on server B from address 10.0.0.1 to 10.0.0.100 so that it serves the adderss from 10.0.0.101 to 10.0.0.200.
Now some times we want that few network devices like Printers,fax m/c should always get constant IP address, this problem can be solved by two ways
1)-We can configure the same reservation on these boxes, this will make sure that these machine are getting reserved IP address only but it can be assigned by any of the server(A or B)
2)- If we want that server A only should give IP X to client C and server B should not assign any address to that client then we can create the the reservation for client A on Server A and we can implement call out DLL on Server B that when ever this server receives the packet from client X, it should drop the packet. for more information for callout dlls one can refer http://blogs.msdn.com/anto_rocks/archive/2005/02/25/380510.aspx
Windows Enterprise Networking
That's nice split scopes but how can we prevent one of the server to fill up all the ip address ? If we do a 80-20 for example and all my clients register to the server that has 20% of the address and then the server with 80% of the address crash....
How could we force client to go through one machine unless that machine is down ? Through callout dll ?
Now if only there were a way to manage clustering of DHCP servers, so you could implement this functionality _without_ a custom extension to the DHCP service to deliberately break redundancy for static reservations.
Oh wait, its been done!
I am really confused with this DHCP Split Scope stuff. If i was given that lan1 is on 10.0.0.0/8 and then Lan2 is 192.168.128.0/24 then how would i set the split scope?
Do i need to go by the 10.0.0.1-10.255.255.254, and 192.168.128.1-192.168.128.254 reserved ranges? When i create the scope what ranges am i using? the one from 10.0.0.1-192.168.128.254 then Exclude 10.0.0.1-10.255.255.254 in DC1 and Exclude 10.255.255.255-192.168.128.254 in DC2? Is this Correct? I am about to take my MCSE hands on soon and i am afraid this is going to kill me. I just need a proper understanding of exactly what determines the ranges we set? Subnet MAsking? Needed and Future IP for clients? the Conventional reserved IP ranges? what when given can tell us more about how to set the range? What to look for? Any help will be appreciated. Thank you.
Does Microsoft have any plan of implementing DHCP Failover or another sort of redundancy for DHCP?
DHCP is quite critical.
Can I configure a reservation to a IP that is out of DHCP scope?
Sorry for my bad english i´m from Brazil
We configured two DHCP servers with split scope.
We put all scopes under superscope without configuring the exclusion, from the test we did, we found that when one server is down the client registers it's ip on the second one, after restart.
Can we assume that that both DHCP servers shares the same DB which stored in the Active Directory?
If so, what is the purpose of excluding the negative range on any other server?
That is expected if you dont have exclusions. it is because if the client sends a "requested ip address" option and the server can provide that address , it will give that address. That is what is happening in your scenario.
The DHCP server database is not is AD and there is no replication.
Exclusion is required to provide better management of addresses being leased by 2 DHCP servers who have same scope.
This might all be true, but we have different experiences.
Our setup: multiple vlan's, with two DHCP/DNS Windows 2008 R2 servers. The scope per vlan are configured on both servers. For example: 10.40.1.1-10.40.1.220.
Exclusion on server 1: 10.40.1.97-10.40.1.191
Exclusion on server 2: 10.40.1.1-10.40.1.96
Reservations are made in the range 10.40.1.192-10.40.1.220 on both servers.
What we see happening is the following. Server 1 gives out a reserved ip address (lets say 10.40.1.200). Everything works fine, live is good. But when I log in on server 2, the reservation has disappeared. Has it really? Well, no. As soon as I run a consistency check on the database on server 2, the reservation appears again.
My guess is that the client does a DHCP request, gets a lease from server 1 and server 2. Now server 2 is geographically in another site, and response time is about 1 ms, where server 1 responds within 0.5 ms. So, the client takes the lease from server 1, as he receives that least first.
But then something strange happens: the clients reponds back to server 1, but then the reservation disappears on server 2.
So, we wanted to test as much as possible and we changed our setup. Servers are still the same, but this time, we exclude the address range 10.40.1.192-10.40.1.220 on both servers.
Now things get weirder: the client receives an address from server 1 and wants to acknowledge to server 1. But now server 2 gives a NACK.
This, in my opinion, can only mean two things:
1) the client responds to both servers, it got a lease from
2) there is some kind of integration/communication between the two servers
The consequence is that the client doesn't accept the lease, and after a while, loses connectivity to the database.
So we went a little further and tried the following:
1) we created the scope on server 1 including the reservation and created a split scope on the second server through the advanced menu item.
2) we created the scope on server 1 created a split scope on the second server through the advanced menu item and added the reservation afterwards on both servers.
3) we created both scopes by a script through netsh.
4) we created the scope on both servers by hand.
5) we tried all of the above on server 2 and afterwards on server 1 (so the other way around)
None of the options mentioned above worked. The second server always looses the reservation.
When we disable the scope on either server, everything works ok, but then we have no redundant solution.
Looking at the Microsoft documentation, the above setup (two servers, split scope with exclusions and reservations on both servers should work.
Both servers are HP DL380G5 servers with dual quadcore and 8Gb internal memory, raid 1 set on 2 15000 RPM disks. The OS is Windows Server 2008 R2.
Any suggestions what we are doing wrong?
we are looking into this.
Is there any solution to this yet? We stopped our migration just to get this fixed.
The hot fix for the "reservations getting deleted" issue is now available at http://support.microsoft.com/kb/981776
Thanks for your patience.