|
|
Dynamic Host Configuration Protocol (DHCP) is an industry-standard protocol for automatic assignment of IP addresses and configuration information to computers. DHCP uses a client/server model for address allocation. As administrator, you can configure one or more DHCP servers to provide IP address assignment and other TCP/IP-oriented configuration information to your computers. DHCP frees you from having to assign an IP address to each client manually.
DHCP is specified by Internet Engineering Task Force (IETF) Requests for Comments RFC 1542, RFC 2131, and RFC 2132.
Table 6-1 lists the topics found in this chapter and their associated sections.
| If you want to... | Go to this section... |
|---|---|
Know more about Network Registrar DCHP methodology including information about scopes, policies,and options. | |
Know about how Network Registrar stores pending DNS update information on disk using the DHCP Event Service | |
Configure IP addresses for DHCP servers | |
Consider guidelines for lease times values you are defining | |
Create, delete or edit a policy for DHCP servers | |
Set DHCP option values, such as add, edit, or remove a policy's options | |
Set DHCP advanced parameters, such as number of DHCP responses and requests, UDP packet size, number of ping packets, ping queue timeout factor, other custom options and debug settings | |
Configure a second DHCP server or router to ensure failover | "Partitioning the Address Pool" section. In addition, see "Configuring DHCP Servers" later in this guide. |
For information about how to configure DHCP scopes, see the "Configuring DHCP Scopes" chapter later in this book.
The Network Registrar DHCP server provides you with a reliable method for automatically assigning IP addresses to hosts on your network. You can define DHCP client configurations, and use the Network Registrar database to manage assignment of client IP addresses and other optional TCP/IP and system configuration parameters. The TCP/IP parameters that can be assigned include:
The Network Registrar database is automatically created when you install the DHCP server software. You add data to the Network Registrar database through the graphical user interface (GUI) ntwkreg, or the command line interface (CLI) nrcmd, as you define DHCP scopes and policies.
To create a scope, supply the following information:
Every scope must have a policy. Policies are the way you define lease duration, gateway routers, and other configuration parameters, called DHCP options. You can define specific policies for specific scopes or you can use the system default policy. This section describes both the DHCP system default policy and user-defined policies you can use.
Policies are especially useful if you have multiple scopes, because you need only define a policy once and then you can use it for all the similar scopes in your network.
There are three types of policies: the system default policy, user-defined policies, and embedded policies.
When the server is getting ready to return option data to a client, Network Registrar examines up to seven policies in this order:
1. the client's embedded policy
2. the client's policy
3. the client's client-class's embedded policy
4. the client's client-class's policy
5. the client's lease's scope's embedded policy
6. the client's lease's scope's policy
7. the system default policy
The server looks through those policies for option data the client has asked for. For more information about how Network Registrar determines options at run-time, see the "Creating a New Policy" section.
| Option | Value |
|---|---|
all-subnets-local | FALSE |
arp-cache-timeout | 60 |
broadcast-address | 255.255.255.255 |
default-ip-ttl | 64 |
default-tcp-ttl | 64 |
dhcp-lease-time | 3600 |
ieee802.3-encapsulation | FALSE |
interface-mtu | 576 |
mask-supplier | FALSE |
max-dgram-reassembly | 576 |
non-local-source-routing | FALSE |
path-mtu-aging-timeout | 6000 |
path-mtu-plateau-tables | 68,296,508,1006,1492,2002,4352, |
perform-mask-discovery | FALSE |
router-discovery | TRUE |
router-solicitation-address | 224.0.0.2 |
tcp-keepalive-garbage | FALSE |
tcp-keepalive-interval | 0 |
trailer-encapsulation | FALSE |
Table 6-3 lists the options and values in the default policy.
| Option | Value |
|---|---|
dhcp-lease-time = | 3600 |
Configure DHCP options to supply configuration parameters automatically, such as the name of your domain, the name and IP address(es) of your domain name server(s), the IP addresses for routers on the client's subnet, and other attributes to DHCP server clients. For more information about DHCP options, see the "DHCP Options" appendix.
The Network Registrar DHCP server stores all pending DNS update information on disk. If DHCP cannot communicate with a particular DNS server, it periodically tests if communications have been re-established, and submits all pending updates when they have been updated. This test typically occurs once every 40 seconds until communication with DNS is reestablished.
When configuring a DHCP server, you must configure the server properties, policies, and dynamic DNS updates.
To configure the DHCP server, allow the Network Registrar DHCP to supply the information or you can supply it explicitly:
Network Registrar uses the distinguished interface named default to provide configurable default values for interfaces that the DHCP server discovers automatically. If you delete the default interface, the DHCP server uses hard-coded default values for port numbers and socket buffer sizes for the interfaces that it auto-discovers.
You can list the interfaces to provide either an explicit list of interfaces that the DHCP server should listen on, or an explicit list of interfaces that the DHCP server should not listen on.
If you enable discover-interfaces, the DHCP servers uses the OS platform support to enumerate all of the active interfaces on the machine, and (unless there is an interface configuration with the ignore feature enabled) attempts to listen on each of these.
If you disable discover-interfaces, the DHCP server consults the interface list for all interfaces that do not have the ignore feature enabled, and attempts to listen on each of these.
Step 1 From the DHCP Server Properties dialog box, select the General tab. (Figure 6-1) to specify general information about the DHCP server.

