Routing and Bridging Guide vA5(1.0), Cisco ACE Application Control Engine
Configuring the DHCP Relay
Downloads: This chapterpdf (PDF - 208.0KB) The complete bookPDF (PDF - 3.97MB) | Feedback

Configuring the DHCP Relay

Table Of Contents

Configuring the DHCP Relay

DHCP Server and Client Overview

DHCP Relay Configuration Quick Start

Configuring the DHCP Relay Agent

Enabling the DHCP Relay

Specifying the DHCP Server IP Address

Configuring a Forwarding Interface for DHCPv6 Relay

Configuring a Relay Agent Information Reforwarding Policy

Viewing DHCP Relay Configuration and Statistics

IPv6 DHCP Relay Show Commands

IPv4 DHCP Relay Show Commands


Configuring the DHCP Relay



Note The information in this chapter applies to both the ACE module and the ACE appliance unless otherwise noted. The features described in this chapter apply to IPv4 and IPv6 unless otherwise noted.


This chapter describes how Dynamic Host Configuration Protocol (DHCP) servers provide configuration parameters to DHCP clients. DHCP supplies network settings, including the host IP address, the default gateway, and a DNS server. When DHCP clients and associated servers do not reside on the same IP network or subnet, a DHCP relay agent can transfer DHCP messages between them. The DHCP relay agent operates as the interface between DHCP clients and the server. It listens for client requests and adds vital configuration data, such as the client's link information, which is needed by the server to allocate the address for the client. When the DHCP server responds, the DHCP relay agent forwards the reply back to the DHCP client.


Note The ACE does not support DHCP relay for DHCP packets received on shared VLANs between contexts or on bridged interfaces.


This chapter contains the following major sections:

DHCP Server and Client Overview

DHCP Relay Configuration Quick Start

Configuring the DHCP Relay Agent

Viewing DHCP Relay Configuration and Statistics

DHCP Server and Client Overview

DHCP provides a framework for passing configuration information dynamically to hosts on a TCP/IP network. A DHCP client is an Internet host using DHCP to obtain configuration parameters such as an IP address.

A DHCP relay agent is any host that forwards DHCP packets between clients and servers. Relay agents are used to forward requests and replies between clients and servers when they are not on the same physical subnet. Relay agent forwarding is distinct from the normal forwarding of an IP router, where IP datagrams are switched between networks somewhat transparently. By contrast, relay agents receive DHCP messages and then generate a new DHCP message to send on another interface.

Figure 8-1 shows the basic steps that occur when a DHCPv6 client requests an IP address from a DHCPv6 server. The client, Host A, sends a DHCPSOLICIT multicast message to locate a DHCPv6 server. A relay agent forwards the packets between the DHCPv6 client and server. A DHCPv6 server offers configuration parameters (for example, an IPv6 address, a MAC address, a domain name, NTP server, and a lease for the IPv6 address) to the client in a DHCPRELAY-FORW unicast message.

Figure 8-1 DHCPv6 Request for an IPv6 Address from a DHCP Server

Figure 8-2 shows the basic steps that occur when a DHCPv4 client requests an IPv4 address from a DHCPv4 server. The client, Host A, sends a DHCPDISCOVER broadcast message to locate a DHCPv4 server. A relay agent forwards the packets between the DHCPv4 client and server. A DHCPv4 server offers configuration parameters (for example, an IPv4 address, a MAC address, a domain name, NTP server, and a lease for the IPv4 address) to the client in a DHCPOFFER unicast message.

Figure 8-2 DHCPv4 Request for an IPv4 Address from a DHCP Server

DHCP Relay Configuration Quick Start

Table 8-1 provides a quick overview of the steps required to configure the DHCP relay function on the ACE. Each step includes the CLI command required to complete the task. For a complete description of each feature and all the options associated with the CLI command, see the sections following Table 8-1.

Table 8-1 DHCP Relay Configuration Quick Start

Task and Command Example

1. If you are operating in multiple contexts, observe the CLI prompt to verify that you are operating in the desired context. If necessary, log directly in to, or change to, the correct context.

