cc/td/doc/product/rtrmgmt/ciscoasu/nr/nr_2_5
hometocprevnextglossaryfeedbacksearchhelp
PDF

Table of Contents

Configuring DHCP

Configuring DHCP

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.

This chapter describes the following topics:

Overview of DHCP

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.

Scopes

A scope is an administrative grouping of TCP/IP addresses with associated information about those addresses. You must define a scope before DHCP clients can use the DHCP server for dynamic TCP/IP configuration.

To create a scope, supply the following information:

Policies

Every scope must have a policy. Policies are the way you define lease duration and other configuration parameters, called DHCP options. You can define specific policies for specific scopes or you can use the system default policy. For more information about the system default policy, see the "DHCP Policies" appendix.

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.

Types of Policies

There are two types of policies: the system default policy and user-defined policies.

Network Registrar checks the policies when a client requests an option. It begins with the user-defined policy associated with the scope, and if it has not found the answer it checks the system default policy. For more information about how Network Registrar determines options at run-time, see the "Creating a New Policy" section later in this chapter.

DHCP Options

Configure DHCP options to supply configuration parameters automatically, such as the name of your domain, the name and IP address of your domain name server, 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.

Client-Class

Use the Network Registrar client or client-class facility to provide differentiated services to users accessing a common network. You can group your user community based on administrative criteria, and then ensure that each group of users receives the appropriate class of service when they access the network.

Although the Network Registrar client-class facility can be used to control any configuration parameter, it is most commonly used to control the following:


Note All parameters that can be controlled for a class can also be controlled individually for a given client.

DHCP Request Processing

In order to understand how to apply client-class processing, it is helpful to know how the DHCP server handles client requests.

When a client requests an IP address from its DHCP server, the server performs three tasks:

To choose an address for the client, the DHCP server determines the client's subnet (based on the request packet contents), and finds an appropriate scope for that subnet.

If you have multiple scopes on one subnet, or multiple scopes on several IP subnets (multinetting), the DHCP server may choose among these scopes in a round-robin fashion. After the server has selected a scope, it then chooses an available IP address from that scope.

DHCP provides a framework for passing configuration information to hosts on a TCP/IP network. These configuration parameters are called DHCP options.

After the DHCP server has selected an IP address for the requesting host, it needs to supply the appropriate options. Network Registrar uses policies to group options. There are two types of policies: scope-specific and system default.

For each DHCP option the client requests, the DHCP server searches for the value of that option. If the scope-specific policy contains the option, it returns the value to the host and stops searching. If the scope-specific policy does not contain the option, the DHCP server looks in the system default policy. If the system default policy contains a value for that option, it returns the value and stops searching. If neither policy contains the option, the DHCP server returns no value to the client and logs an error. The DHCP server repeats this process for each of the requested options.

For example, if a host requests options A, B, and C, and the scope-specific policy contains a value for option A and the system default contains a value for option A and B, the host gets the value for option A from the scope policy, the value for option B from the system policy, and an error because there is no value for option C.

If you have enabled dynamic DNS update, Network Registrar enters the client's name and address in the DNS host table. The client's name can be one of the following:

You can accept the default client name, or configure another. For more information about using a prefix, see the "Configuring for the Scope" section later in this chapter.

Client-Class Quality of Service

With normal DHCP processing, you cannot ensure that requesting hosts receive the appropriate class of service. You only can provide them with a suitable IP address based on their subnet. The Network Registrar client-class facility allows you to fine-tune host access.

Use the client-class facility to control the IP address a client receives, the type of DHCP options, the policy, or the FQDN. You can configure any of these features independently or in conjunction with each other.

To use the client-class facility for IP address selection, first create scope selection tags. These are text strings that you use to distinguish types of service. For example, if you wanted to divide your user community into users who could access the Internet (who receive valid IP addresses) and users who are restricted to the in-house network (who receive private IP addresses, such as net10 addresses), you could create the scope selection tags internal and external. For more information about defining scope selection tags, see the "Defining Scope Selection Tags" section later in this chapter.

After you create scope selection tags, associate them with the corresponding scopes. To continue the above example, you would associate the internal scope selection tag with scopes that contained private addresses, and the external scope selection tag with scopes that contained valid IP addresses. For more information about how to add selection tags to scopes, see the "Choosing Scope Selection Tags" section later in this chapter.

You then could assign all your clients to either include or exclude the appropriate selection tags or you could create two classes of users to group your user community into categories. For example, you could create a client-class called internal-users and include the scope selection tag internal and exclude the tag external, and the client-class external-users and include the scope selection tag external and exclude the tag internal. For more information about how to apply the scope selection, see the "Editing Scope Selection Criteria" section later in this chapter.

If you are using client-classes, the next step is to assign clients to these classes. For example, you would enter the names (MAC addresses) of all the users who were restricted to the internal network into the client-class internal-users, and all the users who could access the Internet into the client-class external-users. For more information about how to add clients, see the "Adding a Client" section later in this chapter.

DHCP Request Processing with Client-Class

When you have enabled the client-class facility for the Network Registrar DHCP server, the request processing performs the same three tasks of assigning IP addresses, options, and domain names, but with differences.

Assigns an IP Address

To choose an address for the client, the DHCP server determines the client's subnet just as in regular DHCP processing. The DHCP server then checks to see if there is a client entry for the user in its database:

The scopes must have addresses on the client's subnet, and can include secondary subnets. The scopes must have all the selection tags in the inclusion list, and have none of the selection tags in the exclusion list. The DHCP server assigns an available IP address from an appropriate scope, and uses a round-robin approach if there are several appropriate scopes.

Assigns DHCP Options

In regular DHCP processing there were two policies to check, with client-class there may be as many as four:

The DHCP server checks each of these policies and uses the first value it finds. If the DHCP server cannot find the value for the requested option in any of these policies, it returns an error. The DHCP server repeats this process for each client-requested option.

Assigns FQDN and Updates DNS

If you have enabled dynamic DNS updates, Network Registrar updates the DNS server with the client's host name and IP address. When using the client or client-class facility, specify one of the following options:

