Table Of Contents
Supported Standards, MIBs, and RFCs
Configuring a DHCP Database Agent or Disabling DHCP Conflict Logging
Configuring a DHCP Address Pool
Configuring the DHCP Address Pool Name and Entering DHCP Pool Configuration Mode
Configuring the DHCP Address Pool Subnet and Mask
Configuring the Domain Name for the Client
Configuring the Domain Name System IP Servers for the Client
Configuring the NetBIOS Windows Internet Naming Service IP Servers for the Client
Configuring the NetBIOS Node Type for the Client
Configuring the Default Router for the Client
Configuring the Address Lease Time
Configuring a DHCP Server Boot File
Configuring the Number of Ping Packets
Configuring the Timeout Value for Ping Packets
Enabling the Cisco IOS DHCP Server Feature
Monitoring and Maintaining the DHCP Server
DHCP Database Agent Configuration Example
DHCP Address Pool Configuration Example
Manual Bindings Configuration Example
clear ip dhcp server statistics
ip dhcp relay information check
ip dhcp relay information option
ip dhcp relay information policy
show ip dhcp server statistics
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 Server cannot 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 shows the basic steps that occur when a DHCP client requests an IP address from a DHCP server. The client, Host A, sends a DHCPDISCOVER broadcast message to locate a Cisco IOS DHCP Server. A DHCP server offers configuration parameters (such as an IP address, a MAC address, a domain name, and a lease for the IP address) to the client in a DHCPOFFER unicast message.
Figure 1 DHCP Request for an IP Address from a DHCP Server
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.
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 DHCPDISCOVER broadcast 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 negotiation of the parameters or the client has been slow in responding to the DHCPOFFER message (the DHCP server assigned the parameters to another client) of the DHCP server.
Benefits
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)
•
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
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 name
•
Default 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)
•
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
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 PurposeRouter(config)# ip dhcp database url [timeout seconds | write-delay seconds]
Configures the database agent and the interval between database updates and database transfers.
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:
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 PurposeRouter(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 PurposeRouter(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).
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:
Note
You can not configure manual bindings within the same pool that is configured with the 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:
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:
Configuring the NetBIOS Windows Internet Naming Service IP Servers for the Client
Windows Internet Naming Service (WINS) is a name resolution service that Microsoft DHCP clients use to correlate host names to IP addresses within a general grouping of networks. To configure the NetBIOS WINS servers that are available to a Microsoft DHCP client, use the following command in DHCP pool configuration mode:
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. To configure the NetBIOS node type for a Microsoft DHCP, use the following command in DHCP pool configuration mode:
Command PurposeRouter(config-dhcp)# netbios-node-type type
Specifies the NetBIOS node type for a Microsoft DHCP client.
Configuring the Default Router for the Client
After a DHCP client has booted, the client begins sending packets to 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:
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 PurposeRouter(config-dhcp)# lease {days [hours][minutes] | infinite}
Specifies the duration of the lease. The default is a a one-day lease.
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 MAC addresses 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.
To configure manual bindings, use the following commands beginning in global configuration mode:
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. To specify a boot file for the DHCP client, use the following command in DHCP pool configuration mode:
Command PurposeRouter(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:
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 PurposeRouter(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 PurposeRouter(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:
To enable DHCP server debugging, use the following command in privileged EXEC mode, as needed:
Command PurposeRouter# debug ip dhcp server {events | packets | linkage}
Enables debugging on the DHCP server.
To display DHCP server information, use the following commands in EXEC mode, as needed:
Configuration Examples
This section provides the following configuration examples:
•
DHCP Database Agent Configuration Example
•
DHCP Address Pool Configuration Example
•
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 120DHCP Address Pool Configuration Example
In the following example, three DHCP address pools are created: one in network 172.16.0.0, one in subnetwork 172.16.1.0, and one in subnetwork 172.16.2.0. Attributes from network 172.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.
ip dhcp database ftp://user:password@172.16.4.253/router-dhcp write-delay 120ip dhcp excluded-address 172.16.1.100 172.16.1.103ip dhcp excluded-address 172.16.2.100 172.16.2.103!ip dhcp pool 0network 172.16.0.0 /16domain-name cisco.comdns-server 172.16.1.102 172.16.2.102netbios-name-server 172.16.1.103 172.16.2.103netbios-node-type h-node!ip dhcp pool 1network 172.16.1.0 /24default-router 172.16.1.100 172.16.1.101lease 30!ip dhcp pool 2network 172.16.2.0 /24default-router 172.16.2.100 172.16.2.101lease 30Manual 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 Marshost 172.16.2.254hardware-address 02c7.f800.0422 ieee802client-name MarsBecause attributes are inherited, the previous configuration is equivalent to the following:
ip dhcp pool Marshost 172.16.2.254 mask 255.255.255.0hardware-address 02c7.f800.0422 ieee802client-name Marsdefault-router 172.16.2.100 172.16.2.101domain-name cisco.comdns-server 172.16.1.102 172.16.2.102netbios-name-server 172.16.1.103 172.16.2.103netbios-node-type h-nodeCommand 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.
•
clear ip dhcp server statistics
•
host
•
ip dhcp relay information check
•
ip dhcp relay information option
•
ip dhcp relay information policy
•
show ip dhcp server statistics
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.
bootfile
To specify the name of the default boot 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
Syntax Description
Defaults
No default behavior or values.
Command Modes
DHCP pool configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
Examples
The following example specifies xllboot as the name of the boot file:
bootfile xllbootRelated Commands
ip dhcp pool
next-serverclear 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
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.
Use the no ip dhcp pool global configuration command to delete a manual binding.
Examples
The following example deletes the address binding 10.12.1.99 from a DHCP server database:
clear ip dhcp binding 10.12.1.99Related Commands
show ip dhcp binding
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 want to clear.
*
Clears all address conflicts.
Command Modes
Privileged EXEC
Usage Guidelines
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.
Examples
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.99Related Commands
show ip dhcp conflict
clear ip dhcp server statistics
To reset all Cisco IOS Dynamic Host Configuration Protocol (DHCP) Server counters, use the clear ip dhcp server statistics privileged EXEC command.
clear ip dhcp server statistics
Syntax Description
This command has no arguments or keywords.
Command Modes
Privileged EXEC
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
The show ip dhcp server statistics command displays DHCP counters. All counters are cumulative. The counters will be initialized, or set to zero, with this command.
Examples
The following example resets all DHCP counters to zero:
clear ip dhcp server statisticsRelated Commands
show ip dhcp server statistics
client-identifier
To specify a Microsoft Dynamic Host Configuration Protocol (DHCP) client's unique identifier (in dotted-hexadecimal notation), use the client-identifier DHCP pool configuration command. It is valid for manual bindings only. Use the no form of this command to delete the client identifier.
client-identifier unique-identifier
no client-identifier
Syntax Description
unique-identifier
The distinct identification of the client in dotted-hexadecimal notation, for example, 01b7.0813.8811.66.
Defaults
None
Command Modes
DHCP pool configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
Microsoft DHCP clients require client identifiers instead of hardware addresses. The client identifier is formed by concatenating the media type and the MAC address. For example, the Microsoft client identifier for Ethernet address b708.1388.f166 is 01b7.0813.88f1.66, where 01 represents the Ethernet media type. For a list of media type codes, refer to the "Address Resolution Protocol Parameters" section of RFC 1700, Assigned Numbers.
Examples
The following example specifies the client identifier for Mac address b7.0813.8811.66 in dotted-hexadecimal notation:
client-identifier 01b7.0813.8811.66Related Commands
hardware-address
host
ip dhcp poolclient-name
To specify the name of a Dynamic Host Configuration Protocol (DHCP) client, use the client-name DHCP pool configuration command. The client name should not include the domain name. Use the no form of this command to remove the client name.
client-name name
no client-name
Syntax Description
name
Specifies the client's name, using 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.
Defaults
None
Command Modes
DHCP pool configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
Examples
The following example specifies a string client1 that will be the name of the client:
client-name client1Related Commands
host
ip dhcp pooldefault-router
To specify the default router list for a Dynamic Host Configuration Protocol (DHCP) client, use the default-router DHCP pool configuration command. Use the no form of this command to remove the default router list.
default-router address [address2 ... address8]
no default-router
Syntax Description
address
Specifies the IP address of a router. One IP address is required, although you can specify up to eight addresses in one command line.
Defaults
None
Command Modes
DHCP pool configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
The IP address of the router should be on the same subnet as the client subnet. You can specify up to eight routers in the list. Routers are listed in order of preference (address1 is the most preferred router, address2 is the next most preferred router, and so on).
Examples
The following example specifies 10.12.1.99 as the IP address of the default router:
default-router 10.12.1.99Related Commands
ip dhcp pool
dns-server
To specify the Domain Name System (DNS) IP servers available to a Dynamic Host Configuration Protocol (DHCP) client, use the dns-server DHCP pool configuration command. Use the no form of this command to remove the DNS server list.
dns-server address [address2 ... address8]
no dns-server
Syntax Description
address
Specifies the IP address of a DNS server. One IP address is required, although you can specify up to eight addresses in one command line.
Defaults
If DNS IP servers are not configured for a DHCP client, the client cannot correlate host names to IP addresses.
Command Modes
DHCP pool configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
Servers are listed in order of preference (address1 is the most preferred server, address2 is the next most preferred server, and so on).
Examples
The following example specifies 10.12.1.99 as the IP address of the domain name server of the client:
dns-server 10.12.1.99Related Commands
domain-name
ip dhcp pooldomain-name
To specify the domain name for a Dynamic Host Configuration Protocol (DHCP) client, use the domain-name DHCP pool configuration command. Use the no form of this command to remove the domain name.
domain-name domain
no domain-name
Syntax Description
Defaults
None.
Command Modes
DHCP pool configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
Examples
The following example specifies cisco.com as the domain name of the client:
domain-name cisco.comRelated Commands
dns-server
ip dhcp poolhardware-address
To specify the hardware address of a Dynamic Host Configuration Protocol (DHCP) client, use the hardware-address DHCP pool configuration command. It is valid for manual bindings only. Use the no form of this command to remove the hardware address.
hardware-address hardware-address type
no hardware-address
Syntax Description
Defaults
Ethernet is the default type if none is specified.
Command Modes
DHCP pool configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
Examples
The following example specifies b708.1388.f166 as the MAC address of the client:
hardware-address b708.1388.f166Related Commands
client-identifier
host
ip dhcp poolhost
To specify the IP address and network mask for a manual binding to a Dynamic Host Configuration Protocol (DHCP) client, use the host DHCP pool configuration command. Use the no form of this command to remove the client's IP address.
host address [mask | /prefix-length]
no host
Syntax Description
Defaults
None
Command Modes
DHCP pool configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
If the mask and prefix length are unspecified, DHCP examines its address pools. If no mask is found in the pool database, the Class A, B, or C natural mask is used. This command is valid for manual bindings only.
There is no limit on the number of manual bindings but you can only configure one manual binding per host pool.
Examples
The following example specifies 10.12.1.99 as the client's IP address and 255.255.248.0 as the subnet mask:
host 10.12.1.99 255.255.248.0Related Commands
client-identifier
hardware-address
ip dhcp pool
network (DHCP)ip dhcp conflict logging
To enable conflict logging on a Cisco IOS Dynamic Host Configuration Protocol (DHCP) Server, use the ip dhcp conflict logging global configuration command. Use the no form of this command to disable conflict logging.
ip dhcp conflict logging
no ip dhcp conflict logging
Syntax Description
This command has no arguments or keywords.
Defaults
Conflict logging is enabled.
Command Modes
Global configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
Cisco recommends using a DHCP server database agent to store automatic bindings. If you decide not to use a DHCP server database agent to store automatic bindings, use the no ip dhcp conflict logging command to disable the recording of address conflicts. By default, the Cisco IOS DHCP Server records DHCP address conflicts in a log file.
Example
The following example disables the recording of DHCP address conflicts:
no ip dhcp conflict loggingRelated Commands
clear ip dhcp conflict
ip dhcp database
show ip dhcp conflictsip dhcp database
You can configure a Cisco IOS Dynamic Host Configuration Protocol (DHCP) Server to save automatic bindings on a remote host called a database agent. To configure a DHCP server database agent and database agent parameters, use the ip dhcp database global configuration command. Use the no form of this command to remove the database agent.
ip dhcp database url [timeout seconds | write-delay seconds]
no ip dhcp database url
Syntax Description
Defaults
DHCP waits 300 seconds for both a write delay and a timeout.
Command Modes
Global configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
The administrator may configure multiple database agents. Bindings are transferred by using the File Transfer Protocol (FTP), Trivial File Transport Protocol (TFTP), or remote copy protocol (RCP).
Example
The following example specifies the DHCP database transfer timeout value at 80 seconds:
ip dhcp database ftp://user:password@172.16.1.1/router-dhcp timeout 80The following example specifies the DHCP database update delay value at 100 seconds:
ip dhcp database tftp://172.16.1.1/router-dhcp write-delay 100Related Commands
show ip dhcp database
ip dhcp excluded-address
To specify IP addresses that a Cisco IOS Dynamic Host Configuration Protocol (DHCP) Server should not assign to DHCP clients, use the ip dhcp excluded-address global configuration command. Use the no form of this command to remove the excluded IP addresses.
ip dhcp excluded-address low-address [high-address]
no ip dhcp excluded-address low-address [high-address]
Syntax Description
low-address
The excluded IP address, or first IP address in an excluded address range.
high-address
(Optional) The last IP address in the excluded address range.
Defaults
All IP pool addresses are assignable.
Command Modes
Global configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
The DHCP server assumes that all pool addresses may be assigned to clients. Use this command to exclude a single IP address or a range of IP addresses.
Example
The following example configures an excluded IP address range from 172.16.1.100 through 172.16.1.199:
ip dhcp excluded-address 172.16.1.100 172.16.1.199Related Commands
ip dhcp pool
network (DHCP)ip dhcp ping packets
To specify the number of packets a Cisco IOS Dynamic Host Configuration Protocol (DHCP) Server sends to a pool address as part of a ping operation, use the ip dhcp ping packets global configuration command. Use the no form of this command to prevent the server from pinging pool addresses.
ip dhcp ping packets count
no ip dhcp ping packets
Syntax Description
count
Indicates the number of ping packets that are sent before assigning the address to a requesting client. The default value is two packets.
Defaults
Two packets
Command Modes
Global configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
The DHCP server pings a pool address 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.
Examples
The following example specifies five ping attempts by the DHCP server before ceasing any further ping attempts:
ip dhcp ping packets 5Related Commands
clear ip dhcp conflicts
ip dhcp ping timeout
show ip dhcp conflictsip dhcp ping timeout
To specify how long a Cisco IOS Dynamic Host Configuration Protocol (DHCP) Server waits for a ping reply from an address pool, use the ip dhcp ping timeout global configuration command. Use the no form of this command to restore the default number of milliseconds (500) of the timeout.
ip dhcp ping timeout milliseconds
no ip dhcp ping timeout
Syntax Description
Defaults
500 milliseconds
Command Modes
Global configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
This command specifies how long to wait for a ping reply in milliseconds.
Examples
The following example specifies that the DHCP server will wait 800 milliseconds for a ping reply before considering the ping a failure:
ip dhcp ping timeout 800Related Commands
clear ip dhcp conflicts
ip dhcp ping packets
show ip dhcp conflictsip dhcp pool
To configure a Dynamic Host Configuration Protocol (DHCP) address pool on a Cisco IOS DHCP Server and enter DHCP pool configuration mode, use the ip dhcp pool global configuration command. Use the no form of this command to remove the address pool.
ip dhcp pool name
no ip dhcp pool name
Syntax Description
Defaults
DHCP address pools are not configured.
Command Modes
Global configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
During execution, the configuration mode changes to DHCP pool configuration mode, identified by the (config-dhcp)# prompt. In this mode, the administrator can configure pool parameters, like the IP subnet number and default router list.
Examples
The following example configures pool1 as the DHCP address pool:
ip dhcp pool pool1Related Commands
host
ip dhcp excluded-address
network (DHCP)ip dhcp relay information check
To configure a Cisco IOS Dynamic Host Configuration Protocol (DHCP) Server to validate the relay agent information option in forwarded BOOTREPLY messages, use the ip dhcp relay information check global configuration command. Use the no form of this command to disable an information check.
ip dhcp relay information check
no ip dhcp relay information check
Syntax Description
This command has no arguments or keywords.
Defaults
The DHCP server checks relay information. Invalid messages are dropped.
Command Modes
Global configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
This command is used by cable modem termination systems. By default, DHCP checks relay information. Invalid messages are dropped.
Examples
The following example configures the DHCP server to check that the relay agent information option in forwarded BOOTREPLY messages is valid:
ip dhcp relay information checkRelated Commands
ip dhcp relay information option
ip dhcp relay information policyip dhcp relay information option
To configure a Cisco IOS Dynamic Host Configuration Protocol (DHCP) Server to insert the DHCP relay agent information option in forwarded BOOTREQUEST messages, use the ip dhcp relay information option global configuration command. Use the no form of this command to disable inserting relay information to forwarded BOOTREQUEST messages.
ip dhcp relay information option
no ip dhcp relay information option
Syntax Description
This command has no arguments or keywords.
Defaults
The DHCP server does not insert relay information.
Command Modes
Global configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
This command is used by cable modem termination systems. By default, DHCP does not insert relay information.
Examples
The following example configures a DHCP server to insert the DHCP relay agent information option in forwarded BOOTREQUEST messages:
ip dhcp relay information optionRelated Commands
ip dhcp relay information check
ip dhcp relay information policyip dhcp relay information policy
To configure a Dynamic Host Configuration Protocol (DHCP) relay agent's information reforwarding policy (what a DHCP relay agent should do if a message already contains relay information), use the ip dhcp relay information policy global configuration command. Use the no form of this command to restore the default relay information policy.
ip dhcp relay information policy {drop | keep | replace}
no ip dhcp relay information policy
Syntax Description
Defaults
The DHCP server replaces existing relay information.
Command Modes
Global configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
This command is used by cable modem termination systems. When a DHCP relay agent receives a message from a another DHCP relay agent, relay information might already be present in the message. By default, the relay information from the previous relay agent is replaced.
Examples
The following examples configure a DHCP relay agent to drop messages with existing relay information, keep existing information, and replace existing information:
ip dhcp relay information policy dropip dhcp relay information policy keepip dhcp relay information policy replaceRelated Commands
ip dhcp relay information check
ip dhcp relay information optionlease
To configure the duration of the lease for an IP address that is assigned from a Cisco IOS Dynamic Host Configuration Protocol (DHCP) Server to a DHCP client, use the lease DHCP pool configuration command. Use the no form of this command to restore the default value.
lease {days [hours][minutes] | infinite}
no lease
Syntax Description
Defaults
One day
Command Modes
DHCP pool configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
Examples
The following example shows a one-day lease:
lease 1The following example shows a one-hour lease:
lease 0 1The following example shows a one-minute lease:
lease 0 0 1The following example shows an infinite (unlimited) lease:
lease infiniteRelated Commands
ip dhcp pool
netbios-name-server
To configure NetBIOS Windows Internet Naming Service (WINS) name servers that are available to Microsoft Dynamic Host Configuration Protocol (DHCP) clients, use the netbios-name-server DHCP pool configuration command. Use the no form of this command to remove the NetBIOS name server list.
netbios-name-server address [address2...address8]
no netbios-name-server
Syntax Description
Defaults
None
Command Modes
DHCP pool configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
One IP address is required, although you can specify up to eight addresses in one command line. Servers are listed in order of preference (address1 is the most preferred server, address2 is the next most preferred server, and so on).
Examples
The following example specifies the IP address of a NetBIOS name server available to the client:
netbios-name-server 10.12.1.90Related Commands
dns-server
domain-name
ip dhcp pool
netbios-node-typenetbios-node-type
To configure the NetBIOS node type for Microsoft Dynamic Host Configuration Protocol (DHCP) clients, use the netbios-node-type DHCP pool configuration command. Use the no form of this command to remove the NetBIOS node type.
netbios-node-type type
no netbios-node-type
Syntax Description
type
Specifies the NetBIOS node type. Valid types are:
•
b-node Broadcast
•
p-node Peer-to-peer
•
m-node Mixed
•
h-node Hybrid (recommended)
Defaults
None
Command Modes
DHCP pool configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
The recommended type is h-node (hybrid).
Examples
The following example specifies the client's NetBIOS type as hybrid:
netbios node-type h-nodeRelated Commands
ip dhcp pool
netbios-name-servernetwork (DHCP)
To configure the subnet number and mask for a Dynamic Host Configuration Protocol (DHCP) address pool on a Cisco IOS DHCP Server, use the network DHCP pool configuration command. Use the no form of this command to remove the subnet number and mask.
network network-number [mask | /prefix-length]
no network
Syntax Description
Defaults
None
Command Modes
DHCP pool configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
This command is valid for DHCP subnetwork address pools only. If the mask or prefix length is not specified, the class A, B, or C natural mask is used. The DHCP server assumes that all host addresses are available. The system administrator can exclude subsets of the address space by using the ip dhcp excluded-address command.
You can not configure manual bindings within the same pool that is configured with the network command.
Examples
The following example configures 172.16.0.0/16 as the DHCP pool's subnetwork number and mask:
network 172.16.0.0 /16Related Commands
host
ip dhcp excluded-address
ip dhcp poolnext-server
To configure the next server in a Dynamic Host Configuration Protocol (DHCP) client's boot process, use the next-server DHCP pool configuration command. Use the no form of this command to remove the boot server list.
next-server address [address2...address8]
no next-server address
Syntax Description
Defaults
If the next-server command is not used to configure a boot server list, the DHCP server uses inbound interface helper addresses as boot servers.
Command Modes
DHCP pool configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
You can specify up to eight servers in the list. Servers are listed in order of preference (address1 is the most preferred server, address2 is the next most preferred server, and so on).
Examples
The following example specifies 10.12.1.99 as the IP address of the next server in the boot process:
next-server 10.12.1.99Related Commands
bootfile
ip dhcp pool
ip helper-address
optionoption
To configure Cisco IOS Dynamic Host Configuration Protocol (DHCP) Server options, use the option DHCP pool configuration command. Use the no form of this command to remove the options.
option code [instance number] {ascii string | hex string | ip address}
no option code [instance number]
Syntax Description
Defaults
The default instance number is 0.
Command Modes
DHCP pool configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
DHCP provides a framework for passing configuration information to hosts on a TCP/IP network. Configuration parameters and other control information are carried in tagged data items that are stored in the options field of the DHCP message. The data items themselves are also called options. The current set of DHCP options are documented in RFC 2131, Dynamic Host Configuration Protocol.
Examples
The following example configures DHCP option 19, which specifies whether the client should configure its IP layer for packet forwarding. A value of 0 means disable IP forwarding; a value of 1 means enable IP forwarding. IP forwarding is enabled in the following example:
option 19 hex 01The following example configures DHCP option 72, which specifies the World Wide Web servers for DHCP clients. World Wide Web servers 172.16.3.252 and 172.16.3.253 are configured in the following example:
option 72 ip 172.16.3.252 172.16.3.253Related Commands
ip dhcp pool
service dhcp
To enable the Cisco IOS Dynamic Host Configuration Protocol (DHCP) Server feature on your router, use the service dhcp global configuration command. Use the no form of this command to disable the Cisco IOS DHCP Server feature.
service dhcp
no service dhcp
Syntax Description
This command has no keywords or arguments.
Defaults
The feature is enabled.
Command Modes
Global configuration
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
Examples
The following example enables DHCP services on the DHCP server:
service dhcpshow ip dhcp binding
To display address bindings on the Cisco IOS Dynamic Host Configuration Protocol (DHCP) Server, use the show ip dhcp binding EXEC command.
show ip dhcp binding [address]
Syntax Description
address
(Optional) Specifies the IP address of the DHCP client for which bindings will be displayed.
Defaults
None
Command Modes
EXEC
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
If the address is not specified, all address bindings are shown. Otherwise, only the binding for the specified client is displayed.
Examples
The following examples show the DHCP binding address parameters, including an IP address, an associated MAC address, a lease expiration date, and the type of address assignment that have occurred. Table 2 lists descriptions of the fields in each example.
Router> show ip dhcp binding 172.16.1.11IP address Hardware address Lease expiration Type172.16.1.11 00a0.9802.32de Feb 01 1998 12:00 AM AutomaticRouter> show ip dhcp binding 172.16.3.254IP address Hardware address Lease expiration Type172.16.2.254 02c7.f800.0422 Infinite Manual
Related Commands
clear ip dhcp binding
show ip dhcp conflict
To display address conflicts found by a Cisco IOS Dynamic Host Configuration Protocol (DHCP) Server when addresses are offered to the client, use the show ip dhcp conflict EXEC command.
show ip dhcp conflict [address]
Syntax Description
Defaults
None
Command Modes
EXEC
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
The server detects conflicts using ping. The client detects conflicts using gratuitous Address Resolution Protocol (ARP). If an address conflict is detected, the address is removed from the pool and the address will not be assigned until an administrator resolves the conflict.
Examples
The following example displays the detection method and detection time for all IP addresses the DHCP server has offered that have conflicts with other devices. Table 3 lists descriptions of the fields in the example.
Router> show ip dhcp conflictIP address Detection Method Detection time172.16.1.32 Ping Feb 16 1998 12:28 PM172.16.1.64 Gratuitous ARP Feb 23 1998 08:12 AM
Related Commands
clear ip dhcp conflict
ip dhcp ping packets
ip dhcp ping timeoutshow ip dhcp database
To display Cisco IOS Dynamic Host Configuration Protocol (DHCP) Server database agent information, use the show ip dhcp database Privileged EXEC command.
show ip dhcp database [url]
Syntax Description
Defaults
If a URL is not specified, all database agent records are shown. Otherwise, only information about the specified agent is displayed.
Command Modes
Privileged EXEC
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
Examples
The following example shows all DHCP server database agent information. Table 4 lists descriptions for each field in the example.
Router# show ip dhcp databaseURL : ftp://user:password@172.16.4.253/router-dhcpRead : Dec 01 1997 12:01 AMWritten : NeverStatus : Last read succeeded. Bindings have been loaded in RAM.Delay : 300 secondsTimeout : 300 secondsFailures : 0Successes : 1
Related Commands
ip dhcp database
show ip dhcp server statistics
To display Cisco IOS Dynamic Host Configuration Protocol (DHCP) Server statistics, use the show ip dhcp server statistics EXEC command.
show ip dhcp server statistics
Syntax Description
This command has no arguments or keywords.
Defaults
None
Command Modes
EXEC
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
Examples
The following example displays DHCP server statistics. Table 5 lists descriptions for each field in the example.
Router> show ip dhcp server statisticsMemory usage 40392Address pools 3Database agents 1Automatic bindings 190Manual bindings 1Expired bindings 3Malformed messages 0Message ReceivedBOOTREQUEST 12DHCPDISCOVER 200DHCPREQUEST 178DHCPDECLINE 0DHCPRELEASE 0DHCPINFORM 0Message SentBOOTREPLY 12DHCPOFFER 190DHCPACK 172DHCPNAK 6
Related Commandsclear ip dhcp server statistics
Debug Commands
This section describes the following new debug command:
debug ip dhcp server
To enable Cisco IOS Dynamic Host Configuration Protocol (DHCP) Server debugging, use the debug ip dhcp server privileged EXEC command. Use the no form of this command to disable DHCP server debugging.
debug ip dhcp server {events | packets | linkage}
no debug ip dhcp server {events | packets | linkage}Syntax Description
Defaults
DHCP server debugging is not enabled.
Usage Guidelines
This command first appeared in Cisco IOS Release 12.0(1)T.
Examples
The first example below shows a combination of DHCP server events and decoded receptions and transmissions. The second example below shows database linkage information.
Router# debug ip dhcp server eventsRouter# debug ip dhcp server packetsDHCPD:DHCPDISCOVER received from client 0b07.1134.a029 through relay 10.1.0.253.DHCPD:assigned IP address 10.1.0.3 to client 0b07.1134.a029.DHCPD:Sending DHCPOFFER to client 0b07.1134.a029 (10.1.0.3).DHCPD:unicasting BOOTREPLY for client 0b07.1134.a029 to relay 10.1.0.253.DHCPD:DHCPREQUEST received from client 0b07.1134.a029.DHCPD:Sending DHCPACK to client 0b07.1134.a029 (10.1.0.3).DHCPD:unicasting BOOTREPLY for client 0b07.1134.a029 to relay 10.1.0.253.DHCPD:checking for expired leases.Router# debug ip dhcp server linkageDHCPD:child pool:10.1.0.0 / 255.255.0.0 (subnet10.1)DHCPD:parent pool:10.0.0.0 / 255.0.0.0 (net10)DHCPD:child pool:10.0.0.0 / 255.0.0.0 (net10)DHCPD:pool (net10) has no parent.DHCPD:child pool:10.1.0.0 / 255.255.0.0 (subnet10.1)DHCPD:parent pool:10.0.0.0 / 255.0.0.0 (net10)DHCPD:child pool:10.0.0.0 / 255.0.0.0 (net10)DHCPD:pool (net10) has no parent.Related Commands
show ip dhcp bindings
show ip dhcp databaseGlossary
address binding—A mapping between the client's IP and hardware (MAC) addresses. The client's IP address may be configured by the administrator (manual address allocation) or assigned from a pool by the DHCP server (automatic address allocation). The binding also contains a lease expiration date. The default for the lease expiration date is one day.
address conflict—A duplication of use of the same IP address by two hosts. During address assignment, DHCP checks for conflicts using ping and gratuitous ARP. If a conflict is detected, the address is removed from the pool. The address will not be assigned until the administrator resolves the conflict.
address pool—The range of IP addresses assigned by the DHCP server. Address pools are indexed by subnet number.
client—Any host requesting configuration parameters.
database—A collection of address pools and bindings.
database agent—Any host storing the DHCP bindings database, for example, a Trivial File Transfer Protocol (TFTP) server.
DNS—Domain Name System. A system used in the Internet for translating names of network nodes into addresses.
automatic address allocation—An address assignment method where a network administrator obtains an IP address for a client for a finite period of time or until the client explicitly relinquishes the address. Automatic allocation is particularly useful for assigning an address to a client that will be connected to the network only temporarily or for sharing a limited pool of IP addresses among a group of clients that do not need permanent IP addresses. Automatic allocation may also be a good choice for assigning an IP address to a new client being permanently connected to a network where IP addresses are sufficiently scarce that it is important to reclaim them when old clients are retired.
Dynamic Host Configuration Protocol (DHCP)—A protocol that provides a mechanism for allocating IP addresses dynamically so that addresses can be reused when hosts no longer need them.
manual address allocation—An address assignment method that allocates an administratively assigned IP address to a host. Manual allocation allows DHCP to be used to eliminate the error-prone process of manually configuring hosts with IP addresses.
server—Any host providing configuration parameters.


