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.
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.
Enter configuration commands, one per line. End with CNTL/Z
|
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.
|