Cisco Systems 32369 User Manual

Cisco IOS DHCP Server

Feature Overview

Dynamic Host Control Protocol (DHCP) enables you to automatically assign reusable IP addresses to DHCP clients. The Cisco IOS DHCP Server feature is a full DHCP server implementation that assigns and manages IP addresses from specified address pools within the router to DHCP clients. If the Cisco IOS DHCP Servercannot satisfy a DHCP request from its own database, it can forward the request to one or more secondary DHCP servers defined by the network administrator.
Figure 1 DHCP Request for an IP Address from a DHCP Server
Host A
Note A DHCP client may receive offers from multiple DHCP servers and can accept any one of the
offers; however, the client usually accepts the first offer it receives. Additionally, the offer from the DHCP server is not a guarantee that the IP address will be allocated to the client; however, the server usually reserves the address until the client has had a chance to formally request the address.
The client returns a formal request for the offered IP address to the DHCP server in a DHCPREQUEST broadcast message. The DHCP server confirms that the IP address has been allocated to the client by returning a DHCPACK unicast message to the client.
DHCPDISCOVER (broadcast)
DHCPOFFER (unicast)
DHCPREQUEST (broadcast)
DHCPACK (unicast)
Cisco IOS
DHCP server
32369
Cisco IOS DHCP Server 1

Benefits

Benefits
Note The formal request for the offered IP address (the DHCPREQUEST message) that is sent by
the client is broadcast so that all other DHCP servers that received the DHCPDISCOVERbroadcast message from the client can reclaim the IP addresses that they offered to the client.
If the configuration parameters sent to the client in the DHCPOFFER unicast message by the DHCP server are invalid (a misconfiguration error exists), the client returns a DHCPDECLINE broadcast message to the DHCP server.
The DHCP server will send to the client a DHCPNAK denial broadcast message, which means the offered configuration parameters have not been assigned, if an error has occurred during the negotiationof the parameters or the client hasbeen slow in responding to the DHCPOFFER message (the DHCP server assigned the parameters to another client) of the DHCP server.
The Cisco IOS DHCP Server feature offers the following benefits:
Reduced Internet access costs
Using automatic IP address assignment at each remote site substantially reduces Internet access costs. Static IP addresses are considerably more expensive to purchase than are automatically allocated IP addresses.
Reduced client configuration tasks and costs
Because DHCP is easy to configure, it minimizes operational overhead and costs associated with device configuration tasks and eases deployment by nontechnical users.
Centralized management
Because the DHCP server maintains configurations for several subnets, an administrator only needs to update a single, central server when configuration parameters change.

Supported Platforms

This Cisco IOS DHCP Server feature is supported on the following routers and access servers:
Catalyst 5000 family switches with an installed Route Switch Module
Catalyst 6000 family switches with an installed MultiLayer Switch Feature Card
Catalyst 8500 series
Cisco 800 series
Cisco 1000 series
Cisco 1400 series
Cisco 1600 series
Cisco 1700 series (support for the Cisco 1700 series was added in Cisco IOS Release 12.0[2]T)
Release 12.0(1)T
2
Cisco 2500 series
Cisco 2600 series
Cisco 3600 series
Cisco 3800 series
Cisco MC3810 series
Cisco 4000 series
Cisco AS5100 access server
Cisco AS5200 universal access server
Cisco AS5300 universal access server
Cisco 7000 series
Cisco 7100 series
Cisco 7200 series
Cisco MGX 8800 with an installed Route Processor Module
Cisco 12000 series
Cisco uBR900 series
Cisco uBR7200 series

Supported Standards, MIBs, and RFCs

Standards

No new or modified standards are supported by this feature.

MIBs

No new or modified MIBs are supported by this feature. For descriptions of supported MIBs and how to use MIBs, see the Cisco MIB web site on CCO at
http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml.

RFCs

