Cisco IOS IPv6 Configuration Guide, Release 12.4
Implementing DHCP for IPv6

Table Of Contents

Implementing DHCP for IPv6

Finding Feature Information

Contents

Prerequisites for Implementing DHCP for IPv6

Restrictions for Implementing DHCP for IPv6

Information About Implementing DHCP for IPv6

DHCPv6 Prefix Delegation

Configuring Nodes Without Prefix Delegation

Client and Server Identification

Rapid Commit

DHCPv6 Client, Server, and Relay Functions

How to Implement DHCP for IPv6

Configuring the DHCPv6 Server Function

Configuring DHCPv6 Configuration Pool

Configuring a Binding Database Agent for the Server Function

Configuring the DHCPv6 Client Function

Configuring the DHCPv6 Relay Agent

Configuring DHCP for IPv6 Address Assignment

Prerequisites for Configuring DHCPv6 Address Assignment

Enabling the DHCPv6 Server Function on an Interface

Enabling the DHCPv6 Client Function on an Interface

Configuring the Stateless DHCPv6 Function

Configuring the Stateless DHCPv6 Server

Configuring the Stateless DHCPv6 Client

Enabling Processing of Packets with Source Routing Header Options

Configuring the DHCPv6 Server Options

Configuring the Information Refresh Server Option

Importing the Information Refresh Server Option

Configuring NIS- and NISP-Related Server Options

Importing NIS- and NIS+-Related Server Options

Importing SIP Server Options

Configuring the SNTP Server Option

Importing the SNTP Server Option

Importing Stateless DHCPv6 Server Options

Defining a General Prefix with the DHCPv6 Prefix Delegation Client Function

Restarting the DHCPv6 Client on an Interface

Deleting Automatic Client Bindings from the DHCPv6 Binding Table

Troubleshooting DHCPv6

Verifying DHCPv6 Configuration and Operation

Examples

Configuration Examples for Implementing DHCP for IPv6

Configuring the DHCPv6 Server Function: Example

Configuring the DHCPv6 Client Function: Example

Configuring a Database Agent for the Server Function: Example

Configuring DHCP for IPv6 Address Assignment

Configuring the Stateless DHCPv6 Function: Example

Additional References

Related Documents

Standards

MIBs

RFCs

Technical Assistance

Command Reference

Feature Information for Implementing DHCP for IPv6


Implementing DHCP for IPv6


First Published: June 26, 2006
Last Updated: June 4, 2009

The "Implementing DHCP for IPv6" module describes how to configure Dynamic Host Configuration Protocol (DHCP) for IPv6 prefix delegation on your networking devices.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest feature information and caveats, see the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the "Feature Information for Implementing DHCP for IPv6" section.

Use Cisco Feature Navigator to find information about platform support and Cisco IOS and Catalyst OS software image support. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.

Contents

Prerequisites for Implementing DHCP for IPv6

Restrictions for Implementing DHCP for IPv6

Information About Implementing DHCP for IPv6

How to Implement DHCP for IPv6

Configuration Examples for Implementing DHCP for IPv6

Additional References

Command Reference

Feature Information for Implementing DHCP for IPv6

Prerequisites for Implementing DHCP for IPv6

This document assumes that you are familiar with IPv6 and IPv4. See the publications referenced in the "Additional References" section for IPv6 and IPv4 configuration and command reference information.

Restrictions for Implementing DHCP for IPv6

Cisco IOS Release 12.0S provides IPv6 support on Cisco 12000 series Internet routers and Cisco 10720 Internet routers only.

The DHCPv6 Remote-ID for Ethernet interfaces feature works only for Ethernet interfaces in Cisco IOS Release 12.2(33)SRC.

The DHCPv6 implementation in Cisco IOS Release 12.3(4)T, Cisco IOS Release 12.0(32)S, and Cisco IOS 12.2(33)SRC support only stateless address assignment.

Information About Implementing DHCP for IPv6

To configure DHCPv6 for Cisco IOS software, you must understand the following concept:

DHCPv6 Prefix Delegation

DHCPv6 Prefix Delegation

The DHCPv6 prefix delegation feature can be used to manage link, subnet, and site addressing changes. DHCPv6 can be used in environments to deliver stateful and stateless information:

Stateful—Address assignment is centrally managed and clients must obtain configuration information not available through protocols such as address autoconfiguration and neighbor discovery.

Stateless—Stateless configuration parameters do not require a server to maintain any dynamic state for individual clients, such as Domain Name System (DNS) server addresses and domain search list options.

Extensions to DHCPv6 also enable prefix delegation, through which an Internet service provider (ISP) can automate the process of assigning prefixes to a customer for use within the customer's network. Prefix delegation occurs between a provider edge (PE) device and customer premises equipment (CPE), using the DHCPv6 prefix delegation option. Once the ISP has delegated prefixes to a customer, the customer may further subnet and assign prefixes to the links in the customer's network.

Configuring Nodes Without Prefix Delegation

Stateless DHCPv6 allows DHCPv6 to be used for configuring a node with parameters that do not require a server to maintain any dynamic state for the node. The use of stateless DHCP is controlled by router advertisement (RA) messages multicated by routers. The Cisco IOS DHCPv6 client will invoke stateless DHCPv6 when it receives an appropriate RA. The Cisco IOS DHCPv6 server will respond to a stateless DHCPv6 request with the appropriate configuration parameters, such as the DNS servers and domain search list options.

Client and Server Identification

Each DHCPv6 client and server is identified by a DHCP unique identifier (DUID). The DUID is carried in the client identifier and server identifier options. The DUID is unique across all DHCP clients and servers, and it is stable for any specific client or server. DHCPv6 uses DUIDs based on link-layer addresses for both the client and server identifier. The device uses the MAC address from the lowest-numbered interface to form the DUID. The network interface is assumed to be permanently attached to the device.

When an IPv6 DHCP client requests two prefixes with the same DUID but different IAIDs on two different interfaces, these prefixes are considered to be for two different clients, and interface information is maintained for both.

Rapid Commit

The DHCPv6 client can obtain configuration parameters from a server either through a rapid two-message exchange (solicit, reply) or through a normal four-message exchange (solicit, advertise, request, reply). By default, the four-message exchange is used. When the rapid-commit option is enabled by both client and server, the two-message exchange is used.

DHCPv6 Client, Server, and Relay Functions

The DHCPv6 client, server, and relay functions are mutually exclusive on an interface. When one of these functions is already enabled and a user tries to configure a different function on the same interface, one of the following messages is displayed: "Interface is in DHCP client mode," "Interface is in DHCP server mode," or "Interface is in DHCP relay mode."

The following sections describe these functions:

Client Function

Server Function

DHCP Relay Agent

Client Function

The DHCPv6 client function can be enabled on individual IPv6-enabled interfaces.

The DHCPv6 client can request and accept those configuration parameters that do not require a server to maintain any dynamic state for individual clients, such as DNS server addresses and domain search list options. The DHCPv6 client will configure the local Cisco IOS stack with the received information.

The DHCPv6 client can also request the delegation of prefixes. The prefixes acquired from a delegating router will be stored in a local IPv6 general prefix pool. The prefixes in the general prefix pool can then be referred to from other applications; for example, the general prefix pools can be used to number router downstream interfaces.

Server Selection

A DHCPv6 client builds a list of potential servers by sending a solicit message and collecting advertise message replies from servers. These messages are ranked based on preference value, and servers may add a preference option to their advertise messages explicitly stating their preference value. If the client needs to acquire prefixes from servers, only servers that have advertised prefixes are considered.

IAPD and IAID

An Identity Association for Prefix Delegation (IAPD) is a collection of prefixes assigned to a requesting router. A requesting router may have more than one IAPD; for example, one for each of its interfaces.

Each IAPD is identified by an identity association identification (IAID). The IAID is chosen by the requesting router and is unique among the IAPD IAIDs on the requesting router. IAIDs are made consistent across reboots by using information from the associated network interface, which is assumed to be permanently attached to the device.

