Short version
Long Version
Window Server 2012 DHCP server is currently configured as:
- Subnet: 10.0.
x.x
(e.g. 10.0.0.0/16) - Dynamic IP Range: 10.0.0.
12
- 10.0.0.120
This is done to limit dynamically assigned addresses to a small range on the subnet (and not overlap into other ranges).
I would like to add another address range to pool of available ranges that DHCP can pull from on our 10.0.x.x
subnet:
DHCP Address Pool
- 10.0.0.
12
- 10.0.0.200
- 10.0.27.
12
- 10.0.27.150
Of course you can't do that because:
Of course it doesn't conflict; it's just being stubbon.
I want the DHCP server to offer addresses from a pool of two ranges on the 10.0.x.x subnet:
DHCP Address Pool
- 10.0.0.x
- 10.0.27.x
How do i do that?
Workaround
i suppose i could do it with exclusions:
- Range: 10.0.0.0 - 10.0.255.255
- Exclude: 10.0.0.0 - 10.0.0.11
- Exclude: 10.0.0.151 - 10.0.0.255
- Exclude: 10.0.1.0 - 10.0.26.255
- Exclude: 10.0.27.0 - 10.0.27.11
- Exclude: 10.0.27.151 - 10.0.26.255
- Exclude: 10.0.28.0 - 10.0.255.255
But that idea is so dumb that I won't even bring it up.
Bonus Reading
- How to add extra range of IP in DHCP of Windows Server 2008 R2 (archive)
- Adding another IP Range to DHCP (archive)
- KB255999 - Increasing the number of IP addresses on a subnet in DHCP Server
Bonus Chatter
How does DHCP work?
Dynamic host configuration protocol can be used to automatically configure network devices with information they need:
- Network subnet mask (e.g. 255.255.0.0)
- DNS server (e.g. 10.0.42.7, 10.0.13.29)
- Domain name (e.g. stackoverexchange.com)
- Default gateway (e.g. 10.0.241.1)
In addition to being able to configure host options, it can automatically give clients an IP address. The DHCP server is given a block of IP addresses it can assign to clients, e.g.:
10.0.0.12
-10.0.0.100
10.0.0.200
-10.0.0.245
10.0.3.100
-10.0.3.200
And when a client shows up needed an IP address, it looks in it's available pool of addresses, picks one, and gives it to the machine:
- 10.0.0.12 - Unassigned
- 10.0.0.13 - Unassigned
- 10.0.0.14 - Unassigned
- ...
- 10.0.0.98 - Unassigned
- 10.0.0.99 - Unassigned
- 10.0.0.100 - Unassigned
- 10.0.0.200 - Unassigned
- 10.0.0.201 - Unassigned
- 10.0.0.202 - Unassigned
- ...
- 10.0.0.243 - Unassigned
- 10.0.0.244 - Unassigned
- 10.0.0.245 - Unassigned
- 10.0.3.100 - Unassigned
- 10.0.3.101 - Assigned to de-ad-be-ef-ba-ad (IANBOYD)
- 10.0.3.102 - Unassigned
- ...
- 10.0.3.198 - Unassigned
- 10.0.3.199 - Unassigned
- 10.0.3.200 - Unassigned
I want to add more ranges of IPs to the available pool of IPs to be assigned.
Other DHCP servers do it
Of course other DHCP servers can do this:
But i already know how to do it in other DHCP servers. I'm asking how to do it in the DHCP server that ships with Windows Server 2012.
If Windows Server 2012 DHCP server cannot do it: it's ok to say it:
It cannot be done; Windows Server 2012 does not support this feature that other DHCP servers support.
But i'm hoping it does support it. DHCP has been around a long time; and Microsoft has had a long time to get it right.
It does conflict with your existing scope. Your proposed new scopes are encompassed by your existing scope. In order to do what you want you would need to change the subnet mask of your existing scope so that it's range doesn't encompass the proposed new scopes.
Addendum
Based on your comment to my answer:
I don't know anything about any other DHCP implementation, but it's doubtful to me that any other implementation could do what you want. Saying that it's a "Windows" shortcoming is probably erroneous. How would the DHCP server know to assign an address from your second scope, which is encompassed by your first scope, instead of assigning an address from the first scope? How would it make that differentiation? I'm honestly curious to know how that would work, how you think it should work, and if any other DHCP implementation supports such a configuration.
So, your approach depends on the answer to one critical question.
Are you trying to create two different subnets that exist within one VLAN / broadcast domain? Or are you trying to create two ranges within the same subnet? That is, how many default gateways exist on this VLAN / broadcast domain?
So, if you have two subnets within this VLAN / broadcast domain:
Alternatively, if you have one large subnet within this VLAN / broadcast domain:
If desired, you can set the range for the scope to cover only 10.0.0.12 - 10.0.27.150, which would mean you could create a single exclusion for 10.0.0.201 - 10.0.27.11.