RFC 951, Bootstrap Protocol (BOOTP)
RFC 1542, Clarifications and Extensions for the Bootstrap Protocol
RFC 2131, Dynamic Host Configuration Protocol
RFC 2132, DHCP Options and BOOTP Vendor Extensions
Cisco IOS DHCP Server 3

Prerequisites

Prerequisites
Before you configure the Cisco IOS DHCP Server feature, complete the following tasks:
Identify an external File Transport Protocol (FTP), Trivial File Transfer Protocol (TFTP), or
remote copy protocol (rcp) server that you will use to store the DHCP bindings database.
Identify the IP addresses that you will enable the DHCP server to assign, and the IP addresses
that you will exclude.
Identify DHCP options for devices where necessary, including:
Default boot image nameDefault router(s)Domain Name System (DNS) server(s)NetBIOS name server
Decide on a NetBIOS node type (b, p, m, or h).
Decide on a DNS domain name.
DHCP Configuration Task List
The DHCP server database is organized as a tree. The root of the tree is the address pool for natural networks, branches are subnetwork address pools, and leaves are manual bindings to clients. Subnetworks inherit network parameters and clients inherit subnetwork parameters. Therefore, common parameters, for example the domain name, should be configured at the highest (network or subnetwork) level of the tree.
Note Inherited parameters can be overridden. For example, if a parameter is defined in both the
natural network and a subnetwork, the definition of the subnetwork is used.
Address leases are not inherited. If a lease is not specified for an IP address, by default, the DHCP server assigns a one-day lease for the address.
To configure the Cisco IOS DHCP Server feature, first configure a database agent or disable conflict logging, then configure IP addresses that the DHCP server should not assign (excluded addresses) and should assign (a pool of available IP addresses) to requesting clients. These configuration tasks are explained in the following sections. Each task in the following list is identified as required or optional.
Configuring a DHCP Database Agent or Disabling DHCP Conflict Logging (Required)
Excluding IP Addresses (Required)
Configuring a DHCP Address Pool (Required)
Release 12.0(1)T
4
Configuring Manual Bindings (Optional)
Configuring a DHCP Server Boot File (Optional)
Configuring the Number of Ping Packets (Optional)
Configuring the Timeout Value for Ping Packets (Optional)
Enabling the Cisco IOS DHCP Server Feature (Optional)

Configuring a DHCP Database Agent or Disabling DHCP Conflict Logging

Configuring a DHCP Database Agent or Disabling DHCP Conflict Logging
A DHCP database agent is any host, for example, an FTP, TFTP, or RCP server that stores the DHCP bindings database. You can configure multiple DHCP database agents and you can configure the interval between database updates and transfers for each agent. To configure a database agent and database agent parameters, use the following command in global configuration mode:
Command Purpose
Router(config)# ip dhcp database url [timeout seconds | write-delay seconds]
If you choose not to configure a DHCP database agent, disable the recording of DHCP address conflicts on the DHCP server. To disable DHCP address conflict logging, use the following command in global configuration mode:
Command Purpose
Router(config)# no ip dhcp conflict logging
Configures the database agent and the interval between database updates and database transfers.
Disables DHCP address conflict logging.

Excluding IP Addresses