Server Function

The DHCPv6 server function can be enabled on individual IPv6-enabled interfaces.

The DHCPv6 server can provide those configuration parameters that do not require the server to maintain any dynamic state for individual clients, such as DNS server addresses and domain search list options. The DHCPv6 server may be configured to perform prefix delegation.

All the configuration parameters for clients are independently configured into DHCPv6 configuration pools, which are stored in NVRAM. A configuration pool can be associated with a particular DHCPv6 server on an interface when it is started. Prefixes to be delegated to clients may be specified either as a list of preassigned prefixes for a particular client or as IPv6 local prefix pools that are also stored in NVRAM. The list of manually configured prefixes or IPv6 local prefix pools can be referenced and used by DHCPv6 configuration pools.

The DHCPv6 server maintains an automatic binding table in memory to track the assignment of some configuration parameters, such as prefixes between the server and its clients. The automatic bindings can be stored permanently in the database agent, which can be, for example, a remote TFTP server or local NVRAM file system.

Configuration Information Pool

A DHCPv6 configuration information pool is a named entity that includes information about available configuration parameters and policies that control assignment of the parameters to clients from the pool. A pool is configured independently of the DHCPv6 service and is associated with the DHCPv6 service through the command-line interface (CLI).

Each configuration pool can contain the following configuration parameters and operational information:

Prefix delegation information, which could include:

A prefix pool name and associated preferred and valid lifetimes

A list of available prefixes for a particular client and associated preferred and valid lifetimes

A list of IPv6 addresses of DNS servers

A domain search list, which is a string containing domain names for DNS resolution

DHCP for IPv6 Address Assignment

DHCPv6 enables DHCP servers to pass configuration parameters, such as IPv6 network addresses, to IPv6 clients. The address assignment feature manages nonduplicate address assignment in the correct prefix based on the network where the host is connected. Assigned addresses can be from one or multiple prefix pools. Additional options, such as the default domain and DNS name-server address, can be passed back to the client. Address pools can be assigned for use on a specific interface or on multiple interfaces, or the server can automatically find the appropriate pool.

Prefix Assignment

A prefix-delegating router (DHCPv6 server) selects prefixes to be assigned to a requesting router (DHCPv6 client) upon receiving a request from the client. The server can select prefixes for a requesting client using static assignment and dynamic assignment mechanisms. Administrators can manually configure a list of prefixes and associated preferred and valid lifetimes for an IAPD of a specific client that is identified by its DUID.

When the delegating router receives a request from a client, it checks if there is a static binding configured for the IAPD in the client's message. If a static binding is present, the prefixes in the binding are returned to the client. If no such a binding is found, the server attempts to assign prefixes for the client from other sources.

The Cisco IOS DHCPv6 server can assign prefixes dynamically from an IPv6 local prefix pool. When the server receives a prefix request from a client, it attempts to obtain unassigned prefixes from the pool. After the client releases the previously assigned prefixes, the server returns them to the pool for reassignment.

An IPv6 prefix delegating router can also select prefixes for a requesting router based on an external authority such as a RADIUS server using the Framed-IPv6-Prefix attribute. For more information on this feature, see the Implementing ADSL and Deploying Dial Access for IPv6 module.

Automatic Binding

Each DHCPv6 configuration pool has an associated binding table. The binding table contains the records about all the prefixes in the configuration pool that have been explicitly delegated to clients. Each entry in the binding table contains the following information:

Client DUID

Client IPv6 address

A list of IAPDs associated with the client

A list of prefixes delegated to each IAPD

Preferred and valid lifetimes for each prefix

The configuration pool to which this binding table belongs

The network interface on which the server that is using the pool is running

A binding table entry is automatically created whenever a prefix is delegated to a client from the configuration pool, and it is updated when the client renews, rebinds, or confirms the prefix delegation. A binding table entry is deleted when the client releases all the prefixes in the binding voluntarily, all prefixes' valid lifetimes have expired, or administrators run the clear ipv6 dhcp binding command.

Binding Database

The automatic bindings are maintained in RAM and can be saved to some permanent storage so that the information about configuration such as prefixes assigned to clients is not lost after a system reload or power down. The bindings are stored as text records for easy maintenance. Each record contains the following information:

DHCPv6 pool name from which the configuration was assigned to the client

Interface identifier from which the client requests were received

The client IPv6 address

The client DUID

IAID of the IAPD

Prefix delegated to the client

The prefix length

The prefix preferred lifetime in seconds

The prefix valid lifetime in seconds

The prefix expiration time stamp

Optional local prefix pool name from which the prefix was assigned

At the beginning of the file, before the text records, a time stamp records the time when the database is written and a version number, which helps differentiate between newer and older databases. At the end of the file, after the text records, the text string "*end*" is stored to detect file truncation.

The permanent storage to which the binding database is saved is called the database agent. Database agents include FTP and TFTP servers, RCP, flash file system, and NVRAM.

DHCPv6 Server Stateless Autoconfiguration

Hierarchical DHCPv6 for stateless configuration parameters allows a stateless or stateful DHCPv6 client to export configuration parameters (DHCPv6 options) to a local DHCPv6 server pool. The local DHCPv6 server can then provide the imported configuration parameters to other DHCPv6 clients.

Figure 1 shows a typical broadband deployment.

Figure 1 Broadband Topology

The CPE interface toward the PE can be a stateless or stateful DHCPv6 client. In either case, the ISP-side DHCPv6 server may provide configuration parameters such as DNS server addresses, domain names, and Simple Network Time Protocol (SNTP) servers to the DHCP client on the CPE. These information can be specific to an ISP and may change.

In addition to being a DHCPv6 client (for example, toward the ISP), the CPE may act as a DHCPv6 server to the home network. For example, Neighbor Discovery followed by stateless or stateful DHCPv6 can occur on the link between CPE and the home devices (for example, the home router or PC). In some cases, the information to be provided to the home network is the same information obtained from the ISP-side DHCPv6 server. Because this information can be dynamically changed, it cannot be hard-configured in the CPE's configuration. Therefore, the DHCPv6 component on the CPE allows automatic importing of configuration parameters from the DHCPv6 client to the DHCPv6 server pool.

DHCPv6 provides support of the options for IPv6 on the server described in the following sections:

Information Refresh Server Option

NIS- and NIS+-Related Server Options

SIP Server Options

SNTP Server Option

Information Refresh Server Option

The DHCPv6 information refresh option can specify an upper boundary for the length of time a client should wait before refreshing information retrieved from DHCPv6. This option is used with stateless DHCPv6, because there are no addresses or other entities with lifetimes that can tell the client when to contact the DHCPv6 server to refresh its configuration.

NIS- and NIS+-Related Server Options

Users can configure the network information service (NIS) or NIS plus (NIS+) address or domain name of a DHCPv6 server using NIS- and NIS+-related options, and then import that information to the DHCPv6 client.

SIP Server Options

Session initiation protocol (SIP) server options contain either a list of domain names or IPv6 addresses that can be mapped to one or more SIP outbound proxy servers. One option carries a list of domain names, and the other option carries a list of 128-bit IPv6 addresses.

SIP is an application-layer control protocol that can establish, modify and terminate multimedia sessions or calls. A SIP system has several logical components: user agents, proxy servers, redirect servers, and registrars. User agents may contain SIP clients; proxy servers always contain SIP clients.

SNTP Server Option

The SNTP server option provides a list of one or more IPv6 addresses of SNTP servers available to the client for synchronization. The clients use these SNTP servers to synchronize their system time to that of the standard time servers. The server may list the SNTP servers in decreasing order of preference, but clients must treat the list of SNTP servers as an ordered list.

DHCP Relay Agent

A DHCP relay agent, which may reside on the client's link, is used to relay messages between the client and server. DHCP relay agent operation is transparent to the client. A client locates a DHCP server using a reserved, link-scoped multicast address. Therefore, it is a requirement for direct communication between the client and the server that the client and the server be attached to the same link. However, in some situations in which ease of management, economy, or scalability is a concern, it is desirable to allow a DHCP client to send a message to a DHCP server that is not connected to the same link.