host1/Admin# changeto C1
host1/C1# 
 
        

The rest of the examples in this table use the Admin context unless otherwise specified. For details on creating contexts, see the Virtualization Guide, Cisco ACE Application Control Engine.

2. Enter configuration mode by entering config.

host1/Admin# config 
Enter configuration commands, one per line. End with CNTL/Z
host1/Admin(config)#

3. Enable the DHCP relay agent to accept DHCP requests from clients for the current context for IPv6 or IPv4. The default is disabled.

host1/Admin(config)# ipv6 dhcp relay enable
host1/Admin(config)# ip dhcp relay enable

4. Specify the IPv6 or IPv4 address of a DHCP server to which the DHCP relay agent forwards client requests for the current context.

host1/Admin(config)# ipv6 dhcp relay server 2001:DB8:1::/64
host1/Admin(config)# ip dhcp relay server 192.168.20.1

5. (Optional) For DHCPv6, specify a vlan interface on which the client requests are forwarded to the All_DHCP_Relay_Agents_and_Servers multicast address (FF02::1:2).

host1/Admin(config)# ipv6 dhcp relay fwd-interface vlan 100

6. Specify a DHCPv6 server that is reachable on its link-local address on a particular VLAN.

host1/Admin(config)# ipv6 dhcp relay server 
fe80::250:56ff:fe90:2c fwd-interface vlan 100

7. (Optional) For IPv4, configure a relay agent information reforwarding policy on the DHCP server to identify what the DHCP server should do if a forwarded message already contains relay information.

host1/Admin(config)# ip dhcp relay information policy replace

8. (Optional) Save your configuration changes to flash memory.

host1/Admin(config)# exit
host1/Admin# copy running-config startup-config

Configuring the DHCP Relay Agent

This section describes how to configure the DHCP relay agent on the ACE. When you configure the ACE as a DHCP relay agent, it is responsible for forwarding the requests and responses that are negotiated between the DHCP clients and the server. By default, the DHCP relay agent is disabled. You must configure a DHCP server when you enable the DHCP relay agent.

You can configure the DHCP relay agent at both the context and VLAN interface levels of the ACE as follows:

If you configure the DHCP relay agent at the context level, the configuration applies to all interfaces associated with the context.

If you configure the DHCP relay agent at the VLAN interface level, the configuration applies to that particular interface only; the remaining interfaces revert to the context level configuration.

This section contains the following topics:

Enabling the DHCP Relay

Specifying the DHCP Server IP Address

Configuring a Relay Agent Information Reforwarding Policy

Enabling the DHCP Relay

You can accept DHCP requests from clients on the associated context or VLAN interface and enable the DHCP relay agent by using the ipv6 dhcp relay enable command (for IPv6) or the ip dhcp relay enable command (for IPv4). The DHCP relay starts forwarding packets to the DHCP server address specified in the ipv6 dhcp relay server command or the ip dhcp relay server command for the associated context or VLAN interface.

IPv6 Syntax

The syntax of this command is as follows:

ipv6 dhcp relay enable

IPv6 Examples

To enable the DHCP relay agent globally for all VLAN interfaces associated with a context, enter the following command:

host1/Admin(config)# ipv6 dhcp relay enable
 
   

To enable the DHCP relay agent at the VLAN interface level, enter the following command:

host1/Admin(config)# ipv6 dhcp relay enable
host1/Admin(config)# interface vlan 100
host1/Admin(config-if)# ipv6 dhcp relay enable
 
   

To disable the DHCP relay agent globally for VLAN interfaces in a context where DHCP relay is not explicitly configured, enter the following command:

host1/Admin(config)# no ipv6 dhcp relay enable
 
   

To disable the DHCP relay agent on a VLAN interface, enter the following commands:

host1/Admin(config)# interface vlan 100
host1/Admin(config-if)# no ipv6 dhcp relay enable
 
   

IPv4 Syntax

The syntax of this command is as follows:

ip dhcp relay enable

IPv4 Examples

To enable the DHCP relay agent for all interfaces associated with a context, enter the following command:

host1/Admin(config)# ip dhcp relay enable
 
   

For example, to enable the DHCP relay agent at the VLAN interface level, enter the following command:

host1/Admin(config)# interface vlan 50
host1/Admin(config-if)# ip dhcp relay enable
 
   

To disable the DHCP relay agent for interfaces in a context where DHCP relay is not configured explicitly, enter the following command:

host1/Admin(config)# no ip dhcp relay enable
 
   

To disable the DHCP relay agent on a VLAN interface, enter the following commands:

host1/Admin(config)# interface vlan 50
host1/Admin(config-if)# no ip dhcp relay enable

Specifying the DHCP Server IP Address

You can set the IP address of a DHCP server to which the DHCP relay agent forwards client requests by using either the ipv6 dhcp relay server command or the ip dhcp relay server command.

IPv6 Syntax

The syntax of this command is as follows:

ipv6 dhcp relay server ipv6_address [fwd-interface vlan vlan_id]

The keywords and arguments are as follows:

ipv6_address—Specifies the IPv6 address of the destination DHCPv6 server

fwd-interface vlan vlan_id—(Optional) Specifies the outgoing forwarding interface if the DHCP server address is a link-local address

IPv6 Examples

To set the IPv6 address of a DHCPv6 relay server globally for all interfaces associated with a context, enter:

host1/Admin(config)# ipv6 dhcp relay enable
host1/Admin(config)# ipv6 dhcp relay server 2001:DB8:1::123
 
   

To set the IPv6 address of a DHCP relay server at the VLAN interface level, enter:

host1/Admin(config)# interface vlan 50
host1/Admin(config-if)# ipv6 dhcp relay enable
host1/Admin(config-if)# ipv6 dhcp relay server 2001:DB8:1::/64
 
   

To set the IPv6 address of a DHCPv6 server that is reachable on its link-local address, enter the following commands:

host1/Admin(config)# interface vlan 50
host1/Admin(config-if)# ipv6 dhcp relay enable
host1/Admin(config-if)# ipv6 dhcp relay server fe80::250:56ff:fe90:2c 
fwd-interface vlan 100
 
   

Note The ACE does not check if its EUI-64 autogenerated interface address is the same as the manually configured link-local, global unicast, or unique local address. DAD is performed only on manually configured IPv6 addresses. Therefore, do not us an EUI-64 autogenerated address for the DHCP server address.


To remove the IP address of a DHCP server from a VLAN interface, enter:

host1/Admin(config)# interface vlan 50
host1/Admin(config-if)# no ipv6 dhcp relay server 2001:DB8:1::/64
 
   

IPv4 Syntax

The syntax of this command is as follows:

ip dhcp relay server ip_address

The ip_address argument specifies the IPv4 address of the DHCP server.

IPv4 Examples

To set the IPv4 address of a DHCP relay server on all interfaces associated with a context, enter:

host1/Admin(config)# ip dhcp relay enable
host1/Admin(config)# ip dhcp relay server 192.168.20.1
 
   

To set the IPv4 address of a DHCP relay server at the VLAN interface level, enter:

host1/Admin(config)# interface vlan 50
host1/Admin(config-if)# ip dhcp relay enable
host1/Admin(config-if)# ip dhcp relay server 192.168.20.1
 
   

To remove the IPv4 address of a DHCP server from an interface, enter:

host1/Admin(config)# interface vlan 50
host1/Admin(config-if)# no ip dhcp relay server 192.168.20.1
 
   

Configuring a Forwarding Interface for DHCPv6 Relay

For IPv6, you can configure a forwarding VLAN interface that the ACE uses to forward all client requests on the specified VLAN interface to the All_DHCP_Relay_Agents_and_Servers address of FF02::1:2. To configure the DHCP forwarding VLAN interface, use the ipv6 dhcp relay fwd-interface command in either configuration mode or interface configuration mode. The syntax of this command is as follows:

ipv6 dhcp relay fwd-interface vlan vlan_id