The DHCP server assumes that all IP addresses in a DHCP address pool subnet are available for assigning to DHCP clients. You must specify the IP address that the DHCP server should not assign to clients. To do so, use the following command in global configuration mode:
Command Purpose
Router(config)# ip dhcp excluded-address low-address
[high-address]
Specifies the IP addresses that the DHCP server should not assign to DHCP clients.
Configuring a DHCP Address Pool
You can configure a DHCP address pool with a name that is a symbolic string (such as “engineering”) or an integer (such as 0). Configuring a DHCP address pool also places you in DHCP pool configuration mode—identified by the (config-dhcp)# prompt—from which you can configure pool parameters (for example, the IP subnet number and default router list). To configure a DHCP address pool, complete the required tasks in the following sections.
Configuring the DHCP Address Pool Name and Entering DHCP Pool Configuration Mode
To configure the DHCP address pool name and enter DHCP pool configuration mode, use the following command in global configuration mode:
Command Purpose
Router(config)# ip dhcp pool name Creates a name for the DHCP server address pool and places
you in DHCP pool configuration mode (identified by the config-dhcp# prompt).
Cisco IOS DHCP Server 5
DHCP Configuration Task List
Configuring the DHCP Address Pool Subnet and Mask
To configure a subnet and mask for the newly created DHCP address pool, which contains the range of available IP addresses that the DHCP server may assign to clients, use the following command in DHCP pool configuration mode:
Command Purpose
Router(config-dhcp)# network network-number [mask | /prefix-length]
Note You can not configure manual bindings within the same pool that is configured with the
Specifies the subnet network number and mask of the DHCP address pool.
The prefix length specifies the number of bits that comprise the address prefix. The prefix is an alternative way of specifying the network mask of the client. The prefix length must be preceded by a forward slash (/).
network command. To configure manual bindings, see the “Configuring Manual Bindings” section.
Configuring the Domain Name for the Client
The domain name of a DHCP client places the client in the general grouping of networks that make up the domain. To configure a domain name string for the client, use the following command in DHCP pool configuration mode:
Command Purpose
Router(config-dhcp)# domain-name
domain
Specifies the domain name for the client.
Configuring the Domain Name System IP Servers for the Client
DHCP clients query DNS IP servers when they need to correlate host names to IP addresses. To configure the DNS IP servers that are available to a DHCP client, use the following command in DHCP pool configuration mode:
Command Purpose
Router(config-dhcp)# dns-server address [address2 ... address8]
Specifies the IP address of a DNS server that is available to a DHCP client. One IP address is required; however, you can specify up to eight IP addresses in one command line.
Configuring the NetBIOS Windows Internet Naming Service IP Servers for the Client
WindowsInternet Naming Service(WINS) is a name resolutionservice that Microsoft DHCP clients use to correlate host names to IP addresses within a general grouping of networks. Toconfigure the NetBIOS WINS servers that are available to a Microsoft DHCP client, use the following command in DHCP pool configuration mode:
Release 12.0(1)T
6
Command Purpose
Router(config-dhcp)#netbios-name-server address [address2 ... address8]
Specifies the NetBIOS WINS server that is available to a Microsoft DHCP client. One address is required; however, you can specify up to eight addresses in one command line.

Configuring the NetBIOS Node Type for the Client

Configuring the NetBIOS Node Type for the Client
The NetBIOS node type for Microsoft DHCP clients can be one of four settings: broadcast, peer-to-peer,mixed, or hybrid. Toconfigure the NetBIOS node type for a Microsoft DHCP,use the following command in DHCP pool configuration mode:
Command Purpose
Router(config-dhcp)# netbios-node-type
type
Specifies the NetBIOS node type for a Microsoft DHCP client.
Configuring the Default Router for the Client
Aftera DHCP client has booted, the client begins sending packetsto its default router.The IP address of the default router should be on the same subnet as the client. To configure a default router for a DHCP client, use the following command in DHCP pool configuration mode:
Command Purpose
Router(config-dhcp)# default-router address [address2 ... address8]
Specifies the IP address of the default router for a DHCP client. One IP address is required, although you can specify up to eight addresses in one command line.
Configuring the Address Lease Time
By default, each IP address assigned by a DHCP server comes with a one-day lease, which is the amount of time that the address is valid. To change the lease value for an IP address, use the following command in DHCP pool configuration mode:
Command Purpose
Router(config-dhcp)# lease {days [hours][minutes] | infinite}
Configuring Manual Bindings
An address binding is a mapping between the IP address and Media Access Control (MAC) address of a client. The IP address of a client can be assigned manually by an administrator or assigned automatically from a pool by a DHCP server.
Manual bindings are IP addresses that have been manually mapped to the MAC addresses of hosts that are found in the DHCP database. Manual bindings are stored in NVRAM on the DHCP server. Manual bindings are just special address pools. There is no limit on the number of manual bindings but you can only configure one manual binding per host pool.
Automatic bindings are IP addresses that have been automatically mapped to the MACaddresses of hosts that are found in the DHCP database. Automatic bindings are stored on a remote host called a database agent. The bindings are saved as text records for easy maintenance.
To configure a manual binding, first create a host pool, then specify the IP address and hardware address of the client or client identifier. The hardware address is the MAC address. The client identifier, which is required for Microsoft clients (instead of hardware addresses), is formed by concatenating the media type and the MAC address of the client. Refer to the “Address Resolution Protocol Parameters” section of RFC 1700, Assigned Numbers, for a list of media type codes.
Specifies the duration of the lease. The default is a a one-day lease.
Cisco IOS DHCP Server 7
DHCP Configuration Task List
Toconfigure manual bindings, use the following commands beginningin global configuration mode:
Step Command Purpose
1 Router(config)# ip dhcp pool name Creates a name for the a DHCP server address
2 Router(config-dhcp)# host address [mask |
3 Router(config-dhcp)# hardware-address
4 Router(config-dhcp)# client-name name (Optional) Specifies the name of the client using
/prefix-length]
hardware-address type
or Router(config-dhcp)# client-identifier
unique-identifier
pool and places you in DHCP pool configuration mode—identified by the (config-dhcp)# prompt.
Specifies the IP address and subnet mask of the client.
The prefix length specifies the number of bits that comprise the address prefix. The prefix is an alternativeway of specifying the network mask of the client. The prefix length must be preceded by a forward slash (/).
Specifies a hardware address for the client.
Specifies the distinct identification of the client in dotted-hexadecimal notation, for example, 01b7.0813.8811.66, where 01 represents the Ethernet media type.
any standard ASCII character. The client name should not include the domain name. For example, the name mars should not be specified as mars.cisco.com.