DHCPv6 Relay Agent Notification for Prefix Delegation

DHCPv6 relay agent notification for prefix delegation allows the router working as a DHCPv6 relay agent to find prefix delegation options by reviewing the contents of a DHCPv6 RELAY-REPLY packet that is being relayed by the relay agent to the client. When a prefix delegation option is found by the relay agent, the relay agent extracts the information about the prefix being delegated and inserts an IPv6 static route matching the prefix delegation information onto the relay agent. Future packets destined to that prefix via relay will be forwarded based on the information contained in the prefix delegation. The IPv6 static route is then left in the routing table until the prefix delegation lease time expires or the relay agent receives a release packet from the client releasing the prefix delegation.

No user configuration is required for this feature. Static route management is done automatically by the relay agent.

The IPv6 routes are added when the relay agent relays a RELAY-REPLY packet, and the IPv6 routes are deleted when the prefix delegation lease time expires or the relay agent receives a release message. An IPv6 static route in the routing table of the relay agent can be updated when the prefix delegation lease time is extended.

This feature leaves a static IPv6 route on the routing table of the relay agent. This registered IPv6 address allows unicast reverse packet forwarding (uRPF) to work by allowing the router doing the reverse lookup to confirm that the IPv6 address on the relay agent is not malformed or spoofed. The static route left in the routing table of the relay agent can be redistributed to other routing protocols to advertise the subnets to other nodes. The static routes will be removed when an DHCP_DECLINE message is sent by the client.

DHCPv6 Relay Options: Remote-ID for Ethernet Interfaces

This feature adds the remote identification (remote-ID) option to relayed (RELAY-FORWARD) DHCPv6 packets.

The remote-ID option provides information to the DHCPv6 server, including port information, the system's DUID, and the VLAN ID. Collectively, this information can be used to uniquely identify both the relay and the port on the relay through which the client's packet arrived. The DHCPv6 server uses this information to select parameters specific to a particular user, host, or subscriber modem. This feature works only for Ethernet interfaces at this time.

This feature introduces no user configuration. Because the addition of the remote-ID option to the RELAY-FORWARD packet occurs automatically, no user configuration is necessary.

The DHCPv6 server does not need to echo the remote-ID option in the RELAY-REPLY packet. Internet Assigned Numbers Authority (IANA) has assigned the DHCPv6 option code 37 for the relay agent remote-ID option.

If the remote-ID option is included in the RELAY-REPLY packet, the option is stripped out of the packet before the packet is relayed to the client.

DHCPv6 Relay Options: Reload Persistent Interface-ID

This feature makes the interface-ID option, which is used by relay agents to decide which interface should be used when forwarding a RELAY-REPLY packet, persistent. A persistent interface-ID option will not change if the router acting as a relay agent goes offline (such as during a reload or a power outage). When the router acting as a relay agent returns online, it is possible that changes to the internal interface index of the relay agent may have occurred in certain scenarios (such as cases where the relay agent reboots and has a change in the number of interfaces in the interface index, or the relay agents boots up and has more virtual interfaces than it did before the reboot). This feature prevents this scenario from causing any problems.

This feature changes the DHCPv6 interface-ID option to be expressed as simply the short form of the interface name. This syntax helps avoid potential problems that could arise due to physical or logical interfaces changing on the relay agent after a reload.

How to Implement DHCP for IPv6

The tasks in the following sections explain how to implement DHCPv6:

Configuring the DHCPv6 Server Function (required)

Configuring the DHCPv6 Client Function (required)

Configuring the DHCPv6 Relay Agent (required)

Configuring DHCP for IPv6 Address Assignment (required)

Verifying DHCPv6 Configuration and Operation (optional)

Configuring the Stateless DHCPv6 Function (required)

Configuring the DHCPv6 Server Options (required)

Defining a General Prefix with the DHCPv6 Prefix Delegation Client Function (required)

Restarting the DHCPv6 Client on an Interface (optional)

Deleting Automatic Client Bindings from the DHCPv6 Binding Table (required)

Troubleshooting DHCPv6 (optional)

Verifying DHCPv6 Configuration and Operation (optional)

Configuring the DHCPv6 Server Function

The tasks in the following sections explain how to configure DHCPv6 server function:

Configuring DHCPv6 Configuration Pool

Configuring a Binding Database Agent for the Server Function

Configuring DHCPv6 Configuration Pool

This task explains how to create and configure the DHCPv6 configuration pool and associate the pool with a server on an interface.

SUMMARY STEPS

1. enable

2. configure terminal

3. ipv6 dhcp pool poolname

4. domain-name domain

5. dns-server ipv6-address

6. prefix-delegation ipv6-prefix/prefix-length client-DUID [iaid iaid] [lifetime]

7. prefix-delegation pool poolname [lifetime {valid-lifetime preferred-lifetime}]

8. exit

9. interface type number

10. ipv6 dhcp server poolname [rapid-commit] [preference value] [allow-hint]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ipv6 dhcp pool poolname

Example:
Router(config)# ipv6 dhcp pool pool1

Configures a DHCPv6 configuration information pool and enters DHCPv6 pool configuration mode.

Step 4 

domain-name domain

Example:
Router(config-dhcp)# domain-name example.com 

Configures a domain name for a DHCPv6 client.

Step 5 

dns-server ipv6-address

Example:
Router(config-dhcp)# dns-server 
2001:0DB8:3000:3000::42

Specifies the DNS IPv6 servers available to a DHCPv6 client.

Step 6 

prefix-delegation ipv6-prefix/prefix-length client-DUID [iaid iaid] [lifetime]

Example:
Router(config-dhcp)# prefix-delegation 
2001:0DB8:1263::/48 0005000400F1A4D070D03

Specifies a manually configured numeric prefix to be delegated to a specified client's IAPD.

Step 7 

prefix-delegation pool poolname [lifetime {valid-lifetime preferred-lifetime}]

Example:
Router(config-dhcp)# prefix-delegation pool 
pool1 lifetime 1800 60 

Specifies a named IPv6 local prefix pool from which prefixes are delegated to DHCPv6 clients.

Step 8 

exit

Example:

Router(config-dhcp)# exit

Exits DHCPv6 pool configuration mode configuration mode, and returns the router to global configuration mode.

Step 9 

interface type number

Example:

Router(config)# interface serial 3

Specifies an interface type and number, and places the router in interface configuration mode.

Step 10 

ipv6 dhcp server poolname [rapid-commit] [preference value] [allow-hint]

Example:
Router(config-if)# ipv6 dhcp server pool1 

Enables DHCPv6 on an interface.


Configuring a Binding Database Agent for the Server Function

This task shows how to configure a DHCPv6 binding database agent for the server function.

SUMMARY STEPS

1. enable

2. configure terminal

3. ipv6 dhcp database agent-URL [write-delay seconds] [timeout seconds]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ipv6 dhcp database agent-URL [write-delay seconds] [timeout seconds]

Example:

Router(config)# ipv6 dhcp database tftp://10.0.0.1/dhcp-binding

Specifies DHCPv6 binding database agent parameters.


Configuring the DHCPv6 Client Function

General prefixes can be defined dynamically from a prefix received by a DHCPv6 prefix delegation client. This task shows how to configure the DHCPv6 client function on an interface and enable prefix delegation on an interface. The delegated prefix is stored in a general prefix.

SUMMARY STEPS

1. enable

2. configure terminal

3. interface type number

4. ipv6 dhcp client pd {prefix-name | hint ipv6-prefix} [rapid-commit]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

interface type number

Example:

Router(config)# interface ethernet 0/0

Specifies an interface type and number, and places the router in interface configuration mode.

Step 4 

ipv6 dhcp client pd {prefix-name | hint ipv6-prefix} [rapid-commit]