For more information about the different types of host names that you can specify, see the "Adding a Client-Class" section later in this chapter.

Configuring DHCP Servers

When configuring a DHCP server, you must configure the server properties, policies, and dynamic DNS updates.

Configuring IP Addresses

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.

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 server 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.

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
 

Configuring Policies

DHCP policies are a way of grouping attributes. 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.

A policy consists of the following components:

Guidelines for Lease Times

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.


Note Short lease durations require that the DHCP server be available when the client seeks to renew the lease. Backup servers are especially important if you have specified short lease durations.

Although you can create policies that have permanent leases, you should use them carefully. Even in a relatively stable environment, there is a certain amount of turnover among clients. At a minimum, portable computers might be added and removed; desktop computers might be moved from one office to another; and network adapter cards might be replaced. If a client with a permanent lease is removed from the network, the IP address cannot be reused until the server is reconfigured. A better option would be to create a lease with a long duration, such as six months. A long lease duration ensures that addresses are ultimately recovered without administrator intervention.

Creating a New Policy

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. For more information about the system and scope default policies, see the "DHCP Policies" appendix.

Step 1 Use the policy create command to create the policy.

nrcmd> policy CompanyB create
 

Step 2 Use the policy set command to set the appropriate policy options. For example, to set the grace period to one day, type:

nrcmd> policy set CompanyB grace-period=1d

Setting a Policy with Permanent Leases

Use the policy enable command to enable the permanent-leases feature.

nrcmd> policy CompanyB enable permanent-leases

Deleting an Existing Policy

Use the policy delete command to delete a policy.

nrcmd> policy CompanyB delete

Editing a Policy

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

Adding Options

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 (not an equal sign) before the property value.


Note For a list of all the DHCP options that you can configure, type the nrcmd command help dhcp-option.

Removing Options

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
 

For more information about how DHCP handles options, see the "DHCP Request Processing" section earlier in this chapter.

Defining Dynamic DNS Update Support

If you plan to use dynamic DNS update, you must configure both the DHCP and DNS servers. For more information about dynamic DNS update, see the "Configuring Dynamic DNS Update" section later in this chapter.

You do not need to change the following parameters; they are described here for your reference:

Use the dhcp command to set the max-dns-packets property.
nrcmd> dhcp set max-dns-packets=400
 
Use the dhcp command to set the max-dns-retries property.
nrcmd> dhcp set max-dns-retries=6
 
Use the dhcp command to set the max-dns-renaming-retries property.
nrcmd> dhcp set max-dns-renaming-retries=6
 
Use the dhcp command to set the dns-timeout property.
nrcmd> dhcp set dns-timeout=3600
 
Use the dhcp command to set the max-dns-ttl property.
nrcmd> dhcp set max-dns-ttl=3600

Defining Scope Selection Tags

The scope-selection-tag command lets you define tags that are added to the scope selection tag list. After you have defined scope selection tags, you can associate them with scopes, clients, and client-classes.


Note If you delete a selection tag, Network Registrar removes it from the selection tag list, but does not remove it from any existing scope, client, or client-class configurations

You use client-classes by doing the following tasks:

Enabling Client-Class

To use client-class, you must enable it for the DHCP server. Enabling client-class processing causes the DHCP server to assign the client to an IP address from a matching scope. For every DHCP packet the server receives, it examines the client and the client-class information, and determines if this client has any stored information. If it does, the server acts on the information. If not, the processing continues just as if it were not enabled.

If you do not enable client-class processing, the Network Registrar DHCP server provides client leases based solely on their location in the network.

Use the dhcp command client-class feature to enable client-class processing.

nrcmd> dhcp enable client-class

Adding a New Scope Selection Tag

Network Registrar lets you add up to 30 scope selection tags. When the DHCP server configures itself, it checks the number of scope selection tags defined for any network. A network in this context is the aggregation of all of the scopes that are related to a particular subnet. This includes all of the scopes that belong together (because they share a common network number and subnet mask) and all of the scopes that are related to one of these through the use of the primary scope reference. Thus, within all of the scopes that make up a network, there can be no more than 30 scope selection tags.

When the DHCP server reads a client entry (from the local database or from LDAP), the server checks its scope selection inclusion and exclusion criteria against the scope selection tags defined for the scopes on this network. If the client entry references tags that are not present in any scope in the network, then how the server handles the tags depends on whether the reference is to included or excluded tags. If the reference is for excluded tags, then the tag will have no effect. If the reference is for included tags, then the server determines that there is no acceptable scope on that network for this client.

Use the scope-selection-tag create command to create a selection tag.

For example, to create the tag internal type:

nrcmd> scope-selection-tag internal create
 

To debug selection tags you can use the dhcp command log-settings properties, particularly client-criteria-processing and unknown-criteria. For more information, see the Network Registrar CLI Reference Guide.

Deleting a Scope Selection Tag

Use the scope-selection-tag delete command to delete a selection tag. For example, to delete the selection tag internal, type:

nrcmd> scope-selection-tag internal delete

Listing Scope Selection Tags

Use the scope-selection-tag list command to list selection tags.

nrcmd> scope-selection-tag list

Displaying Client-Classes

The client-class command allows you to create client-classes and apply a set of properties to groups of clients.

Adding a Client-Class

Use the client-class create command to create a client-class. For example, to create the client-class internal-users, type:

nrcmd> client-class internal-users create
 

Note Client-class names are case sensitive. When referencing a client-class, type the name just as it was created.

Editing Client-Class Scope Selection Criteria

Use the client-class set command to set the inclusion scope selection criteria. For example, to include the scope selection tag internal in the client class internal-users, type:

nrcmd> client-class internal-users set selection-criteria=internal
 

Use the client-class set command to set the exclusion scope selection criteria. For example, to exclude the previously created scope selection tag external in the client class internal-users, type:

nrcmd> client-class internal-users set selection-criteria-excluded=external
 

Network Registrar handles inclusion and exclusion for the applicable subnet in the following manner:

For example, assume three scopes, A, B, and C, with the following attributes A/red, B/blue, C/blue,green. If a client-class specified inclusion of red, then the client would get an address from scope A. If a client-class specified inclusion of blue, then the client would get an address from either scope B or C. If a client-class specified inclusion of blue and exclusion of green, then the client would get an address from scope B.

Removing a Client-Class

Use the client-class delete command to delete a client-class. For example, to delete the client-class internal-users, type:

nrcmd> client-class internal-users delete
 

To debug client problems, you can use the dhcp command log-settings properties, particularly client-detail. For more information, see the Network Registrar CLI Reference Guide.

Editing a Client-Class

Use the client-class set command to edit the properties of the clients. For example, to change the policy that the client-class uses, type:

nrcmd> client-class internal-users set policy-name=long
 

Displaying Clients

When you create clients, specify their MAC address, the client-class to which they belong (if any), the host name, domain name, the policy, and the action properties for all the clients in the cluster.

Adding a Client

A client inherits the properties from its client-class, which you may choose to override or supplement by specifying different ones for the client.

Step 1 Use the client create command to create a client.

Specify the client by MAC address.

nrcmd> client 1,6,02:02:02:02:02:02 create
 

Step 2 Use the client set command to set the following client properties:

For example, to set the policy, type:

nrcmd> client 1,6,02:02:02:02:02:02 set policy-name=CompanyB

Listing a Client

Use the client show command to display properties of a specific client. For example, to display the client 1,6:03:03:03:03:03:03, type:

nrcmd> client 1,6:03:03:03:03:03:03 show

Listing all Clients

Use the client list command to display properties for all the clients.

nrcmd> client list

Editing Scope Selection Criteria

Use the client set command to set new scope selection criteria. The tags must already have been created with the scope-selection-tag command.

nrcmd> client 1,6,02:02:02:02:02:02 set selection-criteria=laptop
 

Editing a Client

Use the client set command to change the value of a property. For example to change the client's client-class-name, type:

nrcmd> client 1,6:03:03:03:03:03:03 set client-class-name=external-users

Removing a Client

Use the client delete command to delete a client.

nrcmd> client 1,6:03:03:03:03:03:03 delete

Moving a Client to Another Subnet

If you move a DHCP client machine from one subnet to another, you need either to reboot the machine when it arrives on the new subnet, or explicitly release and reacquire a lease using winipcfg.exe (for Windows 95), or ipconfig /release and ipconfig /renew (for Windows NT). You must do this because until the lease expires on the machine that was moved, it will be using an IP address that is incorrect for the network on which it is placed. You are most likely to see this situation when you move laptop computers.

Defining Advanced Parameters

You can use the dhcp commands set, get, unset, and show to assign and retrieve values from the DHCP's name-value properties. You can set the following parameters:

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.
Use the dhcp set command to set the max-dhcp-responses property.
nrcmd> dhcp set max-dhcp-responses=400
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 responses.
Use the dhcp set command to set the max-dhcp-requests property.
nrcmd> dhcp set max-dhcp-requests=400
 
Use the dhcp set command to set the max-ping-packets property.
nrcmd> dhcp set max-ping-packets=250
 
Use the dhcp enable command to enable the hardware-unicast feature.
nrcmd> dhcp enable hardware-unicast
 
Use the dhcp enable command to enable the cisco-dhcp-proxy feature.
nrcmd> dhcp enable cisco-dhcp-proxy
 
Use the dhcp enable command to enable the defer-lease-extensions feature.
nrcmd> dhcp enable defer-lease-extensions
 
Use the dhcp set command to set the last-transaction-time-granularity.
nrcmd> dhcp set last-transaction-time-granularity=1800
 

Custom Options

In addition to assigning values to pre-defined DHCP options, you can also create your own options. These options are called custom options.

You can add, edit, or delete a custom option. After you have defined a custom option, use the policy setOption, unsetOption, getOption, and listOptions commands to associate options with policies, and to manipulate or display their values.

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 
 

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.

Use the custom-option delete command to delete an option. For example, to delete the custom option red, type:

nrcmd> custom-option red delete

Note When you remove a custom option, Network Registrar does not automatically remove it from the policies that reference it. Remove the option from its associated policies. For more information about removing options from policies, see the
"Removing Options" section earlier in this chapter.

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 "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

Debug Settings

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

Note After enabling the debug settings, if you reboot the server, Network Registrar disables debug. You must enable the debug settings again.

Use the server command to unset debugging.

nrcmd> server DHCP unsetDebug

Partitioning the Address Pool

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.

Configuring a Second DHCP Server

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.

Configuring Routers

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.


Note If your clients are not receiving IP addresses, it may be that the router is configured with another DHCP server, which means that the Network Registrar DHCP server cannot see it. If this is the case, you should configure a second helper address to make sure that the Network Registrar DHCP server has an opportunity to respond to the packets as well as the other DHCP server.

Configuring BOOTP

BOOTP (BOOTstrap Protocol) was originally created for loading diskless computers. It was later used to allow a host to obtain all the required TCP/IP information to use the Internet. BOOTP allows a host to broadcast a request onto the network, and obtains information required from a BOOTP server. The BOOTP server is a computer that listens for incoming BOOTP requests and generates responses from a configuration database for the BOOTP clients on that network. BOOTP differs from DHCP in that it has no concept of lease or lease expiration. All IP addresses allocated by a BOOTP server are permanent. You can configure Network Registrar to act like a BOOTP server. In addition, although BOOTP normally requires static address assignments, you can choose to either reserve IP addresses (and therefore use static assignments) or have IP addresses dynamically allocated for BOOTP clients. When you move or decommission a BOOTP client, you can reuse its lease, simply by using the lease force-available command.

Configuring a BOOTP Packet

When you configure the DHCP server to return a BOOTP packet, be aware that BOOTP requires information in the DHCP packet in fields other than the option space. BOOTP devices often need information in the file (the bootfile), siaddr (the server's IP address), or sname (server's host name) fields of the DHCP packet (see RFC 2131).

Every Network Registrar DHCP policy has fields that allow you to configure the information you want returned directly in the file, siaddr, or sname fields.

Network Registrar's DHCP server also supports a configuration parameter that allows you to configure the policy options and determine which of the fields' file, sname, or siaddr you want returned to the BOOTP device.