Configuring a DHCP Server Boot File

The boot file is used to store the boot image for the client. The boot image is generally the operating system the client uses to load. Tospecifya boot file for the DHCP client, use the following command in DHCP pool configuration mode:
Command Purpose
Router(config-dhcp)# bootfile filename Specifies the name of the file that is used as a boot image.
Configuring the Number of Ping Packets
By default, the DHCP server pings a pool address twice before assigning the address to a requesting client. If the ping is unanswered, the DHCP server assumes (with a high probability) that the address is not in use and assigns the address to the requesting client. To change the number of ping packets the DHCP server should send to the pool address before assigning the address, use the following command in global configuration mode:
Command Purpose
Router(config)# ip dhcp ping packets
number
Specifies the number of ping packets the DHCP server sends to a pool address before assigning the address to a requesting cli­ent. The default is two packets.
Release 12.0(1)T
8

Configuring the Timeout Value for Ping Packets

Configuring the Timeout Value for Ping Packets
By default, the DHCP server waits 500 milliseconds before timing out a ping packet. To change the amount of time the server waits, use the following command in global configuration mode:
Command Purpose
Router(config)# ip dhcp ping timeout
milliseconds
Specifies the amount of time the DHCP server must wait before timing out a ping packet. The default 500 milliseconds.
Enabling the Cisco IOS DHCP Server Feature
By default, the Cisco IOS DHCP Server feature is enabled on your router. If the feature is disabled, use the following command in global configuration mode to reenable the Cisco IOS DHCP Server feature on your router:
Command Purpose
Router(config)# service dhcp Enables the Cisco IOS DHCP Server feature on your router.
Use the no form of this command to disable the Cisco IOS DHCP Server feature.

Monitoring and Maintaining the DHCP Server

To clear DHCP server variables, use the following commands in privileged EXEC mode, as needed:
Command Purpose
Router# clear ip dhcp binding address | * Deletes an automatic address binding from the DHCP
database. Specifying address clears the automatic binding for a specific (client) IP address whereas specifying asterisk (*) clears all automatic bindings.
Router# clear ip dhcp conflict address | * Clears an address conflict from the DHCP database. Specify-
ing address clears the conflict for a specific IP address whereas specifying an asterisk (*) clears conflicts for all addresses.
Router# clear ip dhcp server statistics Resets all DHCP server counters to 0.
To enable DHCP server debugging, use the following command in privileged EXEC mode, as needed:
Command Purpose
Router# debug ip dhcp server {events | packets | linkage}
Enables debugging on the DHCP server.
Cisco IOS DHCP Server 9