Example:
Router(config-if)# ipv6 dhcp client pd 
dhcp-prefix

Enables the DHCPv6 client process and enables a request for prefix delegation through a specified interface.


Configuring the DHCPv6 Relay Agent

This task describes how to enable the DHCPv6 relay agent function and specify relay destination addresses on an interface.

SUMMARY STEPS

1. enable

2. configure terminal

3. interface type number

4. ipv6 dhcp relay destination ipv6-address [interface-type interface-number]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

interface type number

Example:

Router(config)# interface ethernet 4/2

Specifies an interface type and number, and places the router in interface configuration mode.

Step 4 

ipv6 dhcp relay destination ipv6-address [interface-type interface-number]

Example:
Router(config-if) ipv6 dhcp relay destination 
FE80::250:A2FF:FEBF:A056 ethernet 4/3

Specifies a destination address to which client packets are forwarded and enables DHCPv6 relay service on the interface.


Configuring DHCP for IPv6 Address Assignment

The following tasks describe how to configure DHCPv6 address assignment:

Prerequisites for Configuring DHCPv6 Address Assignment (required)

Enabling the DHCPv6 Server Function on an Interface (required)

Enabling the DHCPv6 Client Function on an Interface (required)

Prerequisites for Configuring DHCPv6 Address Assignment

By default, no DHCPv6 features are configured on the router.

When configuring DHCPv6 address assignment, remember that the specified interface must be one of these Layer 3 interfaces:

Switch Virtual Interface (SVI): a VLAN interface created by using the interface vlan vlan_id command.

EtherChannel port channel in Layer 3 mode: a port-channel logical interface created by using the interface port-channel port-channel-number command.

Enabling the DHCPv6 Server Function on an Interface

This task describes how to enable the DHCPv6 server function on an interface.


Note To delete a DHCPv6 pool, use the no ipv6 dhcp pool poolname global configuration command. Use the no form of the DHCP pool configuration mode commands to change the DHCPv6 pool characteristics. To disable the DHCPv6 server function on an interface, use the no ipv6 dhcp server interface configuration command.


Summary Steps

1. enable

1. configure terminal

2. ipv6 dhcp pool poolname

3. address prefix IPv6-prefix [lifetime {valid-lifetime preferred-lifetime | infinite}]

4. link-address IPv6-prefix

5. vendor-specific vendor-id

6. suboption number {address IPv6-address | ascii ASCII-string | hex hex-string}

7. exit

8. exit

9. interface type number

10. ipv6 dhcp server [poolname | automatic] [rapid-commit] [preference value] [allow-hint]

11. end

12. show ipv6 dhcp pool

       or

       show ipv6 dhcp interface

13. copy running-config startup-config

Detailed Steps

 
Command
Purpose

Step 1 

enable

Example:
Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 1 

configure terminal
Example:

Router(config)# configure terminal

Enters global configuration mode.

Step 2 

ipv6 dhcp pool poolname
Example:

Router(config)# ipv6 dhcp pool engineering

Enters DHCP pool configuration mode, and defines the name of the IPv6 DHCP pool.

Step 3 

address prefix IPv6-prefix [lifetime 
{valid-lifetime preferred-lifetime | 
infinite}]
Example:

Router(config-dhcpv6)# address prefix 2001:1000::0/64 lifetime infinite

(Optional) Specifies an address prefix for address assignment.

This address must be in hexadecimal, using 16-bit values between colons.

lifetime valid-lifetime preferred-lifetime —Specifies a time interval (in seconds) that an IPv6 address prefix remains in the valid state.

Step 4 

link-address IPv6-prefix 
Example:

Router(config-dhcpv6)# link-address 2001:1001::0/64

(Optional) Specifies a link-address IPv6 prefix.

When an address on the incoming interface or a link address in the packet matches the specified IPv6 prefix, the server uses the configuration information pool.

Step 5 

vendor-specific vendor-id 
Example:

Router(config-dhcpv6)# vendor-specific 9

(Optional) Enters vendor-specific configuration mode with the vendor-specific identification number.

Step 6 

suboption number {address IPv6-address | ascii 
ASCII-string | hex hex-string}
Example:

Router(config-dhcpv6-vs)# suboption 1 address 1000:235D::1

(Optional) Enters a vendor-specific suboption number.

Step 7 

exit
Example:

Router(config-dhcpv6-vs)# exit

Returns to DHCP pool configuration mode.

Step 8 

exit
Example:

Router(config-dhcpv6)# exit

Returns to global configuration mode.

Step 9 

interface type number
Example:

Router(config)# interface fastethernet 0/0

Enters interface configuration mode, and specifies the interface to configure.

Step 10 

ipv6 dhcp server [poolname | automatic] 
[rapid-commit] [preference value] [allow-hint]
Example:

Router(config-if)# ipv6 address dhcp server rapid-commit

Enables DHCPv6 server function on an interface.

Step 11 

end
Example:

Router(config-if)# end

Returns to privileged EXEC mode.

Step 12 

show ipv6 dhcp pool

or

show ipv6 dhcp interface
Example:

Router# show ipv6 dhcp pool

or

Router# show ipv6 dhcp interface

Verifies DHCPv6 pool configuration or verifies that the DHCPv6 server function is enabled on an interface.

Step 13 

copy running-config startup-config
Example:

Router#copy running-config startup-config

(Optional) Saves your entries in the configuration file.

Enabling the DHCPv6 Client Function on an Interface

This task describes how to enable the DHCPv6 client function on an interface.


Note To disable the DHCPv6 client function, use the no ipv6 address dhcp interface configuration command. To remove the DHCPv6 client request, use the no ipv6 address dhcp client request interface configuration command.


Summary Steps

1. enable

2. configure terminal

3. interface type number

4. ipv6 address dhcp [rapid-commit]

5. ipv6 address dhcp client request vendor

6. end

7. show ipv6 dhcp interface

 
Command
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

interface type number

Example:

Router(config)# interface fastethernet 0/0

Enters interface configuration mode, and specifies the interface to configure.

Step 4 

ipv6 address dhcp [rapid-commit]

Example:

Router(config-if)# ipv6 address dhcp rapid-commit

Enables the interface to acquire an IPv6 address from the DHCPv6 server.

Step 5 

ipv6 address dhcp client request vendor

Example:

Router(config-if)# ipv6 dhcp client request vendor-specific

(Optional) Enables the interface to request the vendor-specific option.

Step 6 

end

Example:

Router(config-if)# end

Returns to privileged EXEC mode.

Step 7 

show ipv6 dhcp interface

Example:

Router# show ipv6 dhcp interface

Verifies that the DHCPv6 client is enabled on an interface.

Configuring the Stateless DHCPv6 Function

The following tasks describe how to use the DHCPv6 function to configure clients with information about the name lookup system. The server maintains no state related to clients; for example, no prefix pools and records of allocation are maintained. Therefore, this function is "stateless" DHCPv6.

Configuring the Stateless DHCPv6 Server (required)

Configuring the Stateless DHCPv6 Client (required)

Enabling Processing of Packets with Source Routing Header Options (required)

Configuring the Stateless DHCPv6 Server

The following task describes how to configure the stateless DHCPv6 server.

SUMMARY STEPS

1. enable

2. configure terminal

3. ipv6 dhcp pool poolname

4. dns-server ipv6-address

5. domain-name domain

6. exit

7. interface type number

8. ipv6 dhcp server poolname [rapid-commit] [preference value] [allow-hint]

9. ipv6 nd other-config-flag

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ipv6 dhcp pool poolname

Example:
Router(config)# ipv6 dhcp pool dhcp-pool

Configures a DHCPv6 configuration information pool and enters DHCPv6 pool configuration mode.

Step 4 

dns-server ipv6-address

Example:
Router(config-dhcp) dns-server 
2001:0DB8:3000:3000::42

Specifies the DNS IPv6 servers available to a DHCPv6 client.

Step 5 

domain-name domain