Network Registrar supports an analogous configuration parameter that allows you to configure which options and which of the fields: file, sname and siaddr you want returned to the DHCP client. This is in addition to any options requested by the DHCP clients in the dhcp-parameter-request option in the DHCP request.

Thus, you can configure both the BOOTP and DHCP response packets appropriately for your devices.

Step 1 Decide the values that you want in the BOOTP packet reply fields:

Step 2 Decide the list of options and their values that you want returned to the BOOTP client.

Step 3 Set the following values in the policy you want associated with the BOOTP request:

Step 4 Enable the associated scope or scopes for BOOTP processing.

Enable dynamic BOOTP processing if you want to have this scope provide an address for any BOOTP client that requests one. If you do not enable dynamic BOOTP, you will need to make reservations for each BOOTP client for which you want this scope to provide an address.

Configuring a BOOTP Packet Example

Step 1 Set the policy fields.

Specify the boot-reply options as a comma-separated list of strings. Specify the name of the option or field. The options have regular names, whereas the fields have names such as packet-siaddr, packet-file-name, and packet-server-name.

nrcmd> policy MyPolicy create
nrcmd> policy MyPolicy set packet-siaddr=192.168.1.5
nrcmd> policy MyPolicy set packet-file-name=mybootfile.bin
nrcmd> policy MyPolicy set packet-server-name=<your-sname>
nrcmd> policy MyPolicy set bootp-reply-options=packet-siaddr, packet-file-name,domain-name,domain-name-servers
 

Step 2 Set the correct option values.

The setOption method requires spaces (not equal signs) before values.

nrcmd> policy MyPolicy setOption <your-options> <option-value>Enable BOOTP
nrcmd> scope MyScope enable bootp
 

Step 3 Enable BOOTP.

nrcmd> scope MyScope enable bootp

Step 4 Enable dynamic BOOTP.

nrcmd> scope MyScope enable dynamic-bootp

Configuring MCNS Modems

Multimedia Cable Network Systems (MCNS) is a standard for cable modems that is part of the Data Over Cable System Interface Specifications (DOCSIS) effort. MCNS requires that the cable modem use DHCP to get its start-up parameters, and then download more detailed configuration through TFTP. The DHCP parameters must include the address of the TFTP server, among other information.

To configure the Network Registrar policies to support MCNS cable modems, set the packet-siaddr property, the packet-file-name property, the Security Server option (if any), and the required options (if any). Set the packet-siaddr to the IP address of the TFTP server and the packet-file-name to the boot file that the cable-modem will download from the TFTP server. The Security Server is an optional part of the MCNS specification.

Configuring MCNS Modems Example

Step 1 Configure the boot file.

nrcmd> policy MyPolicy set packet-file-name=<myfile>

Step 2 Configure the TFTP server's IP address.

In this example, the TFTP server's IP address is 204.253.96.115.

nrcmd> policy MyPolicy set packet-siaddr=204.253.96.115
 

Step 3 Configure the Security Server option.

In this example, the Security Server has the same IP address as the TFTP server.

nrcmd> policy MyPolicy setOption mcns-security-server 204.253.96.115
 

Step 4 Require that the Security Server, packet boot-file, and packet siaddr options be returned, even if the cable modem did not request them.

nrcmd> policy MyPolicy set dhcp-reply-options=mcns-security-server, packet-file-name,packet-siaddr

Using an LDAP Server

The Lightweight Directory Access Protocol (LDAP) lets you use directory services to integrate Network Registrar client and lease information. By building on your existing standard schema for objects stored in LDAP directories, you can handle information about DHCP client entries. Thus, instead of maintaining client information in the DHCP server's database, you can ask the Network Registrar DHCP server to issue queries to one or more LDAP servers for information in response to DHCP client requests.

After the Network Registrar DHCP server has given a client a lease, you can have that lease-state data written back to your LDAP server. Thus, you can store information such as the client's host name, the machine's MAC address, the state of the lease, and when the lease expires. Since a copy of this information is in a central place (your LDAP server), you can run queries to monitor your IP address usage or the state of your leases.

You can configure multiple independent LDAP servers that the Network Registrar DHCP server can use in preference order (for failover protection), or in round-robin fashion (for load balancing).

Configuring LDAP Attributes

LDAP directory servers provide a way to name, manage, and access collections of attribute-value pairs. LDAP servers consist of entries that hold information about some thing or concept, such as a person or organization. Every entry in an LDAP server belongs to one or more object classes. The object class defines the attributes and their associated valid values. For example, the person object class might have an attribute to hold a person's Social Security number, which would be single-valued; or an attribute to hold a telephone number, which would ignore spaces and dashes. The schema defines an entry's valid attributes and their values. You can turn off schema checking if you want to use the attributes to hold other values. Or, you can change the schema by adding new object classes to an entry.

Configuring Network Registrar Client Attributes

To use your LDAP server for DHCP queries, enter the MAC addresses of all your clients. You can optionally enter any other information on a per-client basis, such as a unique host name or if you are using client-class---exceptions to the client's client-class definition.

Any of the DHCP client-entry attributes that you can configure through Network Registrar can be stored in the LDAP server. All these attributes are of the type string.

For more information about these attributes, see the Network Registrar CLI Reference Guide.