If you click Discover interfaces, the DHCP server finds all the interface cards on the host and processes DHCP requests that it receives from any of them. It will, however, only offer addresses to requests from subnets in which you have defined a valid scope with available addresses.
The DHCP Server Properties dialog box (Figure 6-1) displays the cluster name, which is the name of the cluster to which this server belongs. You can change the internal name of the DHCP server by deleting the current name and typing in a new name. The version number is the software release number of the Network Registrar DHCP server software.
The dhcp-interface command lets you add, remove, and list the IP addresses of your server's hardware cards (such as, Ethernet or Token Ring), also called NICs (Network Interface cards). Interfaces are named with the IP address and net mask for the physical device.
Use the dhcp-interface command to configure two different interfaces.
nrcmd> dhcp-interface 192.168.1.12/24 create nrcmd> dhcp-interface 10.1.2.3/24 create
To cause Network Registrar not to look at one interface, type the following. You must have created the interface specification before you can set it to be ignored.
nrcmd> dhcp-interface 10.1.2.3/24 set ignore=true
For more information about the dhcp-interface command, refer to Chapter 2 of the Network Registrar CLI Reference Guide.
To define appropriate values for lease times, you should consider the required network configuration information as well as the frequency of the following events for your network:
All of these events can cause IP addresses to be released by the client or can cause the leases to expire at the DHCP server. Consequently, the IP addresses are returned to the free-address pool to be reused.
If many changes occur on your network, you should assign a short lease time, such as four days (but you do not want to have the lease expire over a weekend which causes the DNS name to disappear and might cause performance problems). With a short lease time, the address assigned to a client that leaves the subnet can be reassigned quickly to new DHCP client computers requesting TCP/IP configuration information.
Another important factor is the ratio between connected computers and available IP addresses. For example, the demand for reusing addresses is low in a network where 40 systems share a C class address (with 254 available addresses). A long lease time, such as two months, would be appropriate in such a situation. If 240 to 260 computers can be connected at one time, the demand for leases will be high. In this situation you should try to configure more addresses. Until you do, keep the DHCP lease time to under a hour.
A policy may consist of the following components:
Step 1 From the DHCP Server Properties dialog box, select the Policies tab (Figure 6-2) to create a policy at the DHCP-server level and then allow a specific scope or scopes to reference it. In other words, you can have a separate policy for each scope or several scopes can share the same policy.

