- Turn the tables on your organization with Adaxes 2018.1’s Web Interface and reporting capabilities - Thu, Sep 20 2018
- Review: Softerra Adaxes – Automating Active Directory management - Thu, Jun 4 2015
- Azure Multi-Factor Authentication – Part 8: Delegating Administration - Tue, Apr 28 2015
DHCP Servers hand out IP addressing information to DHCP clients to make it easy for people using these devices to connect to the network without making changes to their networking configuration. In dynamically scaling environments, DHCP clients are increasingly becoming DHCP clients with the DHCP Server maintaining DHCP reservations; this practice ensures that certain DHCP clients get the same IP address every time, based on their MAC address.
History of the DHCP Server Role in Server Core
The DHCP Server Server Role has been included in Server Core since Windows Server 2008. Server Core installations of Windows Server 2012 support failover DHCP scopes. This new feature, which is found in both Server Core and Server with a GUI installations of Windows Server 2012, adds redundancy to DHCP Servers without failover clustering, shared storage, and multiple network interconnects between two (or more) DHCP Servers. This also replaces the practice where admins needed to place 80% of their leases on one DHCP Server and 20% on another DHCP Server (and maintain reservations and DHCP options on both servers) to achieve DHCP Server redundancy.
Configuring Server Core as a DHCP Server
Just like the other Server Roles and Features on Server Core installations, you can install them using three methods. The first method features the dism.exe command line tool. The second method features PowerShell, specifically the Install-WindowsFeature cmdlet. A third way to install Server Roles and Features on Server Core installations is through Server Manager remoting, but since this is done through the Graphical User Interface (GUI), it’s not for real men like us.
To install the DHCP Server Role on a Server Core installation with dism.exe, use the following command:
dism.exe online /enable-feature /featurename:DHCPServer
To install the DHCP Server Role on a Server Core installation with Install-WindowsFeature, first start PowerShell on the command line (by typing it) and then use the following command:
Install-WindowsFeature DHCP -IncludeManagementTools
Install a DHCP Server with PowerShell
Configuring Basic DHCP Scopes
To hand out IP information to clients requesting them, you will need to create one or more DHCP scopes. To benefit most from your DHCP Servers, you will want to specify not only IP ranges to hand out but also DHCP options, like the default gateway address and addresses for DNS Servers. These DHCP options can be configured at the DHCP scope level and at the server level.
For this purpose, we’ll configure an example Server Core installation with IP address 192.168.0.9SC2, using the range of IP addresses from 192.168.0.10 through 192.168.0.250, with a Default Gateway address of 192.168.0.254. The installation also has a DNS Server, available at 192.168.0.1 for the domain demo.servercore.net. In this example, the commands to configure the DHCP scope look like this:
Add-DhcpServerv4Scope -Name "Internal" -StartRange 192.168.0.10 -EndRange 192.168.0.250 -SubnetMask 255.255.255.0 -Description "Internal Network"
Set-DhcpServerv4OptionValue -ScopeID "Internal " -DNSServer 192.168.0.1 -DNSDomain demo.servercore.net -Router 192.168.0.254
If you’d rather define these options as Server options, replace the Set command with the following:
Set-DhcpServerv4OptionValue -DNSServer 192.168.0.1 -DNSDomain demo.servercore.net -Router 192.168.0.254
Authorizing DHCP Servers in Active Directory
Now, your DHCP Server may not be handing out IP information just yet. One reason for this is that your Server Core Domain Controller saw another DHCP Server on the network when it tried to activate its DHCP scope. Another situation might be that your Server Core Domain Controller is a member of an Active Directory domain and is not yet authorized in Active Directory to hand out IP addresses.
Note: DHCP Servers on Domain Controllers are authorized in Active Directory automatically.
To authorize your Server Core DHCP Server in Active Directory, use the following command:
Add-DhcpServerInDC -DNSName demo.servercore.net
DHCP Server High Availability through DHCP Scope Failover
Let’s get back to the failover DHCP scopes I mentioned earlier. Once again, this feature can be deployed through PowerShell as well as in the DHCP Server MMC Snap-in. I recommend using PowerShell in this case, however, since it’s harder to click the wrong buttons on the command line.
To use DHCP scope failover, you should have two Windows Server 2012 installations with the DHCP Server Role installed on them. It is recommended to make these two DHCP Servers members of the same Active Directory Forest to accommodate authentication and time synchronization. In this case, both DHCP Servers need to be authorized in Active Directory, and you should log on with domain admin credentials for these steps.
To explain how DHCP failover works, we will look at it in an example environment. Building upon the earlier example, two DHCP Servers named SC2 and SC3, with IP addresses 192.168.0.2 and 192.168.0.3, will host the (admittedly tiny) DHCP 192.168.0.10 to 192.168.0.250 scope. The two DHCP Servers will be configured in Load Balance mode, essentially creating an Active-Active configuration wherein both DHCP Servers serve client requests with 50%/50% load distribution percentages.
Configuring DHCP failover
Of course, SC2 is already configured with the DHCP scope. To configure DHCP failover for this scope, use the following commands on SC2:
Add-DhcpServerv4Failover -Name "Failover" -PartnerServer sc3.demo.servercore.net -ScopeId 192.168.0.0 -LoadBalancePercent 50 -SharedSecret "Passw0rd" -MaxClientLeadTime 2:00:00 -AutoStateTransition $true -StateSwitchInterval 2:00:00
To see statistics on the replication of the DHCP scope, use the following command:
Get-DhcpServerv4ScopeStatistics -ScopeID "Internal" -failover
The DHCP Server Server Role in Server Core installations of Windows Server 2012 is as full-fledged as on Server with a GUI installations. You can configure all the nitty-gritty DHCP Server configuration options straight from PowerShell or remotely through the Remote Server Administration Tools (RSAT) on either Windows 8 or Windows Server 2012 installations.
Windows Server 2012–based Server Core DHCP Servers offer the best DHCP Server performance of all Windows Server installations to date.