Note Network Registrar is only able to read individual client-entries using LDAP. Create client-classes and the `default' client-entry in the server's local database using the Network Registrar graphical user interface (GUI) or the command line interface (CLI).

Configuring Your LDAP Server

You can enter information into your LDAP server in any number of ways, because Network Registrar is not dependent on any specific LDAP object classes or schema:

When you configure the DHCP server to read from LDAP, a query dictionary tells the DHCP server which LDAP attributes to query for. The DHCP server converts the resulting data into DHCP client-data attributes.

Configuring an LDAP Client Entry

The following example (Table 4-1) assumes you have entered the DHCP client data into the standard LDAP organizational person object class attributes.


Table 4-1: LDAP-to-DHCP Mapping, Example 1
LDAP Attribute DHCP Client Entry

common name

MAC address

givenname

client-class-name

localityname

domain-name

surname (sn)

host-name

To enable the DHCP server to query your LDAP server for client data, perform the following steps. Like local client-entries, LDAP client-entries are keyed by the client's MAC address. For more information about the MAC address format, see the Network Registrar CLI Reference Guide.


Note When connecting to an LDAP server, specify the user's distinguished name. The
distinguished name is the way to uniquely identify an object in the LDAP schema. It is like a unique key in a database or a fully qualified path name for a file. For example a distinguished name for a person might be dn: cn=Beth Jones, ou=Marketing, o=Sample Corporation. In this company there may be many people named Beth and many people named Jones, but no one else named Beth Jones works in Marketing at Sample Corporation.

Step 1 Tell DHCP about your LDAP server.

Supply a host name. The following example creates the LDAP server object myserver with a host name of myserver.american.com.

nrcmd> ldap myserver create myserver.american.com
 

Step 2 Configure the credentials to use when connecting to the LDAP server.

The following example sets the admin to be joe and his password to be access. Use the distinguished name for the user.

nrcmd> ldap myserver set username="cn=joe, o=Sample Corp, c=US"
nrcmd> ldap myserver set password=access
 

Step 3 Set the search-path.

This is a point in the directory from which to start searches. The following example sets the base of the search to be the organization, Sample Corp., and the country, US.

nrcmd> ldap myserver set search-path="o=Sample Corp, c=US"
 

Step 4 Set the search-filter to be the attribute for which DHCP will substitute the clients' MAC addresses.

In this example the attribute is the common name (cn).

nrcmd> ldap myserver set search-filter=(cn=%s)
 

Step 5 Configure a query-dictionary, which contains all the LDAP-to-DHCP mappings.

Use the setEntry command to set these mappings.

    nrcmd> ldap myserver setEntry query-dictionary
    sn=host-name


    nrcmd> ldap myserver setEntry query-dictionary givenname=client-class-name
     
    
    nrcmd> ldap myserver setEntry query-dictionary localityname=domain-name
    

Step 6 Enable queries for the LDAP server.

The following example enables queries for myserver.

nrcmd> ldap myserver enable can-query
 

Step 7 Enable client-class processing for the DHCP server.

nrcmd> dhcp enable client-class
 

Step 8 Enable the DHCP server to use LDAP for client-entry queries.

nrcmd> dhcp enable use-ldap-client-data
 

Step 9 Save and reload the DHCP server.

nrcmd> server dhcp reload
 

For more information about the ldap command and client-class properties, see the Network Registrar CLI Reference Guide.

Configuring LDAP for Lease-State Updates

You can configure the DHCP LDAP service to copy lease-state data to existing attributes in the LDAP server. The service converts the lease-state data to string form, and uses an update dictionary to map the LDAP attributes to the DHCP data values.

Each time the state of a lease changes, the DHCP server makes a copy of the data and then transfers it to the LDAP server that you have configured to store lease-state data.

Lease-State Attributes

You can store any of the following attributes about the lease's state information in your LDAP server:

Although the MAC addresses in LDAP have to be formatted exactly the way they are formatted by Network Registrar when it creates local client-entries, they are separate instances and thus unique to lease data.

Not every lease has all of these attributes. The client-mac-addr and client-id are not present if a lease has been released by its client, or forced available through Network Registrar.

Configuring LDAP for Lease-State Updates

There are three steps to configuring lease-state updates:

Step 1 Choose the lease-state update scheme.

Step 2 Add entries to the directory or modify existing entries to store the lease state information. You may need to extend entries through the addition of attributes or custom object classes.

Step 3 Configure Network Registrar to perform the updates.

Given the flexibility of directories, there are many different ways in which you could choose to store a copy of lease-state attributes in a directory. For example, you could choose to store the lease-state data as part of an existing entry, or you could store the lease-state data independently.

Storing lease-state data as part of an existing entry

You can store lease-state data as part of an existing entry, like a person. It is even possible to store the client-entry information, the lease-state information, and employee data in the same entry. As part of the setup for this method, you must decide how you want to store the lease data attributes. You may store data attributes using the following methods:

The advantage to this method is that lease data is stored directly with other associated client information. The disadvantage is that there are scenarios, albeit unlikely, related to client-class and reservations that could result in stale data being in the directory for a short period of time when a client is moved off a lease by the server.


Note If the lease (whose state is being updated) does not have a client, it will not have an associated MAC address. This occurs when a client gets a lease, and then is moved off of that lease by client-class, or when client has a lease, and has a reservation for a different lease in the same LAN segment. When the reserved lease is available, the server moves the client off of its existing lease and onto the reservation. Both of these transfers result in an LDAP update for the old lease without a client MAC address. In general this is benign (except for the log message), because the update for the client's new lease should come through too, and of course that update has an associated MAC address.

Also, this method requires two LDAP interactions in order to write the lease information. When updating lease-state information, the DHCP LDAP service contacts the directory twice because when updating an entry it is not enough just to know how to find the entry. You must specifically know the entry's distinguished name.

The DHCP LDAP service first finds the appropriate entry in the directory by using one the lease-state attributes that you chose (preferably the MAC address) as the search criteria. This is necessary to do since none of the lease-state attributes is part of the distinguished name of the entry. When the DHCP LDAP service locates the entry, the distinguished name is returned. Then the DHCP LDAP service updates that same entry with the appropriate information. For an example of using this method, see the "Configuring LDAP State Updates" section later in this chapter.

Storing lease-state data independently

You can store lease-state data by IP address in its own entries. This method results in a copy of the server lease-data database in a directory, and is the most straightforward way to configure the database. As part of the setup for this method, create new entries for each IP address that the server can serve. The advantage to this method is that there are no scenarios in which the lease-state data in the directory will be stale. The disadvantage is that lease data is not stored directly with other associated client information.

To update the lease-state information, the DHCP LDAP service contacts the directory service once. When performing the update, DHCP LDAP service uses the IP address to construct the distinguished name.

Using LDAP Updates

There are two ways you might use the LDAP update feature:

Network Registrar Considerations

When using Network Registrar, you should be aware of the following:

Configuring LDAP State Updates

The following example shows what to do when the LDAP object's dn (distinguished name) cannot be constructed from data that is available in the lease state. The DHCP server creates an LDAP query based on the update-search-xxx information, locates the LDAP object, and uses its distinguished name to issue an LDAP update.

The example shown in Table 4-2 assumes you are using the standard LDAP organizational person object class attributes to hold lease update data.


Table 4-2: LDAP-to-DHCP Mapping, Example 2
LDAP Attribute DHCP Lease Entry

uid

address (IP address)

carlicense

state (lease state)

Step 1 Tell DHCP about your LDAP server.

You must supply the server's host name. The following example creates the LDAP server object myserver with a host name of myserver.american.com.

nrcmd> ldap myserver create myserver.american.com 
 

Step 2 Configure the credentials to use when connecting to the LDAP server.

The following example sets the admin to be joe and his password to be access. Use the distinguished name for the user.

nrcmd> ldap myserver set username="cn=joe, o=Sample Corporation, c=US"
nrcmd> ldap myserver set password=access 
 

Step 3 Configure the update-search-path, which is the starting point in the directory for the objects that the DHCP server will update.

The following example sets the search path to begin at the organizational unit (ou) IT, the organization Sample Corporation, and country US.

nrcmd> ldap myserver set update-search-path="ou=IT, o=Sample Corp, c=US" 
 

Step 4 Set the ID of the attribute you want to use to search for the LDAP object that will be updated.

The following example sets the search attribute to be the client's MAC address.

nrcmd> ldap myserver set update-search-attribute=client-mac-addr 
 

Step 5 Configure a filter expression into which the update-search-attribute should be formatted.

This expression must contain a %s, which indicates where the search-attribute's data should be substituted.

nrcmd> ldap myserver set update-search-filter=(cn=%s) 
 

Step 6 Configure an update-dictionary, which allows you to identify the LDAP attributes that you want set with the values of the corresponding lease-state attributes.

The following example specifies the LDAP uid should be updated to contain the IP address, and the attribute carlicense should be updated to contain the DHCP lease-state information.

nrcmd> ldap myserver setEntry update-dictionary
uid=address carlicense=state

Step 7 Enable queries for the LDAP server.

The following example enables queries for myserver.

nrcmd> ldap myserver enable can-query
 

Step 8 Enable updates for the new LDAP server.

nrcmd> ldap myserver enable can-update 
 

Step 9 Save and reload the DHCP server.

nrcmd> server dhcp reload

Configuring DHCP Scopes

A scope is an administrative grouping of TCP/IP addresses. You create one or more scopes for each subnet on the network to pool addresses for that subnet. The following sections discuss defining and using scopes.

Defining Scopes

Each scope needs to have the following information:

Multiple Scopes

You can configure multiple scopes (with disjoint ranges of IP addresses) that have the same network number and subnet mask. The DHCP server pools together the available leases from all of the scopes on the same subnet together and offers them, in a round-robin fashion, to any client that requests a lease (that is, for which there is no reservation or previous lease information available).

You might want to configure the addresses for a single subnet into multiple scopes to increase the speed of the GUI update for the Leases tab. Another reason might be to organize the addresses in a more natural way for administration---although remember that unless the client has a reservation or is a member of a client-class there is no way to control from which scope a client will obtain a lease.

Because each scope can have a separate reservation list, you might want to organize the leases in multiple scopes on the same subnet. You could put all the dynamic leases in one scope, with a policy with one set of options and lease times, and all the reservations in another scope, with a different policy of options or lease times.

You can also have multiple scopes for different subnets and some of the scopes may not be locally connected to your computer. If this is the case, you should ensure that the router (with BOOTP Relay Support) is configured with the appropriate helper address.

Using Multiple Scopes

When multiple scopes are available on a particular subnet (through the use of a secondary subnet), the DHCP server searches through all of them looking for a scope that meets the needs and requirements of an incoming DHCP client request. For instance, if a subnet has three scopes, only one of which supports dynamic BOOTP, any BOOTP request for which there is not a reservation in another scope is automatically satisfied from the scope that supports dynamic BOOTP.

In addition, you can configure a scope to disallow DHCP requests (the default is to allow DHCP requests). By using these capabilities together, you can easily configure the addresses on a subnet so that all of the DHCP requests are satisfied from one scope (and address range), all of the reserved BOOTP requests come from a second scope, and all of the dynamic BOOTP requests come from a third scope. This allows you to support dynamic BOOTP while minimizing the impact on the address pools that support DHCP clients.

Adding Scopes to a DHCP Server

While there is no limit to the number of leases that you can configure per scope, if you have a scope with several thousand leases it can take Network Registrar a while to sort them.

Step 1 Use the scope create command to create a scope and supply the network number for the subnet and the subnet mask.

nrcmd> scope testScope create 192.168.1.0 255.255.255.0
 

Step 2 Use the scope set command to specify the policy for the scope.

nrcmd> scope testScope set policy=internal
 

Step 3 Use the scope command addRange method to specify the range of IP addresses for the scope.

nrcmd> scope testScope addRange 192.168.1.10 192.168.1.100

Editing Scopes on a DHCP Server

You can use the scope command to change scope features or properties.

Use the scope enable command to enable a scope feature. For example to enable the ping-clients feature, type:

nrcmd> scope testScope enable ping-clients

Note You cannot change the network number or subnet mask.

Removing Scopes from a DHCP Server

Although removing a scope from the configuration of a DHCP server is easy to do, you should be very careful whenever you perform this operation. The DHCP protocol, as defined by the IETF, provides a lease to a client for a particular IP address for a specific amount of time (defined by the administrator of the server). Until that time has elapsed, the client is free to use the IP address it has been leased. There is no defined way for the server to revoke a lease, and to cause a client to stop using an IP address. As a result, while you can easily remove a scope from a DHCP server, the clients who have obtained leases on IP addresses from this scope will continue to use them until the expiration of the lease. This is true even if the server does not respond to their attempts to renew the lease (as is the case if the scope has been removed from the server).

If the addresses from the scope that you have removed are not configured into another DHCP server or reused in any way, then this is not a problem. If, however, the addresses contained in this scope are placed into another DHCP server before the expiration of the last lease, the same IP address might be in use by two different clients. This situation can cause serious errors in operation.

In other words, do not simply remove a scope from one DHCP server and add the addresses into another scope in a different DHCP server. Doing so compromises the integrity of your network. There are several ways to accomplish the operation of removing a scope from a DHCP server.

Not Reusing Addresses

If you do not plan to reuse the addresses from the scope, you can remove the scope from the DHCP server.

Use the scope delete command to delete a scope.

nrcmd> scope testScope delete

Reusing Addresses

If you do want to reuse the addresses, you have two options:

When you deactivate the leases in a scope, you can also take a more active approach to moving the clients away from the leases in the scope. If you use winipcfg.exe on Windows 95 or ipconfig.exe on Windows NT to cause the clients to release, and then reacquire (renew) their leases, they will move off of deactivated leases immediately. These commands can only be issued from the client machine, and so this step may not be practical for a scope with thousands of leases in use. These commands can be useful to move the last few clients off of deactivated leases in a scope.

Viewing Leases

Use the lease list command to list the leases in a cluster

nrcmd> lease list

Deactivating a Lease

The reason you would choose to deactivate a lease is to move a client off of a lease. If the lease is available, deactivating the lease prevents Network Registrar from giving the lease to a client. If the lease is leased (held by a client), deactivating the lease prevents the client from renewing the lease, and Network Registrar from giving it to another client. You can only deactivate a lease if the server is running. Network Registrar deactivates the lease immediately; you do not need to reload the DHCP server.


Note To release a lease, at the client's workstation run winipcfg.exe (Windows 95) or ipconfig.exe (Windows NT) and select the option Release all.

Use the lease deactivate command to prevent the lease from being given out or renewed.

nrcmd> lease 192.168.1.20 deactivate

Deactivating All Leases in a Scope

To deactivate all the leases in a single scope, disable BOOTP and DHCP. For more information see the "Deactivating a Scope" section later in this chapter.

Making a Lease Available

The force-available property allows you to make a lease currently held by a host available. If the lease is currently held, you should request that the user release the lease, or do so yourself, before selecting this option. You do not need to reload the DHCP server to make the change take effect.

Use the lease force-available command to make the currently held lease available.

nrcmd> lease 192.168.1.21 force-available

Refreshing the Lease List

Use the lease list command to show the state of all the leases.

nrcmd> lease list

Reserving a Lease

To ensure that a client always gets the same lease, reserve the lease. You reserve a lease by pairing an IP address with the host's MAC address. You can choose any valid IP address that is within your network number. The IP address does not have to be one that is listed in the scope's range of addresses. In fact, you can use the scope's range of IP numbers for dynamic leases, and use other addresses for reserved leases.


Note Even though a reserved IP address need not be listed in the subnet's range of IP addresses, it is still part of the scope, and the policy associated with the scope applies to it.

The leases should have the same network number and subnet mask as the scope. Network Registrar displays the current network number and subnet mask in noneditable fields above the lease reservation grid.

You must reserve leases for DHCP clients whose addresses must remain constant.

Caution If multiple DHCP servers are distributing addresses in the same subnet, the client reservations on each DHCP server should be identical. Otherwise, the DHCP reserved client may receive multiple offers of IP addresses, each from a different server.

Reserving a Lease

Use the scope command addReservation method to reserve a reservation. Specify the lease's IP address and the client's MAC address.

nrcmd> scope testScope addReservation 192.168.1.10 1,6,00:a0:24:2e:9c:20

Canceling a Lease Reservation

Although you can remove reservations at anytime, if the lease is still held, the client will continue to use the lease until the lease expires. If you reserve this lease for someone else, Network Registrar displays a message to that effect when you start the DHCP server.

Use the scope command removeReservation method to delete a reservation.

nrcmd> scope testScope removeReservation 192.168.1.10 1,6,00:a0:24:2e:9c:20

Choosing Scope Selection Tags

You can use the scope selection-tags property to associate existing selection tags with this scope. For more information, see the "Defining Scope Selection Tags" section earlier in this chapter.

Associating a Selection Tag with a Scope

Use the scope set command to associate a selection tag with this scope.

nrcmd> scope testScope set selection-tags=internal

Setting Advanced Options

You can use the scope command to set the following advanced scope options.

Checking Before Assigning Addresses

You can choose to have the DHCP server use the Internet Control Message Protocol (ICMP) echo message capability (ping) to see if anyone responds to an address before assigning it. If you choose this option, the DHCP server checks that an address is not in use before assigning that address to the workstation. Using ping can help prevent two clients from using the same IP address.

The DHCP server makes use of the ICMP echo request and echo reply packets to determine whether a particular IP address is currently in use. If a computer responds to the ping, the DHCP server marks that address as unavailable and offers a different IP address to the client.

Pinging Before Offering

Use the scope enable command to enable the ping-clients feature.

nrcmd> scope testScope enable ping-clients

Note Because the ping capability is being used to ensure that no client responds to a particular IP address, each ping will wait the entire timeout period. This period comes before an offer is made and so the time specified has a considerable effect on the performance of the DHCP server.

Making a Secondary Scope

Network Registrar supports multiple logical subnets on the same physical network segment, which are called secondary subnets. If you have several logical subnets on the same physical network, for example, 192.168.1 and 192.168.46, you might want to configure DHCP so that it will offer addresses from both pools. By pooling addresses this way, you can combine two Class C networks or a Class B and Class C network.

To join two logical subnets, create two scopes, and elect one to be primary and the other secondary. After you have configured the secondary subnet, any client on this physical network will obtain a lease from one or the other scope, on a round-robin basis (as long as the client does not have a reservation or previous lease information).

Step 1 Use the scope set command as follows:

nrcmd> scope testScope set primary-scope=Example
 

Step 2 Use the server reload command to reload the server.

nrcmd> server DHCP reload
 

The nrcmd command automatically fills in the primary scopes's address and netmask.

Enabling BOOTP

BOOTstrap Protocol (BOOTP) was originally created for loading diskless computers. This protocol was later used to allow a host to obtain all the required TCP/IP information to be able to use the Internet. BOOTP functions by allowing a host to broadcast a request onto the network, and obtains information required from a BOOTP server. The BOOTP server is a computer that listens for incoming BOOTP requests and generates responses from a configuration database for the BOOTP clients on that network. BOOTP differs from DHCP in that it has no concept of lease or lease expiration. All IP addresses allocated by a BOOTP server are permanent.

You can configure Network Registrar to act like a BOOTP server. In addition, although BOOTP normally requires static address assignments, you can choose to either reserve IP addresses (and therefore use static assignments) or have IP addresses dynamically allocated. For more information about configuring BOOTP, see the "Configuring BOOTP" section earlier in this chapter.


Note Network Registrar supports the BOOTP-only protocol, not TFTP. Often, older versions of BOOTP use both protocols.

Use the scope enable command to enable the bootp feature.

nrcmd> scope testScope enable bootp

Disabling DHCP

You can disable DHCP for this scope if you want to use the scope only for BOOTP.


Note You also must enable the scope for BOOTP.

Step 1 Use the scope disable command to disable the bootp feature.

nrcmd> scope testScope disable bootp
 

Step 2 Use the scope enable command to disable the dhcp feature.

nrcmd> scope testScope enable dhcp

Deactivating a Scope

To deactivate all the leases in a scope, disable BOOTP and disable DHCP.

Step 1 Use the scope disable command to disable the bootp feature.

nrcmd> scope testScope disable bootp
 

Step 2 Use the scope disable command to disable the dhcp feature.

nrcmd> scope testScope disable dhcp

Configuring Dynamic DNS Update

Administrators of standard DNS have to update multiple configuration files and restart the DNS server or servers in order to change the association between a name and an address. This restricts the usefulness of DHCP, because an individual client's address may not be the same for more than a day (or even a few hours). While there is no requirement that DNS names exist for every host, there are some Internet services that will not operate correctly unless the hosts appear in DNS. One solution is to place unique names in DNS for all of the addresses allocatable by DHCP, for example, DHCP25.example.com. While this method works, you may need to have more descriptive names in DNS for your clients.

Network Registrar's dynamic DNS update allows the DHCP server to tell the DNS server or servers when a name-to-address association has been created or changed. When a host obtains a lease for an address, Network Registrar tells DNS to add it to its database. When the lease expires, or when the client gives up an address, Network Registrar tells DNS to remove the association. In normal operation you, as administrator, do not have to reconfigure DNS, no matter how frequently the clients' addresses change through the use of DHCP. Network Registrar uses the host name that the client computer provides. If you choose, Network Registrar can automatically create names for clients who have not provided one.

The Network Registrar dynamic DNS update is used for individual hosts instead of the DNS servers themselves. DNS servers' addresses are entered into the DHCP client information database and should therefore only be changed infrequently. DNS servers' addresses are often known to one another for backup or performance reasons, so changing their addresses in a mixed environment is not very useful. For security, the DHCP servers must know the addresses of the DNS servers that they update, and the DNS servers must know the addresses of the DHCP servers from which they are authorized to accept updates.

DHCP Event Service

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 reestablished, and submits all pending updates when they have been updated. This test typically occurs once every 40 seconds until communication with DNS is reestablished.

Configuring Dynamic DNS for the Scope

You can use the scope command to enable Dynamic DNS for the scope.

Configuring for the Scope

Step 1 Use the scope set command to set the values for the zone name.

This is the name of the zone to which a DHCP client's host name should be added. For example, if you want your DNS name to be beth.QuickExample.com, specify the zone QuickExample.com.

nrcmd> scope testScope set dns-zone-name=QuickExample.com
 

Step 2 Use the scope set command to set DNS server's IP address.

You should specify the IP address of the primary server on which both the forward and reverse zones reside. Both zones must be primary servers, and must be on a server that supports the DDNS protocol.

nrcmd> scope testScope set dns-server-addr=192.168.1.1
 

Step 3 Use the scope set command to set DNS reverse zone's name.

This is the name of the zone to be updated with PTR and TXT records.

nrcmd> scope testScope set 
dns-reverse-zone-name=1.168.192.in-addr.arpa

Step 4 Use the scope set command to set DNS reverse zone's IP address.

nrcmd> scope testScope set 
dns-rev-server-addr=192.168.1.14

Step 5 Use the scope enable command to enable dynamic updates for this scope.

nrcmd> scope testScope enable dynamic-dns
 

Step 6 Use the server command to reload the server.

nrcmd> server DHCP reload

Note For dynamic DNS update, DHCP uses the host name that is passed to the server in the host name DHCP option. With Microsoft clients this is the name that appears in the Network Control Panel Identification dialog box, not the name that appears in the Protocols/TCP-IP Properties dialog box. The name is set on the client's computer.

For security purposes, Network Registrar's Dynamic DNS update process does not modify or delete a name an administrator has manually entered into the DNS database.

Enabling Dynamic DNS Updates From Host Names

Step 1 Use the zone enable command to enable dynamic DNS updates from host names.

nrcmd> zone example.com enable dynamic
 

Step 2 Use the zone set command to specify the name of the server.

nrcmd> zone example.com set dynupdate-set=192.168.1.10
 

Repeat this procedure for both the primary and reverse DNS zones; for example, the primary zone example.com and the reverse zone 1.168.192.in-addr.arpa.


Note If the DNS zone and the DHCP scope are on the same machine, be sure to include the loopback address 127.0.0.1 in the DNS server's list of addresses from which it accepts updates to ensure that dynamic updates occur in both the primary and reverse zones.

Reloading the Servers

After you have configured the DNS and DHCP servers, you must reload them to write the configuration information to the Network Registrar database.

Use the server command to reload the server.

nrcmd> server DNS reload
 

Repeat for the DHCP server.


hometocprevnextglossaryfeedbacksearchhelp
Posted: Thu Jul 13 11:33:53 PDT 2000
Copyright 1989-2000©Cisco Systems Inc.