The vlan_id argument specifies the VLAN interface number that the ACE uses to forward DHCP requests. Enter the VLAN interface number of an existing VLAN interface as an integer from 2 to 4094.

For example, to configure VLAN200 as the DHCP forwarding VLAN interface, enter the following command:

host1/Admin(config)# ipv6 dhcp relay fwd-interface vlan 200
 
   

To remove the forwarding VLAN interface from the configuration, enter the following command:

host1/Admin(config)# no ipv6 dhcp relay fwd-interface vlan 200
 
   

Configuring a Relay Agent Information Reforwarding Policy

For IPv4, you can configure the DHCP relay agent to identify the action to perform if a forwarded message already contains relay information by using the ip dhcp relay information policy command in configuration mode. By default, the reforwarding policy is to drop the DHCP relay packet.


Note You cannot set the relay agent information reforwarding policy at the VLAN interface level; you can only globally set this function for all interfaces associated with a context.


The syntax of this command is as follows:

ip dhcp relay information policy {keep | replace}

The keywords are as follows:

keep—Indicates that existing information is left unchanged on the DHCP relay agent.

replace—Indicates that existing information is overwritten on the DHCP relay agent.

For example, to set the relay agent information reforwarding policy to replace existing information for all interfaces associated with a context, enter:

host1/Admin(config)# ip dhcp relay information policy replace
 
   

To restore the default relay information policy to drop the DHCP relay packet, enter:

host1/Admin(config)# no ip dhcp relay information policy replace

Viewing DHCP Relay Configuration and Statistics

You can view configuration information and statistics collected for the DHCP relay agent by using the show ipv6 dhcp relay command or the show ip dhcp relay command for IPv4.

IPv6 DHCP Relay Show Commands

There are two show commands for IPv6 DHCP relay as follows:

show ipv6 dhcp relay—Displays the state (enabled or disabled) of DHCP relay globally and at the interface level, and the DHCP server configuration

show ipv6 dhcp relay statistics—Displays the count of various relayed DHCP packets (Solicit, Advertise, request, reply, and so on) and errors. The output of this command increments until you enter the clear ip dhcp relay statistics command.

For example, to display the configured status of the DHCP relay agent and the DHCP server configuration, enter the following command:

host/Admin# show ipv6 dhcp relay
 
   

To clear all the DHCP relay statistics, use the clear ipv6 dhcp relay statistics command. For example, enter the following command:

host1/Admin# clear ipv6 dhcp relay statistics
 
   

Table 8-4 describes the fields in the show ipv6 dhcp relay command output.

Table 8-2 Field Descriptions for the show ipv6 dhcp relay Command Output 

Field
Description

Context level configuration

Configuration information of the DHCP relay agent at the context level.

Status

Operating status of the DHCP relay agent at the context level: Enabled or Disabled.

Server

IPv6 address of the DHCP server at the context level.

Interface level configuration

Configuration information of the DHCP relay agent at the VLAN interface level.

VLAN

Assigned interface VLAN number.

Interface ID

Interface ID of the VLAN.

Status

Operating status of the DHCP relay agent at the VLAN interface level: Enabled or Disabled.

Server

IPv6 address of the DHCP server at the VLAN interface level.


Table 8-5 describes the fields in the show ipv6 dhcp relay statistics command output.

Table 8-3 Field Descriptions for the show ipv6 dhcp relay statistics Command Output 

Field
Description

Context level configuration

Statistics for the DHCP relay agent at the context level.

Number of SOLICIT packets relayed

Number of SOLICIT packets forwarded to a DHCP server.

Number of REQUEST packets relayed

Number of REQUEST packets forwarded to a DHCP server.

Number of CONFIRM packets relayed

Number of CONFIRM packets forwarded to a DHCP server.

Number of RENEW packets relayed

Number of RENEW packets forwarded to a DHCP server.

Number of REBIND packets relayed

Number of REBIND packets forwarded to a DHCP server.

Number of RELEASE packets relayed

Number of RELEASE packets forwarded to a DHCP server.

Number of DECLINE packets relayed

Number of DECLINE packets forwarded to a DHCP server.