You use the policy create, set, enable, and delete commands to create, set, or delete a policy. Use the policy setOption and unsetOption to set or unset option values for a a policy.
To proceed with configuring policies, go to "Creating a New Policy" section.
Network Registrar has a system default policy that applies to all scopes. You get the default policy when you create a scope, unless you select or create your own policy. You can override the default policy's parameters in your own policy, that is, the more specific (scope) policy takes precedence when it contains information that is also in the more general (system default) policy.
Step 1 From the Server Manager window (Figure 2-3), select the DHCP server for which you want to create a policy.
Step 2 Click the Show Properties toolbar button.
Step 3 In the DHCP Server Properties dialog box, click the Policies tab (Figure 6-2).
Step 4 Click New.
Step 5 In the New Policy dialog box, enter the policy's name.
Step 6 Do one of the following:
Step 7 Click OK.
Step 8 In the Policies tab (Figure 6-2), configure the lease duration and grace period and select any options.
Step 9 Click OK.
Step 10 Click Close.
Use the policy create command to create the policy.
nrcmd> policy CompanyB create
Use the policy set command to set the appropriate policy options. For example:
nrcmd> policy CompanyB set grace-period=1d
Use the policy enable command to enable the permanent-leases feature.
nrcmd> policy CompanyB enable permanent-leases
See the Network Registrar CLI Reference Guide for more information about the policy command options.
Use the embedded client-class-policy, client-policy, or scope-policy commands to set an embedded policy option for a corresponding object. For example, to set an embedded scope policy that defines a router on the scope myscope, type:
nrcmd> scope-policy myscope setOption routers 204.253.96.180
For more information about embedded policies, refer to the Network Registrar CLI Reference Guide.
Step 1 From the Server Manager window (Figure 2-3), select the DHCP server whose policy you want to delete.
Step 2 Click the Show Properties toolbar button.
Step 3 In the DHCP Server Properties dialog box, click the Policies tab (Figure 6-2).
Step 4 Select the name of the policy you want to delete.
You should only delete a policy that is no longer in use.
Step 5 Click Delete.
Step 6 Click OK.
Use the policy delete command to delete a policy.
nrcmd> policy CompanyB delete
Step 1 From the Server Manager window (Figure 2-3), select the DHCP server whose policy you want to edit.
Step 2 Click the Show Properties toolbar button.
Step 3 In the DHCP Server Properties dialog box, click the Policies tab (Figure 6-2).
Step 4 Select the name of the policy you want to edit.
Step 5 Change the lease time, grace period, and click Edit options.
Step 6 In the Edit options dialog box, either add new options or edit existing options.
Step 7 If necessary, enter the option value.
Step 8 Continue adding or editing options.
Clicking another option submits the value of the current option.
Step 9 When you have made all the changes, click OK to save the changes.
Step 10 Click OK.
Step 11 Click Close.
Use the policy set command to change the value of a property. For example, to change the grace period from one day to two days, type:
nrcmd> policy CompanyB set grace-period=2d
You can set, unset, edit, and view individual option values. When you set an option value, the DHCP server replaces any existing value or creates a new one, as needed for the given option name. Network Registrar DHCP options are grouped into categories to aid you in identifying options that you must set in various usage contexts. The categories are:
For more information about DHCP options, see the "DHCP Options" section.
Step 1 From the Server Manager window (Figure 2-3), select the DHCP server to whose policy you want to add options.
Step 2 Click the Show Properties toolbar button.
Step 3 In the DHCP Server Properties dialog box, click the Policies tab (Figure 6-2).
Step 4 Select the policy you want to edit.
Step 5 Click Edit options.
Step 6 From the Available column, expand the category that contains the options you want to add.
Step 7 Select the option you want to add.
Step 8 Click Add.
When you add an option to the Active column, Network Registrar displays that option in bold in the Available column to indicate that is in use.
Step 9 Enter the appropriate value in the Option value(s) field.
Step 10 Repeat this procedure to continue adding options.
Step 11 Click OK.
Step 12 Click Yes to commit the changes to options for this policy to the database.
Step 13 Click Close.
You can set individual option values with the setOption command, unset option values with the unsetOption command, and view option values with the getOption and listOptions commands. When you set an option value, the DHCP server replaces any existing value or creates a new one, as needed, for the given option name.
Use the policy setOption command to add or edit an option. For example, to specify the lease time in a scope, type:
nrcmd> policy CompanyB setOption dhcp-lease-time 3600
The setOption command requires a space (noty an equal sign) before the property value.
To specify the subnet mask, type these two commands:
nrcmd> policy CompanyB setOption subnet-mask 255.255.255.0 nrcmd> dhcp set get-subnet-mask-from-policy true
Step 1 From the Server Manager window (Figure 2-3), select the DHCP server whose policy contains the options you want to edit.
Step 2 Click the Show Properties toolbar button.
Step 3 In the DHCP Server Properties dialog box, click the Policies tab (Figure 6-2).
Step 4 Select the policy you want to edit.
Step 5 Click Edit options.
Step 6 From the Active column, select the option you want to edit.
Step 7 Click Edit.
Step 8 Enter the new value in the Option value(s) field.
Step 9 Repeat this procedure to continue editing options.
Step 10 Click OK.
Step 11 Click Yes to commit the changes to options for this policy to the database.
Step 12 Click Close.
See the "Adding Options" section.
Step 1 From the Server Manager window (Figure 2-3), select the DHCP server whose policy contains the options you want to remove.
Step 2 Click the Show Properties toolbar button.
Step 3 In the DHCP Server Properties dialog box, click the Policies tab (Figure 6-2).
Step 4 Select the policy you want to remove.
Step 5 Click Edit options.
Step 6 From the Active column, select the option you want to remove from the policy.
Step 7 Click Remove.
Step 8 Repeat this procedure to continue editing options.
Step 9 Click OK.
Step 10 Click Yes to commit the changes to options for this policy to the database.
Step 11 Click Close.
Use the policy unsetOption command to remove an option from a policy. For example, to remove the dhcp lease time in a scope, type:
nrcmd> policy CompanyB unsetOption dhcp-lease-time
To remove the subnet mask, type:
nrcmd> dhcp unset get-subnet-mask-from-policy
or
nrcmd> dhcp set get-subnet-mask-from-policy false
If the value is false or the property is not set, then the server searches for the subnet-mask in the scope only.
For more information about how DHCP handles options, see Chapter 2 of the Network Registrar Concepts Guide.
Table 6-3 lists and describes advanced parameters you can set for DHCP servers. The remainder of this section explains how to use both the GUI and CLI to:
| Parameter | Description |
|---|---|
Controls the number of buffers DHCP allocates for responding to DHCP clients. If more packets arrive from clients than there are DHCP responses available to contain them, they are dropped. The values in this field control the peak load the server handles. Because the buffers are pre-allocated, however, there is an overhead associated with a large number of pre-allocated buffers. The default is 500. At least 100 buffers of each type should be allocated, and as many as several thousand would be reasonable in some installations. If you change the default, make sure that it matches the value you set for the number of requests. | |
Number of DHCP requests | Controls the number of buffers DHCP allocates for receiving packets from DHCP clients. If more packets arrive from clients than there are DHCP requests available to service them, the incoming packets will be dropped. The values in this field control the peak load the server handles. Because the buffers are pre-allocated, however, there is an overhead associated with a large number of pre-allocated buffers. |
Controls the maximum size of the packets the DHCP server will transmit. The packet size should be at least as large as the maximum DHCP packet the DHCP server should be expected to serve. It should not be smaller than 576, and it could be as large as the Maximum Transfer Unit of the networks on which the DHCP server operates. Do not use values over 2048. | |
Number of ping packets | If you enable "ping before offering," packet buffers are used to send and receive ICMP messages. If you have ping enabled, you should have enough ping packets allocated to handle the peak load of possible ping requests. For more information about ping before offering, see the "Checking Before Assigning Addresses" section |
Number of ping server threads | (NT 3.5.1 only) If you have ping enabled, you should have enough ping server threads allocated to handle the peak load of possible ping requests. |
(NT 3.51 only) In each scope there is a ping timeout number, which is the number of milliseconds that the ping subsystem waits for the ping to respond. The pings should all time out, and so the system will wait, in general, the entire time-out time for each ping. The server also waits for the ping subsystem to time out, and the timeout the subsystem uses is a multiple of the ping timeout value in the scope. The ping queue timeout factor value is the multiple that it waits. The default is 75 seconds. For more information about how to use ping, see the "Checking Before Assigning Addresses" section. | |
When the DHCP server is running, it records information in what is known as the state in the database. This information includes the current leases. When you start the server, Network Registrar examines information from the previously current state to update its in-memory cache. It then writes new information to the state as necessary. Use this value to adjust how many of the most recent old states Network Registrar keeps. The system default is 5. | |
Controls whether the DHCP server sends unicast rather than broadcast responses when a client indicates that it can accept a unicast. This feature may not be available on all platforms. | |
Controls whether the DHCP server uses the source address of the packet, if it is non-zero, in lieu of the giaddr field. Note that the DHCP server uses this feature only for DHCP packets, not BOOTP packets. The default is enabled. | |
Controls whether or not the DHCP server extends leases that are less than half expired. The default is disabled, which means that the DHCP server will always extend leases (except in the first 30 seconds) to accommodate protocol retries. | |
Specifies the number of seconds Network Registrar guarantees that the last transaction time is accurate. The default is 30 seconds. Do not set it lower than 30 seconds. For optimal performance set it to a value that is greater than half your lease interval. |
The Advanced tab contains the advanced parameters fields, and the Custom options, and Debug settings buttons as shown in Figure 6-3.
Step 1 From the Server Manager window (Figure 2-3), select the DHCP server for which you want to enable or disable advanced parameters.
Step 2 Click the Show Properties toolbar button.
Step 3 From the Advanced tab, enter the field settings to modify the settings shown.
Refer to Table 6-3 for guidelines on setting the advanced parameters that are accessible from the Advanced Tab.
Step 4 Click Enable Unicast if you want the DHCP server to sends unicast rather than broadcast responses when a client indicates that it can accept a unicast. This feature may not be available on all platforms.
Step 5 Click Cisco DHCP Proxy if you want to control whether the DHCP server uses the source address of the packet, if it is non-zero, in lieu of the giaddr field.
Step 6 Click Defer Lease Extensions if you want to control whether or not the DHCP server extends the lesses that are less than half expired.