Configuration Examples

To display DHCP server information, use the following commands in EXEC mode, as needed:
Command Purpose
Router> show ip dhcp binding [address] Displays a list of all bindings created on a specific DHCP
Router> show ip dhcp conflict [address] Displays a list of all address conflicts recorded by a specific
Router# show ip dhcp database [url] Displays recent activity on the DHCP database.
Router> show ip dhcp server statistics Displays count information about server statistics and mes-
Configuration Examples
This section provides the following configuration examples:
DHCP Database Agent Configuration Example
DHCP Address Pool Configuration Example
server.
DHCP server.
Note Use this command in privileged EXEC mode.
sages sent and received.
Manual Bindings Configuration Example
DHCP Database Agent Configuration Example
The following example stores bindings on host 172.16.4.253. The file transfer protocol is FTP.The server should wait 2 minutes (120 seconds) before writing database changes.
ip dhcp database ftp://user:password@172.16.4.253/router-dhcp write-delay 120
DHCP Address Pool Configuration Example
In the following example, three DHCP address pools are created: one in network 172.16.0.0, one in subnetwork172.16.1.0,and one in subnetwork 172.16.2.0. Attributesfromnetwork172.16.0.0, such as the domain name, DNS server, NetBIOS name server, and NetBIOS node type, are inherited in subnetworks 172.16.1.0 and 172.16.2.0. In each pool, clients are granted 30-day leases and all addresses in each subnetwork, except the excluded addresses, are available to the DHCP server for assigning to clients. Table 1 lists the IP addresses for the devices in three DHCP address pools.
Table 1 DHCP Address Pool Devices Pool 0 (Network 172.16.0.0) Pool 1 (Subnetwork 172.16.1.0) Pool 2 (Subnetwork 172.16.2.0)
Device IP Address Device IP Address Device IP Address
Default routers Default routers 172.16.1.100
172.16.1.101
DNS server 172.16.1.102
172.16.2.102
NetBIOS name server 172.16.1.103
172.16.2.103
NetBIOS node type h-node
Default routers 172.16.2.100
172.16.2.101
Release 12.0(1)T
10
ip dhcp database ftp://user:password@172.16.4.253/router-dhcp write-delay 120 ip dhcp excluded-address 172.16.1.100 172.16.1.103 ip dhcp excluded-address 172.16.2.100 172.16.2.103 ! ip dhcp pool 0
network 172.16.0.0 /16 domain-name cisco.com dns-server 172.16.1.102 172.16.2.102 netbios-name-server 172.16.1.103 172.16.2.103
netbios-node-type h-node ! ip dhcp pool 1
network 172.16.1.0 /24
default-router 172.16.1.100 172.16.1.101
lease 30 ! ip dhcp pool 2
network 172.16.2.0 /24
default-router 172.16.2.100 172.16.2.101
lease 30
Manual Bindings Configuration Example
The following example creates a manual binding for a client named Mars.cisco.com. The MAC address of the client is 02c7.f800.0422 and the IP address of the client is 172.16.2.254.
ip dhcp pool Mars
host 172.16.2.254
hardware-address 02c7.f800.0422 ieee802
client-name Mars

Manual Bindings Configuration Example

Because attributes are inherited, the previous configuration is equivalent to the following:
ip dhcp pool Mars
host 172.16.2.254 mask 255.255.255.0
hardware-address 02c7.f800.0422 ieee802
client-name Mars
default-router 172.16.2.100 172.16.2.101
domain-name cisco.com
dns-server 172.16.1.102 172.16.2.102
netbios-name-server 172.16.1.103 172.16.2.103
netbios-node-type h-node
Cisco IOS DHCP Server 11