Number of INFO_REQUEST packets relayed

Number of INFO_REQUEST packets forwarded to a DHCP server.

Number of RELAY_FORM packets relayed

Number of RELAY_FORM packets forwarded to a DHCP server.

Number of LEASEQUERY packets relayed

Number of LEASEQUERY packets forwarded to a DHCP server.

Number of ADVERTISE packets relayed

Number of ADVERTISE packets forwarded to a DHCP server.

Number of REPLY packets relayed

Number of REPLY packets forwarded to a DHCP server.

Number of RECONFIGURE packets relayed

Number of RECONFIGURE packets forwarded to a DHCP server.

Number of RELAY_REPLY packets relayed

Number of RELAY_REPLY packets forwarded to a DHCP server.

Number of LEASEQUERY_REPLY packets relayed

Number of LEASEQUERY_REPLY packets forwarded to a DHCP server.

Number of failures while relaying

Number of failures that occurred while the DHCP relay agent forwarded packets to a DHCP server.

Interface level configuration

Statistics for the DHCP relay agent at the VLAN interface level.


IPv4 DHCP Relay Show Commands

There are three show commands for IPv4 DHCP relay as follows:

show ip dhcp relay conf—Displays the DHCP configuration information.

show ip dhcp relay information policy—Displays the relay agent information reforwarding policy status.

show ip dhcp relay statistics—Displays the DHCP relay statistics. The output of this command increments until you enter the clear ip dhcp relay statistics command.

For example, to display the configured status of the DHCP relay information reforwarding policy, enter:

host/Admin# show ip dhcp relay information policy
DHCP Relay reforwarding policy configured = REPLACE
 
   

To clear all the DHCP relay statistics information, use the clear ip dhcp relay statistics command. For example, enter:

host1/Admin# clear ip dhcp relay statistics
 
   

Table 8-4 describes the fields in the show ip dhcp relay conf command output.

Table 8-4 Field Descriptions for the show ip dhcp relay conf Command Output 

Field
Description

Context level configuration

Configuration information of the DHCP relay agent at the context level.

Status

Operating status of the DHCP relay agent at the context level: Enabled or Disabled.

Server

IP address of the DHCP server at the context level.

Interface level configuration

Configuration information of the DHCP relay agent at the VLAN interface level.

VLAN

Assigned interface VLAN number.

Interface ID

Interface ID for the VLAN.

Status

Operating status of the DHCP relay agent at the VLAN interface level: Enabled or Disabled.

Server

IP address of the DHCP server at the VLAN interface level.


Table 8-5 describes the fields in the show ip dhcp relay statistics command output.

Table 8-5 Field Descriptions for the show ip dhcp relay statistics Command Output 

Field
Description

Context level configuration

Statistics for the DHCP relay agent at the context level.

Number of BOOTREQUEST packets relayed

Number of BOOTREQUEST packets forwarded to a DHCP server.

Number of DHCPDISCOVER packets relayed

Number of DHCPDISCOVER packets forwarded to a DHCP server.

Number of DHCPREQUEST packets relayed

Number of DHCPREQUEST packets forwarded to a DHCP server.

Number of DHCPDECLINE packets relayed

Number of DHCPDECLINE packets forwarded to a DHCP server.

Number of DHCPRELEASE packets relayed

Number of DHCPRELEASE packets forwarded to a DHCP server.

Number of DHCPINFORM packets relayed

Number of DHCPINFORM packets forwarded to a DHCP server.

Number of BOOTREPLY packets relayed

Number of BOOTREPLY packets forwarded to a DHCP server.

Number of DHCPOFFER packets relayed

Number of DHCPOFFER packets forwarded to a DHCP server.

Number of DHCPACK packets relayed

Number of DHCPACK packets forwarded to a DHCP server.

Number of DHCPNAK packets relayed

Number of DHCPNAK packets forwarded to a DHCP server.

Number of failures while relaying

Number of failures that occurred while the DHCP relay agent forwarded packets to a DHCP server.

Interface level configuration

Statistics for the DHCP relay agent at the VLAN interface level.