You use the dhcp commands set, get, unset, and show to assign and retrieve values from the DHCP's name-value properties. Refer to Table 6-3 for guidelines on setting the advanced parameters. You can set the following parameters:
nrcmd> dhcp set max-dhcp-responses=400
nrcmd> dhcp set max-dhcp-requests=400
nrcmd> dhcp set max-ping-packets=250
nrcmd> dhcp enable hardware-unicast
nrcmd> dhcp enable cisco-dhcp-proxy
nrcmd> dhcp enable defer-lease-extensions
nrcmd> dhcp set last-transaction-time-granularity=1800
In addition to assigning values to pre-defined DHCP options, you can create your own options. These options are called custom options.
You can add, edit, or delete a custom option. To add a custom option to a specific policy, and to assign or edit its value in that policy, follow the same procedure as for other DHCP options. For more information about adding DHCP options to policies, see the "Adding Options" section.
Step 1 From the Server Manager window (Figure 2-3), select the DHCP server for which you want to create a custom option.
Step 2 Click the Show Properties toolbar button.
Step 3 From the Advanced tab, click Custom Options.

Step 4 Click Add.
Step 5 In the Add Custom Option dialog box, select an option number from the drop-down list box.
Step 6 Type a name in the Option Name field.
Step 7 From the drop-down list box, select an option type.
Step 8 Check the Data is Array? check box if applicable.
Step 9 Type an optional description in the Option Description box.
Step 10 Click OK to finish or Apply to continue adding custom options.
After you have defined a custom option, Network Registrar displays it in the Policies tab, Edit Options window under the Custom category.
Use the custom-option create command to create a custom option. For example, to create the option red, mapped to number 100, and of type IPADDR, type:
nrcmd> custom-option red create 100 IPADDR
Do not map numbers to custom options that are already used by DHCP or BOOTP options. For a complete list of pre-assigned numbers, see Appendix D of the Network Registrar CLI Reference Guide. You should also remember to set the option number to the same number that the client is going to ask for.
Use the custom-option set command to change the option's description. For example, change the description to "This option applies to all external users," type:
nrcmd> custom-option red set desc="This option applies to all external users"
You cannot change an option's number, but you can delete the option and recreate it. Also, use caution when changing any properties except the description. Changing an option's property can have unexpected side-effects if the option is used in any policies.
Exercise caution when changing any properties except the description. Changing an option's properties can have unexpected side-effects if the option is used in any existing policies.
Step 1 From the Server Manager window (Figure 2-3), select the DHCP server whose custom option you want to edit.
Step 2 Click the Show Properties toolbar button.
Step 3 From the Advanced tab, click Custom Options (Figure 6-4).
Step 4 From the Custom Options dialog box, select the option number that you want to edit.
Step 5 Click Edit.
Step 6 From the Edit Custom Option dialog box, make any changes to the Option Name, Option Type, and/or Option Description fields.
Step 7 Click OK.
nrcmd> custom-option red set desc="This option applies to all external users"
You cannot change an option's number, but you can delete the option and recreate it.
Step 1 From the Server Manager window (Figure 2-3), select the DHCP server whose custom option you want to remove.
Step 2 Click the Show Properties toolbar button.
Step 3 From the Advanced tab, click Custom Options (Figure 6-4).
Step 4 From the Custom Options dialog box, select the option number that you want to remove.
Step 5 Click Remove.
Network Registrar removes the option name for that option, which indicates that the option is unassigned. Exercise caution when removing an option, because doing so does not remove an option from existing policies. To remove an option from a policy, see the "Removing Options" section.
Use the custom-option delete command to delete an option. For example, to delete the custom option red, type:
nrcmd> custom-option red delete
After you have deleted a custom option, use the policy setOption, unsetOption, getOption, and listOptions commands to associate options with policies, and to manipulate or display their values. See the Network Registrar CLI Reference Guide for more information about the policy commands.
Step 1 From the Server Manager window (Figure 2-3), select the DHCP server whose custom option you want to display.
Step 2 Click the Show Properties toolbar button.
Step 3 From the Advanced tab, click Custom Options (Figure 6-4).
Step 4 From the Custom Options dialog box, select the option number that you want to view.
Step 5 Click Edit and make the desired changes.
Step 6 Click OK.
After you have defined a custom option, you can use the show command to display the values of all the custom options properties, or the get command to display individual properties. For more information about these options, see the "Setting DHCP Options" section earlier in this chapter.
Use the custom-option show command to show an option's values. For example, to show the custom option red, type:
nrcmd> custom-option red show
Use the custom-option list command to list options.
nrcmd> custom-option list
The Debug Settings option lets you collect debug information about the server. You should only need to set debug settings if you have been instructed by Technical Support.
Step 1 From the Server Manager window (Figure 2-3), select the DHCP server for which you want to set debug.
Step 2 Click the Show Properties toolbar button.
Step 3 From the Advanced tab, click Debug Settings (Figure 6-3).
Step 4 From the Debug settings dialog box, click the Enable Debug button.