Command Reference

Command Reference
This section documents new or modified commands. All other commands used with this feature are documented in the Cisco IOS Release 12.0 command reference publications.
bootfile
clear ip dhcp binding
clear ip dhcp conflict
clear ip dhcp server statistics
client-identifier
client-name
default-router
dns-server
domain-name
hardware-address
host
ip dhcp conflict logging
ip dhcp database
ip dhcp excluded-address
ip dhcp ping packets
ip dhcp ping timeout
ip dhcp pool
ip dhcp relay information check
ip dhcp relay information option
ip dhcp relay information policy
lease
netbios-name-server
netbios-node-type
network (DHCP)
next-server
option
service dhcp
show ip dhcp binding
Release 12.0(1)T
12
show ip dhcp conflict
show ip dhcp database
show ip dhcp server statistics
Manual Bindings Configuration Example
In Cisco IOS Release 12.0(1)T or later, you can search and filter the output for show and more commands. This functionality is useful when you need to sort through large amounts of output, or if you want to exclude output that you do not need to see.
To use this functionality, enter a show or more command followed by the “pipe” character (|), one of the keywords begin, include, or exclude, and an expression that you want to search or filter on:
command | {begin | include | exclude} regular-expression Following is an example of the show atm vc command in which you want the command output to
begin with the first line where the expression “PeakRate” appears: show atm vc | begin PeakRate For more information on the search and filter functionality, refer to the Cisco IOS Configuration
Fundamentals Configuration Guide.
Cisco IOS DHCP Server 13
Command Reference
bootfile

Syntax Description

Defaults

Command Modes

Tospecify the name of the defaultboot image for a Dynamic Host Configuration Protocol (DHCP) client, use the bootfile DHCP pool configuration command. Use the no form of this command to delete the boot image name.
bootfile filename no bootfile
filename Specifies the name of the file that is used as a boot image.
No default behavior or values.
DHCP pool configuration

Usage Guidelines

Examples

Related Commands

This command first appeared in Cisco IOS Release 12.0(1)T.
The following example specifies xllboot as the name of the boot file:
bootfile xllboot
ip dhcp pool next-server
Release 12.0(1)T
14

clear ip dhcp binding

To delete an automatic address binding from the Cisco IOS Dynamic Host Configuration Protocol (DHCP) Server database, use the clear ip dhcp binding privileged EXEC command.
clear ip dhcp binding address | *

Syntax Description

address The address of the binding you want to clear.
* Clears all automatic bindings.

Command Modes

Privileged EXEC

Usage Guidelines

Typically, the address denotes the client’s IP address. If the asterisk (*) character is used as the address parameter, DHCP clears all automatic bindings.
clear ip dhcp binding

Examples

Related Commands

Use the no ip dhcp pool global configuration command to delete a manual binding.
The following example deletes the address binding 10.12.1.99 from a DHCP server database:
clear ip dhcp binding 10.12.1.99
show ip dhcp binding
Cisco IOS DHCP Server 15
Command Reference
clear ip dhcp conflict
To clear an address conflict from the Cisco IOS Dynamic Host Configuration Protocol (DHCP) Server database, use the clear ip dhcp conflict privileged EXEC command.
clear ip dhcp conflict address | *

Syntax Description

address The IP address of the host that contains the conflicting address you
* Clears all address conflicts.

Command Modes

Privileged EXEC
want to clear.

Usage Guidelines

Examples

Related Commands

This command first appeared in Cisco IOS Release 12.0(1)T. The server detects conflicts using a ping session. The client detects conflicts using gratuitous
Address Resolution Protocol (ARP). If the asterisk (*) character is used as the address parameter, DHCP clears all conflicts.
The following example shows an address conflict of 10.12.1.99 being deleted from the DHCP server database:
clear ip dhcp conflict 10.12.1.99
show ip dhcp conflict
Release 12.0(1)T
16
Loading...
+ 36 hidden pages