Example:
Router(config-dhcp)# domain-name domain1.com 

Configures a domain name for a DHCPv6 client.

Step 6 

exit

Example:

Router(config-dhcp)# exit

Exits DHCPv6 pool configuration mode configuration mode, and returns the router to global configuration mode.

Step 7 

interface type number

Example:

Router(config)# interface serial 3

Specifies an interface type and number, and places the router in interface configuration mode.

Step 8 

ipv6 dhcp server poolname [rapid-commit] [preference value] [allow-hint]

Example:
Router(config-if)# ipv6 dhcp server dhcp-pool

Enables DHCPv6 on an interface.

Step 9 

ipv6 nd other-config-flag

Example:

Router(config-if)# ipv6 nd other-config-flag

Sets the "other stateful configuration" flag in IPv6 RAs.

Configuring the Stateless DHCPv6 Client

The following task describes how to configure the stateless DHCPv6 client.

SUMMARY STEPS

1. enable

2. configure terminal

3. interface type number

4. ipv6 address autoconfig [default]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

interface type number

Example:

Router(config)# interface serial 3

Specifies an interface type and number, and places the router in interface configuration mode.

Step 4 

ipv6 address autoconfig [default]

Example:

Router(config-if)# ipv6 address autoconfig

Enables automatic configuration of IPv6 addresses using stateless autoconfiguration on an interface and enables IPv6 processing on the interface.

Enabling Processing of Packets with Source Routing Header Options

The following task describes how to enable the processing of packets with source routing header options.

SUMMARY STEPS

1. enable

2. configure terminal

3. ipv6 source-route

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ipv6 source-route

Example:

Router(config)# ipv6 source-route

Enables processing of the IPv6 type 0 routing header.

Configuring the DHCPv6 Server Options

The following tasks describe how to configure stateless options on a DHCPv6 server and import those options to a DHCPv6 client:

Configuring the Information Refresh Server Option (optional)

Importing the Information Refresh Server Option (optional)

Configuring NIS- and NISP-Related Server Options (optional)

Importing NIS- and NIS+-Related Server Options (optional)

Importing SIP Server Options (optional)