Step 5 Type in the category as supplied by Technical Support.
Step 6 Select the output destination: console sends the output to the server console, and MLOG sends the output to the Network Registrar's logging facility.
MLOG is the recommended choice.
Step 7 Click OK.
You should only need to set debug settings if you have been instructed by Technical Support.
Use the server command to specify the debugging level. The following example provides packet trace logging.
nrcmd> server DHCP setDebug VX=5
Use the server command to unset debugging.
nrcmd> server DHCP unsetDebug
You probably should install more than one DHCP server so that if one server fails, the DHCP clients can continue to obtain IP addresses. Because the DHCP protocol does not provide a way for DHCP servers to cooperate in ensuring that assigned addresses are unique, you must divide the IP address pool among the DHCP servers to prevent duplicate address assignment.
For more information about how to set up DHCP failover servers, see the "Configuring Failover" chapter later in this guide.
You can configure two DHCP servers to distribute the load and handle the leases if the first DHCP server goes down. You must configure the second DHCP server on a different cluster than the first server.
After you have set up both servers, the local DHCP server will respond to requests from local DHCP clients most of the time, while the remote DHCP server will assign addresses to clients on the other subnet only when the local server is unavailable or without addresses.
Any router that supports BOOTP relay usually has an IP address that points to the DHCP server. For example, if you are using a Cisco router, it uses the term ip helper-address, which contains an IP address for a specific machine. In this case, you would use this address to forward all BOOTP (and therefore DHCP) broadcast packets. You should make sure that you have configured this address on the router closest to your desktop machine.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Posted: Thu Nov 18 13:40:06 PST 1999
Copyright 1989-1999©Cisco Systems Inc.