Novell Home

Using Multiple DHCP Servers in a Single Subnet

Novell Cool Solutions: Trench
By Karl Reischl

Digg This - Slashdot This

Posted: 29 Apr 2002
 

The situation:
I would like to put two DHCP servers on the same subnet to insure clients can always lease a valid address. I thought you could set servers to use different non-overlapping address ranges in the same subnet. But I can't find a way to actually do this in the DNS/DHCP management console.

I Found a TID that said to bring up a new DHCP server if the existing one fails. It also recommended setting the lease duration to at least twice the expected server down time so clients would not see the failure. While that is an easy thing to do, I would really like to avoid a manual recovery situation.

Are there any suggestions for running two DHCP servers on the same subnet for redundancy?

The solution:
The key requirement for this solution is to change a SAR (subnet address range) to be Dynamic DHCP (without BOOTP). You are then allowed to select a DHCP server for the SAR other than the default one for the subnet itself.

The "Default DHCP Server" for the subnet can be set to none.

In this scenario we will use a network that is configured with 3 subnets, say A, B and C.

4 DHCP servers, say DHCPSERVER1 - DHCPSERVER4. These are NetWare 5.1 servers and can have SP3 or higher.

On Subnet A: DHCPSERVER1 and DHCPSERVER2
On Subnet B: DHCPSERVER3
On Subnet C: DHCPSERVER4

Subnet configuration:

A = 10.10.x.x/16
  - with "subnet address range" (SAR) pools of
     * 10.10.10.1 - 10.10.25.254 pointing to server DHCPSERVER1
     * 10.10.26.1 - 10.10.40.254 pointing to server DHCPSERVER2
  - each of these SAR's are configured for a "Dyanmic DHCP" range type.

B = 10.20.x.x/16
  - with "subnet address range" (SAR) pools of
     * 10.20.10.1 - 10.20.25.254 pointing to server DHCPSERVER1
     * 10.20.26.1 - 10.20.40.254 pointing to server DHCPSERVER3
  - each of these SAR's are configured for a "Dyanmic DHCP" range type.

C = 10.30.x.x/16
  - with "subnet address range" (SAR) pools of
     * 10.30.10.1 - 10.30.25.254 pointing to server DHCPSERVER1
     * 10.30.26.1 - 10.30.40.254 pointing to server DHCPSERVER4

At this point each subnet has two SAR pools and each pool is configured to point to a specific server.

When you start the DHCP NLM on each Novell server, it will process the specific SAR(s) that it is configured for.

On the router for SUBNET B and SUBNET C, you need to add an "ip-helper" command that points to the DHCPSERVER1 on SUBNET A. This is where the redundancy and load balancing takes place.

If DHCPSERVER 2 or DHCPSERVER 3 goes down, the router will still process the DHCPREQUEST packet but send it to DHCPSERVER1 that is running on SUBNET A. The DHCP NLM will check it's SAR and assign the next available address from that SAR.

In the case of SUBNET A where I have two DHCPSERVERS on the same subnet you get both redundancy and load balancing since the DHCPREQEUST packet will process the first reply it gets.

For more information, see TID-10060959.

This tip was submitted by Karl Reischl. If you have questions for Karl, you can e-mail him at: kreischl@morainepark.edu


Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com

© 2014 Novell