Configuring the SNTP Server Option ((optional)

Importing the SNTP Server Option ((optional)

Importing Stateless DHCPv6 Server Options ((optional)

Configuring the Information Refresh Server Option

The following task describes how to configure the information refresh server option.

SUMMARY STEPS

1. enable

2. configure terminal

3. ipv6 dhcp pool poolname

4. information refresh {days [hours minutes] | infinity}

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ipv6 dhcp pool poolname

Example:
Router(config)# ipv6 dhcp pool pool1 

Configures a DHCPv6 configuration information pool and enters DHCPv6 pool configuration mode.

Step 4 

information refresh {days [hours minutes] | infinity}

Example:

Router(config-dhcp)# information refresh 1 1 1

Specifies the information refresh time to be sent to the client.

Importing the Information Refresh Server Option

The following task describes how to import the information refresh server option to the DHCPv6 client.

SUMMARY STEPS

1. enable

2. configure terminal

3. ipv6 dhcp pool poolname

4. import information refresh

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ipv6 dhcp pool poolname

Example:
Router(config)# ipv6 dhcp pool pool1 

Configures a DHCPv6 configuration information pool and enters DHCPv6 pool configuration mode.

Step 4 

import information refresh

Example:

Router(config-dhcp)# import information refresh

Imports the information refresh time option to a DHCPv6 client.

Configuring NIS- and NISP-Related Server Options

The following task describes how to configure NIS- and NIS+-related server options.

SUMMARY STEPS

1. enable

2. configure terminal

3. ipv6 dhcp pool poolname

4. nis address ipv6-address

5. nis domain-name domain-name

6. nisp address ipv6-address

7. nisp domain-name domain-name

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ipv6 dhcp pool poolname

Example:
Router(config)# ipv6 dhcp pool pool1 

Configures a DHCPv6 configuration information pool and enters DHCPv6 pool configuration mode.

Step 4 

nis address ipv6-address

Example:
Router(config-dhcp)# nis address 
2001:0DB8:1000:1000::30 

Specifies the NIS address of an IPv6 server to be sent to the client.

Step 5 

nis domain-name domain-name

Example:

Router(config-dhcp)# nis domain-name domain1

Enables a server to convey a client's NIS domain name information to the client.

Step 6 

nisp address ipv6-address

Example:
Router(config-dhcp)# nisp address 
2001:0DB8:3000:3000::42 

Specifies the NIS+ address of an IPv6 server to be sent to the DHCPv6 client.

Step 7 

nisp domain-name domain-name

Example:

Router(config-dhcp)# nisp domain-name domain2

Enables a server to convey a client's NIS+ domain name information to the DHCPv6 client.

Importing NIS- and NIS+-Related Server Options

The following task describes how to import NIS- and NIS+-related server options.

SUMMARY STEPS

1. enable

2. configure terminal

3. ipv6 dhcp pool poolname

4. import nis address

5. import nis domain-name

6. import nisp address

7. import nisp domain-name

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ipv6 dhcp pool poolname

Example:
Router(config)# ipv6 dhcp pool pool1 

Configures a DHCPv6 configuration information pool and enters DHCPv6 pool configuration mode.

Step 4 

import nis address

Example:
Router(config-dhcp)# import nis address

Imports the NIS servers option to a DHCPv6 client.

Step 5 

import nis domain-name

Example:

Router(config-dhcp)# import nis domain-name

Imports the NIS domain name option to a DHCPv6 client.

Step 6 

import nisp address

Example:
Router(config-dhcp)# import nisp address

Imports the NISP address option to a DHCPv6 client.

Step 7 

import nisp domain-name

Example:

Router(config-dhcp)# import nisp domain-name

Imports the NISP domain name option to a DHCPv6 client.

Importing SIP Server Options

The following task describes how to import SIP server options to the outbound SIP proxy server.

SUMMARY STEPS

1. enable

2. configure terminal

3. ipv6 dhcp pool poolname

4. import sip address

5. import sip domain-name

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ipv6 dhcp pool poolname

Example:
Router(config)# ipv6 dhcp pool pool1 

Configures a DHCPv6 configuration information pool and enters DHCPv6 pool configuration mode.

Step 4 

import sip address

Example:

Router(config-dhcp)# import sip address

Imports the SIP server IPv6 address list option to the outbound SIP proxy server.

Step 5 

import sip domain-name

Example:

Router(config-dhcp)# import sip domain-name

Imports a SIP server domain-name list option to the outbound SIP proxy server.

Configuring the SNTP Server Option

The following task describes how to configure the SNTP server option.

SUMMARY STEPS

1. enable

2. configure terminal

3. ipv6 dhcp pool poolname

4. sntp address ipv6-address

5. import sntp address ipv6-address

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ipv6 dhcp pool poolname

Example:
Router(config)# ipv6 dhcp pool pool1 

Configures a DHCPv6 configuration information pool and enters DHCPv6 pool configuration mode.

Step 4 

sntp address ipv6-address

Example:

Router(config-dhcp)# sntp address 2001:0DB8:2000:2000::33

Specifies the SNTP server list to be sent to the client.

Step 5 

import sntp address ipv6-address

Example:

Router(config-dhcp)# import sntp address 2001:0DB8:2000:2000::33

Imports the SNTP server option to a DHCPv6 client.

Importing the SNTP Server Option

The following task describes how to import the SNTP server option.

SUMMARY STEPS

1. enable

2. configure terminal

3. ipv6 dhcp pool poolname

4. import sntp address ipv6-address

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ipv6 dhcp pool poolname

Example:
Router(config)# ipv6 dhcp pool pool1 

Configures a DHCPv6 configuration information pool and enters DHCPv6 pool configuration mode.

Step 4 

import sntp address ipv6-address

Example:

Router(config-dhcp)# import sntp address 2001:0DB8:2000:2000::33

Imports the SNTP server option to a DHCPv6 client.

Importing Stateless DHCPv6 Server Options

The following task describes how to import stateless DHCPv6 server options.

SUMMARY STEPS

1. enable

2. configure terminal

3. ipv6 dhcp pool poolname

4. import dns-server

5. import domain-name

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

ipv6 dhcp pool poolname

Example:
Router(config)# ipv6 dhcp pool pool1 

Configures a DHCPv6 configuration information pool and enters DHCPv6 pool configuration mode.

Step 4 

import dns-server

Example:

Router(config-dhcp)# import dns-server

Imports the DNS recursive name server option to a DHCPv6 client.

Step 5 

import domain-name

Example:

Router(config-dhcp)# import domain-name

Imports the domain search list option to a DHCPv6 client.

Defining a General Prefix with the DHCPv6 Prefix Delegation Client Function

The following task describes how to configure the DHCPv6 client function on an interface and enable prefix delegation on an interface. The delegated prefix is stored in a general prefix.

SUMMARY STEPS

1. enable

2. configure terminal

3. interface type number

4. ipv6 dhcp client pd {prefix-name | hint ipv6-prefix} [rapid-commit]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

interface type number

Example:

Router(config)# interface ethernet 0/0

Specifies an interface type and number, and places the router in interface configuration mode.

Step 4 

ipv6 dhcp client pd {prefix-name | hint ipv6-prefix} [rapid-commit]

Example:
Router(config-if)# ipv6 dhcp client pd 
dhcp-prefix

Enables the DHCPv6 client process and enables a request for prefix delegation through a specified interface.

The delegated prefix is stored in the general prefix prefix-name argument.

Restarting the DHCPv6 Client on an Interface

This task explains how to restart the DHCPv6 client on a specified interface after first releasing and unconfiguring previously acquired prefixes and other configuration options.

SUMMARY STEPS

1. enable

2. clear ipv6 dhcp client interface-type interface-number

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

clear ipv6 dhcp client interface-type interface-number

Example:
Router# clear ipv6 dhcp client Ethernet 1/0

Restarts DHCPv6 client on an interface.

Deleting Automatic Client Bindings from the DHCPv6 Binding Table

This task explains how to delete automatic client bindings from the DHCPv6 binding table.

SUMMARY STEPS

1. enable

2. clear ipv6 dhcp binding [ipv6-address]

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

clear ipv6 dhcp binding [ipv6-address]

Example:
Router# clear ipv6 dhcp binding

Deletes automatic client bindings from the DHCPv6 binding table.

Troubleshooting DHCPv6

This task provides commands you can use as needed to troubleshoot your DHCPv6 configuration.

SUMMARY STEPS

1. enable

2. debug ipv6 dhcp [detail]

3. debug ipv6 dhcp database

4. debug ipv6 dhcp relay

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

debug ipv6 dhcp [detail]

Example:

Router# debug ipv6 dhcp

Enables debugging for DHCPv6.

Step 3 

debug ipv6 dhcp database

Example:

Router# debug ipv6 dhcp database

Enables debugging for the DHCPv6 binding database.

Step 4 

debug ipv6 dhcp relay

Example:
Router# debug ipv6 dhcp relay

Enables DHCPv6 relay agent debugging.

Verifying DHCPv6 Configuration and Operation

This task explains how to display information to verify DHCPv6 configuration and operation. These commands do not need to be entered in any specific order.

SUMMARY STEPS

1. enable

2. show ipv6 dhcp

3. show ipv6 dhcp binding [ipv6-address]

4. show ipv6 dhcp database [agent-URL]

5. show ipv6 dhcp interface [type number]

6. show ipv6 dhcp pool [poolname]

7. show running-config

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router# enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

show ipv6 dhcp

Example:
Router# show ipv6 dhcp 

Displays the DUID on a specified device.

Step 3 

show ipv6 dhcp binding [ipv6-address]

Example:
Router# show ipv6 dhcp binding

Displays automatic client bindings from the DHCPv6 database.

Step 4 

show ipv6 dhcp database [agent-URL]

Example:
Router# show ipv6 dhcp database 

Displays the DHCPv6 binding database agent information.

Step 5 

show ipv6 dhcp interface [type number]

Example:
Router# show ipv6 dhcp interface

Displays DHCPv6 interface information.

Step 6 

show ipv6 dhcp pool [poolname]

Example:
Router# show ipv6 dhcp pool 

Displays DHCPv6 configuration pool information.

Step 7 

show running-config

Example:

Router# show running-config

Displays the current configuration running on the router.

Examples

This section provides the following output examples:

Sample Output from the show ipv6 dhcp Command

Sample Output from the show ipv6 dhcp binding Command

Sample Output from the show ipv6 dhcp database Command

Sample Output from the show ipv6 dhcp interface Command

Sample Output from the show ipv6 dhcp pool Command

Sample Output from the show ipv6 dhcp Command

The following example from the show ipv6 dhcp command shows the DUID of the device:

Router# show ipv6 dhcp 

This device's DHCPv6 unique identifier(DUID): 000300010002FCA5DC1C

Sample Output from the show ipv6 dhcp binding Command

In the following example, the show ipv6 dhcp binding command shows information about two clients, including their DUIDs, IAPDs, prefixes, and preferred and valid lifetimes:

Router# show ipv6 dhcp binding

Client: FE80::202:FCFF:FEA5:DC39 (Ethernet2/1)
  DUID: 000300010002FCA5DC1C
  IA PD: IA ID 0x00040001, T1 0, T2 0
    Prefix: 3FFE:C00:C18:11::/68
            preferred lifetime 180, valid lifetime 12345
            expires at Nov 08 2002 02:24 PM (12320 seconds)
Client: FE80::202:FCFF:FEA5:C039 (Ethernet2/1)
  DUID: 000300010002FCA5C01C
  IA PD: IA ID 0x00040001, T1 0, T2 0
    Prefix: 3FFE:C00:C18:1::/72
            preferred lifetime 240, valid lifetime 54321
            expires at Nov 09 2002 02:02 AM (54246 seconds)
    Prefix: 3FFE:C00:C18:2::/72
            preferred lifetime 300, valid lifetime 54333
            expires at Nov 09 2002 02:03 AM (54258 seconds)
    Prefix: 3FFE:C00:C18:3::/72
            preferred lifetime 280, valid lifetime 51111

Sample Output from the show ipv6 dhcp database Command

In the following example, the show ipv6 dhcp database command provides information on the binding database agents TFTP, NVRAM, and flash:

Router# show ipv6 dhcp database 

Database agent tftp://172.19.216.133/db.tftp:
  write delay: 69 seconds, transfer timeout: 300 seconds
  last written at Jan 09 2003 01:54 PM,
     write timer expires in 56 seconds
  last read at Jan 06 2003 05:41 PM
  successful read times 1
  failed read times 0
  successful write times 3172
  failed write times 2
Database agent nvram:/dhcpv6-binding:
  write delay: 60 seconds, transfer timeout: 300 seconds
  last written at Jan 09 2003 01:54 PM,
     write timer expires in 37 seconds
  last read at never
  successful read times 0
  failed read times 0
  successful write times 3325
  failed write times 0
Database agent flash:/dhcpv6-db:
  write delay: 82 seconds, transfer timeout: 3 seconds
  last written at Jan 09 2003 01:54 PM,
    write timer expires in 50 seconds
  last read at never
  successful read times 0
  failed read times 0
  successful write times 2220
  failed write times 614

Sample Output from the show ipv6 dhcp interface Command

The following is sample output from the show ipv6 dhcp interface command. In the first example, the command is used on a router that has an interface acting as a DHCPv6 server. In the second example, the command is used on a router that has an interface acting as a DHCPv6 client:

Router1# show ipv6 dhcp interface

Ethernet2/1 is in server mode
  Using pool: svr-p1
  Preference value: 20
  Rapid-Commit is disabled

Router2# show ipv6 dhcp interface

Ethernet2/1 is in client mode
  State is OPEN (1)
  List of known servers:
    Address: FE80::202:FCFF:FEA1:7439, DUID 000300010002FCA17400
    Preference: 20
      IA PD: IA ID 0x00040001, T1 120, T2 192
        Prefix: 3FFE:C00:C18:1::/72
                preferred lifetime 240, valid lifetime 54321
                expires at Nov 08 2002 09:10 AM (54319 seconds)
        Prefix: 3FFE:C00:C18:2::/72
                preferred lifetime 300, valid lifetime 54333
                expires at Nov 08 2002 09:11 AM (54331 seconds)
        Prefix: 3FFE:C00:C18:3::/72
                preferred lifetime 280, valid lifetime 51111
                expires at Nov 08 2002 08:17 AM (51109 seconds)
      DNS server: 2001:0DB8:1001::1
      DNS server: 2001:0DB8:1001::2
      Domain name: example1.net
      Domain name: example2.net 
      Domain name: example3.net
    Prefix name is cli-p1
    Rapid-Commit is enabled

Sample Output from the show ipv6 dhcp pool Command

In the following example, the show ipv6 dhcp pool command provides information on the configuration pool named svr-p1, including the static bindings, prefix information, the DNS server, and the domain names found in the svr-p1 pool:

Router# show ipv6 dhcp pool 

DHCPv6 pool: svr-p1
  Static bindings:
    Binding for client 000300010002FCA5C01C
      IA PD: IA ID 00040002, 
        Prefix: 3FFE:C00:C18:3::/72
                preferred lifetime 604800, valid lifetime 2592000
      IA PD: IA ID not specified; being used by 00040001
        Prefix: 3FFE:C00:C18:1::/72
                preferred lifetime 240, valid lifetime 54321
        Prefix: 3FFE:C00:C18:2::/72
                preferred lifetime 300, valid lifetime 54333
        Prefix: 3FFE:C00:C18:3::/72
                preferred lifetime 280, valid lifetime 51111
  Prefix from pool: local-p1, Valid lifetime 12345, Preferred lifetime 180
  DNS server: 2001:0DB8:1001::1
  DNS server: 2001:0DB8:1001::2
  Domain name: example1.net
  Domain name: example2.net
  Domain name: example3.net
Active clients: 2
Current configuration : 22324 bytes 
! 
! Last configuration change at 14:59:38 PST Tue Jan 16 2001 
! NVRAM config last updated at 04:25:39 PST Tue Jan 16 2001 by bird 
! 
hostname Router
!
ip cef
ipv6 unicast-routing
ipv6 cef
ipv6 cef accounting prefix-length
!
!
interface Ethernet0
 ip address 10.4.9.11 255.0.0.0
 media-type 10BaseT
 ipv6 address 2001:0DB8:C18:1::/64 eui-64

Configuration Examples for Implementing DHCP for IPv6

This section provides the following DHCPv6 mapping configuration examples:

Configuring the DHCPv6 Server Function: Example

Configuring the DHCPv6 Client Function: Example

Configuring a Database Agent for the Server Function: Example

Configuring the Stateless DHCPv6 Function: Example

Configuring the DHCPv6 Server Function: Example

DHCPv6 clients are connected to this server on Ethernet interface 0/0. The server is configured to use parameters from the DHCP pool called dhcp-pool. This pool provides clients with the IPv6 address of a DNS server and the domain name to be used. It also specifies that prefixes can be delegated from the prefix pool called client-prefix-pool1. The prefixes delegated will have valid and preferred lifetimes of 1800 and 600 seconds. The prefix pool named client-prefix-pool1 has a prefix of length /40 from which it will delegate (sub)prefixes of length /48.

ipv6 dhcp pool dhcp-pool
 prefix-delegation pool client-prefix-pool1 lifetime 1800 600
 dns-server 2001:0DB8:3000:3000::42
 domain-name example.com
!
interface Ethernet0/0
 description downlink to clients
 ipv6 address FEC0:240:104:2001::139/64
 ipv6 dhcp server dhcp-pool
!
ipv6 local pool client-prefix-pool1 2001:0DB8:1200::/40 48

Configuring the DHCPv6 Client Function: Example

This DHCPv6 client has three interfaces: Ethernet interface 0/0 is the upstream link to a service provider, which has a DHCPv6 server function enabled. The FastEthernet interfaces 0/0 and 0/1 are links to local networks.

The upstream interface, Ethernet interface 0/0, has the DHCPv6 client function enabled. Prefixes delegated by the provider are stored in the general prefix called prefix-from-provider.

The local networks, FastEthernet interfaces 0/0 and 0/1, both assign interface addresses based on the general prefix called prefix-from-provider. The leftmost bits of the addresses come from the general prefix, and the rightmost bits are specified statically.

interface Ethernet 0/0
 description uplink to provider DHCP IPv6 server
 ipv6 dhcp client pd prefix-from-provider
!
interface FastEthernet 0/0
 description local network 0
 ipv6 address prefix-from-provider ::5:0:0:0:100/64
!
interface FastEthernet 0/1
 description local network 1
 ipv6 address prefix-from-provider ::6:0:0:0:100/64

Configuring a Database Agent for the Server Function: Example

The DHCPv6 server is configured to store table bindings to the file named dhcp-binding on the server at address 10.0.0.1 using the TFTP protocol. The bindings are saved every 120 seconds.

ipv6 dhcp database tftp://10.0.0.1/dhcp-binding write-delay 120

Configuring DHCP for IPv6 Address Assignment

The following example shows how to configure a pool called engineering with an IPv6 address prefix:

ipv6 dhcp pool engineering
address prefix 2001:1000::0/64 lifetime infinite

The following example shows how to configure pool called testgroup with three link-addresses and an IPv6 address prefix:

ipv6 dhcp pool testgroup
link-address 2001:1001::0/64
link-address 2001:1002::0/64
link-address 2001:2000::0/48
address prefix 2001:1000::0/64 lifetime infinite
end

The following example shows how to configure a pool called 350 with vendor-specific options:

ipv6 dhcp pool 350
address prefix 2001:1000::0/64 lifetime infinite
vendor-specific 9
suboption 1 address 1000:235D::1
suboption 2 ascii "IP-Phone"
end

Configuring the Stateless DHCPv6 Function: Example

This example uses the DHCPv6 function to configure clients with information about the name lookup system. The server is configured with a DHCP pool, which contains name lookup information to be passed to clients. It does not need to contain a prefix pool. This DHCP pool is attached to the access link to customers (Ethernet0/0) using the ipv6 dhcp server command. The access link also has the ipv6 nd other-config-flag command enabled. RA messages sent from this interface will inform clients that they should use DHCPv6 for "other" (for example, nonaddress) configuration information.

ipv6 dhcp pool dhcp-pool
 dns-server 2001:0DB8:A:B::1
 dns-server 2001:0DB8:3000:3000::42
 domain-name example.com
!
interface Ethernet0/0
 description Access link down to customers
 ipv6 address 2001:0DB8:1234:42::1/64
 ipv6 nd other-config-flag
 ipv6 dhcp server dhcp-pool

The client has no obvious DHCPv6 configuration. However, the ipv6 address autoconfig command on the uplink to the service provider (Ethernet 0/0) causes two events to happen:

Addresses are autoconfigured on the interface, based on prefixes in RA messages received from the server.

If received RA messages have the "other configuration" flag set, the interface will attempt to acquire other (for example, nonaddress) configuration from any DHCPv6 servers.

Additional References

The following sections provide references related to the Implementing DHCPv6 feature:

Related Documents

Related Topic
Document Title

IPv6 supported feature list

"Start Here: Cisco IOS Software Release Specifics for IPv6 Features," Cisco IOS IPv6 Configuration Guide

IPv6 basic connectivity

"Implementing IPv6 Addressing and Basic Connectivity," Cisco IOS IPv6 Configuration Guide

IPv6 prefix delegation

"Implementing IPv6 Addressing and Basic Connectivity," Cisco IOS IPv6 Configuration Guide

"Implementing ADSL and Deploying Dial Access for IPv6," Cisco IOS IPv6 Configuration Guide

IPv6 commands: complete command syntax, command mode, defaults, usage guidelines, and examples

Cisco IOS IPv6 Command Reference


Standards

Standards
Title

No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.


MIBs

MIBs
MIBs Link

No new or modified MIBs are supported, and support for existing MIBs has not been modified.

To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs


RFCs

RFCs
Title

RFC 3315

Dynamic Host Configuration Protocol for IPv6

RFC 3319

Dynamic Host Configuration Protocol (DHCPv6) Options for Session Initiation Protocol (SIP) Servers

RFC 3633

IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) Version 6

RFC 3646

DNS Configuration Options for Dynamic Host Configuration Protocol for IPv6 (DHCPv6)

RFC 3898

Network Information Service (NIS) Configuration Options for Dynamic Host Configuration Protocol for IPv6 (DHCPv6)

RFC 4075

Simple Network Time Protocol (SNTP) Configuration Option for DHCPv6

RFC 4242

Information Refresh Time Option for Dynamic Host Configuration Protocol for IPv6 (DHCPv6)

RFC 4649

Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Relay Agent Remote-ID Option


Technical Assistance

Description
Link

The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies.

To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.

Access to most tools on the Cisco Support website requires a Cisco.com user ID and password.

http://www.cisco.com/techsupport


Command Reference

The following commands are introduced or modified in the feature or features documented in this module. For information about these commands, see the Cisco IOS IPv6 Command Reference at http://www.cisco.com/en/US/docs/ios/ipv6/command/reference/ipv6_book.html. For information about all Cisco IOS commands, use the Command Lookup Tool at http://tools.cisco.com/Support/CLILookup or the Cisco IOS Master Command List, All Releases, at http://www.cisco.com/en/US/docs/ios/mcl/all_release/all_mcl.html.

clear ipv6 dhcp binding

clear ipv6 dhcp client

clear ipv6 dhcp conflict

debug ipv6 dhcp

debug ipv6 dhcp client

debug ipv6 dhcp database

debug ipv6 dhcp relay

dns-server (IPv6)

domain-name (IPv6)

import dns-server

import domain-name

import information refresh

import nis address

import nis domain-name

import nisp address

import nisp domain-name

import sip address

import sip domain-name

import sntp address

information refresh

ipv6 address autoconfig

ipv6 address dhcp

ipv6 address dhcp client request

ipv6 dhcp client information refresh minimum

ipv6 dhcp client pd

ipv6 dhcp database

ipv6 dhcp ping packets

ipv6 dhcp pool

ipv6 dhcp relay destination

ipv6 dhcp server

ipv6 nd other-config-flag

ipv6 source-route

nis address

nis domain-name

nisp address

nisp domain-name

prefix-delegation

prefix-delegation pool

show ipv6 dhcp

show ipv6 dhcp binding

show ipv6 dhcp conflict

show ipv6 dhcp database

show ipv6 dhcp interface

show ipv6 dhcp pool

show ipv6 interface

sntp address

Feature Information for Implementing DHCP for IPv6

Table 1 lists the features in this module and provides links to specific configuration information. Only features that were introduced or modified in Cisco IOS Release 12.3(4)T or a later release appear in the table.

For information about a feature in this technology that is not documented here, see Start Here: Cisco IOS Software Release Specifies for IPv6 Features.

Not all commands may be available in your Cisco IOS software release. For release information about a specific command, see the command reference documentation.

Use Cisco Feature Navigator to find information about platform support and software image support. Cisco Feature Navigator enables you to determine which Cisco IOS and Catalyst OS software images support a specific software release, feature set, or platform. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.


Note Table 1 lists only the Cisco IOS software release that introduced support for a given feature in a given Cisco IOS software release train. Unless noted otherwise, subsequent releases of that Cisco IOS software release train also support that feature.


Table 1 Feature Information for Implementing DHCP for IPv6 

Feature Name
Releases
Feature Information

IPv6 access services: DHCPv6 prefix delegation

12.0(32)S 12.2(28)SB
12.2(33)SRA 12.2(18)SXE
12.3(4)T
12.4
12.4(2)T

The DHCPv6 prefix delegation feature can be used to manage link, subnet, and site addressing changes. DHCPv6 can be used in environments to deliver stateful and stateless information.

The following sections provide information about this feature:

DHCPv6 Prefix Delegation

Configuring the DHCPv6 Server Function

Configuring the DHCPv6 Client Function

Configuring the DHCPv6 Server Function: Example

Configuring the DHCPv6 Client Function: Example

IPv6 access services: stateless DHCPv6

12.2(33)SRA
12.2(18)SXE
12.3(4)T
12.4
12.4(2)T

Stateless DHCPv6 allows DHCPv6 to be used for configuring a node with parameters that do not require a server to maintain any dynamic state for the node.

The following sections provide information about this feature:

DHCPv6 Prefix Delegation

Configuring Nodes Without Prefix Delegation

Configuring the Stateless DHCPv6 Function

Configuring the Stateless DHCPv6 Function: Example

IPv6 access services: DHCP for IPv6 relay agent

12.2(28)SB
12.2(33)SRC
12.2(33)SXI
12.3(11)T
12.4
12.4(2)T

A DHCP relay agent, which may reside on the client's link, is used to relay messages between the client and server.

The following sections provide information about this feature:

How to Implement DHCP for IPv6

Configuring the DHCPv6 Relay Agent

IPv6 access services: DHCPv6 server stateless auto configuration

12.4(15)T

Hierarchical DHCPv6 for stateless configuration parameters allows a stateless or stateful DHCPv6 client to export configuration parameters (DHCPv6 options) to a local DHCPv6 server pool.

The following sections provide information about this feature:

DHCPv6 Server Stateless Autoconfiguration

Configuring the DHCPv6 Server Options

IPv6 access services: DHCPv6 client information refresh option

12.4(15)T

The DHCPv6 information refresh option can specify an upper boundary for the length of time a client should wait before refreshing information retrieved from DHCPv6.

The following sections provide information about this feature:

DHCPv6 Server Stateless Autoconfiguration

Configuring the DHCPv6 Server Options

DHCP—DHCPv6 Server SNTP, NIS, NIS+, Refresh Timer Options

12.4(15)T

The DHCPv6 server options are part of DHCP stateless autoconfiguration.

The following sections provide information about this feature:

DHCPv6 Server Stateless Autoconfiguration

Configuring the DHCPv6 Server Options

DHCP—DHCPv6 Relay Agent Notification for Prefix Delegation

12.2(33)SCA
12.2(33)SRC
12.2(33)SXI

DHCPv6 relay agent notification for prefix delegation allows the router working as a DHCPv6 relay agent to find prefix delegation options by reviewing the contents of a DHCPv6 packet that is being relayed by the relay agent to the client.

The following section provides information about this feature:

DHCPv6 Relay Agent Notification for Prefix Delegation

DHCPv6 Ethernet Remote ID option

12.2(33)SRC
12.2(33)SXI

This feature adds the remote-ID option to relayed (RELAY-FORWARD) DHCPv6 packets.

The following section provides information about this feature:

DHCPv6 Relay Options: Remote-ID for Ethernet Interfaces

DHCPv6—Relay—Reload Persistent Interface ID Option

12.2(33)SB
12.2(33)SRC
12.2(33)SXI

This feature makes the interface-ID option, which is used by relay agents to decide which interface should be used when forwarding a RELAY-REPLY packet, persistent.

The following section provides information about this feature:

DHCPv6 Relay Options: Reload Persistent Interface-ID

DHCP—DHCPv6 Individual Address Assignment

12.4(24)T

This feature manages nonduplicate address assignment in the correct prefix based on the network where the host is connected.

The following section provides information about this feature.

DHCP for IPv6 Address Assignment

Configuring DHCP for IPv6 Address Assignment