- New and Changed Information
- Index
- Preface
- Overview
- Configuring AAA
- Configuring RADIUS
- Configuring TACACS+
- Configuring SSH and Telnet
- Configuring PKI
- Configuring User Accounts and RBAC
- Configuring 802.1X
- Configuring NAC
- Configuring Cisco TrustSec
- Configuring IP ACLs
- Configuring MAC ACLs
- Configuring VLAN ACLs
- Configuring Port Security
- Configuring DHCP Snooping
- Configuring Dynamic ARP Inspection
- Configuring Source Guard
- Configuring Keychain Management
- Configuring Traffic Storm Control
- Configuring Unicast RPF
- Configuring Control Plane Policing
- Configuring Rate Limits
- Information About DHCP Snooping
- Licensing Requirements for DHCP Snooping
- Prerequisites for DHCP Snooping
- Guidelines and Limitations
- Configuring DHCP Snooping
- Minimum DHCP Snooping Configuration
- Enabling or Disabling the DHCP Snooping Feature
- Enabling or Disabling DHCP Snooping Globally
- Enabling or Disabling DHCP Snooping on a VLAN
- Enabling or Disabling DHCP Snooping MAC Address Verification
- Enabling or Disabling Option-82 Data Insertion and Removal
- Configuring an Interface as Trusted or Untrusted
- Enabling or Disabling the DHCP Relay Agent
- Enabling or Disabling Option 82 for the DHCP Relay Agent
- Configuring DHCP Server Addresses on an Interface
- Verifying DHCP Snooping Configuration
- Displaying DHCP Bindings
- Clearing the DHCP Snooping Binding Database
- Displaying DHCP Snooping Statistics
- Example Configuration for DHCP Snooping
- Default Settings
- Additional References
- Feature History for DHCP Snooping
Configuring DHCP Snooping
This chapter describes how to configure Dynamic Host Configuration Protocol (DHCP) snooping on an NX-OS device.
This chapter includes the following sections:
•Information About DHCP Snooping
•Licensing Requirements for DHCP Snooping
•Prerequisites for DHCP Snooping
•Verifying DHCP Snooping Configuration
•Clearing the DHCP Snooping Binding Database
•Displaying DHCP Snooping Statistics
•Example Configuration for DHCP Snooping
•Feature History for DHCP Snooping
Information About DHCP Snooping
DHCP snooping acts like a firewall between untrusted hosts and trusted DHCP servers. DHCP snooping performs the following activities:
•Validates DHCP messages received from untrusted sources and filters out invalid messages.
•Builds and maintains the DHCP snooping binding database, which contains information about untrusted hosts with leased IP addresses.
•Uses the DHCP snooping binding database to validate subsequent requests from untrusted hosts.
Dynamic ARP inspection (DAI) and IP Source Guard also use information stored in the DHCP snooping binding database.
DHCP snooping is enabled on a per-VLAN basis. By default, the feature is inactive on all VLANs. You can enable the feature on a single VLAN or a range of VLANs.
This section includes the following topics:
•Trusted and Untrusted Sources
•DHCP Snooping Binding Database
•DHCP Snooping Option-82 Data Insertion
•Virtualization Support for DHCP Snooping
Trusted and Untrusted Sources
You can configure whether DHCP snooping trusts traffic sources. An untrusted source may initiate traffic attacks or other hostile actions. To prevent such attacks, DHCP snooping filters messages from untrusted sources.
In an enterprise network, a trusted source is a device that is under your administrative control. These devices include the switches, routers, and servers in the network. Any device beyond the firewall or outside the network is an untrusted source. Generally, host ports are treated as untrusted sources.
In a service provider environment, any device that is not in the service provider network is an untrusted source (such as a customer switch). Host ports are untrusted sources.
In the NX-OS device, you indicate that a source is trusted by configuring the trust state of its connecting interface.
The default trust state of all interfaces is untrusted. You must configure DHCP server interfaces as trusted. You can also configure other interfaces as trusted if they connect to devices (such as switches or routers) inside your network. You usually do not configure host port interfaces as trusted.
Note For DHCP snooping to function properly, all DHCP servers must be connected to the device through trusted interfaces.
DHCP Snooping Binding Database
Using information extracted from intercepted DHCP messages, DHCP snooping dynamically builds and maintains a database. The database contains an entry for each untrusted host with a leased IP address if the host is associated with a VLAN that has DHCP snooping enabled. The database does not contain entries for hosts connected through trusted interfaces.
Note The DHCP snooping binding database is also referred to as the DHCP snooping binding table.
DHCP snooping updates the database when the device receives specific DHCP messages. For example, the feature adds an entry to the database when the device receives a DHCPACK message from the server. The feature removes the entry in the database when the IP address lease expires or the device receives a DHCPRELEASE message from the host.
Each entry in the DHCP snooping binding database includes the MAC address of the host, the leased IP address, the lease time, the binding type, and the VLAN number and interface information associated with the host.
You can remove entries from the binding database by using the clear ip dhcp snooping binding command. For more information, see the "Clearing the DHCP Snooping Binding Database" section.
DHCP Relay Agent
You can configure the device to run a DHCP relay agent, which forwards DHCP packets between clients and servers. This feature is useful when clients and servers 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 out on another interface. The relay agent sets the gateway address (giaddr field of the DHCP packet) and, if configured, adds the relay agent information option (option82) in the packet and forwards it to the DHCP server. The reply from the server is forwarded back to the client after removing option 82.
Packet Validation
The device validates DHCP packets received on the untrusted interfaces of VLANs that have DHCP snooping enabled. The device forwards the DHCP packet unless any of the following conditions occur (in which case the packet is dropped):
•The device receives a DHCP response packet (such as DHCPACK, DHCPNAK, or DHCPOFFER packet) on an untrusted interface.
•The device receives a packet on an untrusted interface, and the source MAC address and the DHCP client hardware address do not match. This check is performed only if the DHCP snooping MAC address verification option is turned on.
•The device receives a DHCPRELEASE or DHCPDECLINE message from an untrusted host with an entry in the DHCP snooping binding table, and the interface information in the binding table does not match the interface on which the message was received.
•The device receives a DHCP packet that includes a relay agent IP address that is not 0.0.0.0.
DHCP Snooping Option-82 Data Insertion
In residential, metropolitan Ethernet-access environments, DHCP can centrally manage the IP address assignments for a large number of subscribers. When you enable option 82, the device identifies a subscriber device that connects to the network (in addition to its MAC address). Multiple hosts on the subscriber LAN can connect to the same port on the access device and are uniquely identified.
Figure 15-1 shows an example of a metropolitan Ethernet network in which a centralized DHCP server assigns IP addresses to subscribers connected to the device at the access layer. Because the DHCP clients and their associated DHCP server do not reside on the same IP network or subnet, a DHCP relay agent is configured with a helper address to enable broadcast forwarding and to transfer DHCP messages between the clients and the server.
Figure 15-1 DHCP Relay Agent in a Metropolitan Ethernet Network
When you enable option 82 on the NX-OS device, the following sequence of events occurs:
1. The host (DHCP client) generates a DHCP request and broadcasts it on the network.
2. When the NX-OS device receives the DHCP request, it adds the option-82 information in the packet. The option-82 information contains the device MAC address (the remote ID suboption) and the port identifier, vlan-mod-port, from which the packet is received (the circuit ID suboption).
3. The device adds the IP address of the relay agent to the DHCP packet.
4. The device forwards the DHCP request that includes the option-82 field to the DHCP server.
5. The DHCP server receives the packet. If the server is option-82 capable, it can use the remote ID, the circuit ID, or both to assign IP addresses and implement policies, such as restricting the number of IP addresses that can be assigned to a single remote ID or circuit ID. The DHCP server echoes the option-82 field in the DHCP reply.
6. The DHCP server unicasts the reply to the NX-OS device if the request was relayed to the server by the device. The NX-OS device verifies that it originally inserted the option-82 data by inspecting the remote ID and possibly the circuit ID fields. The NX-OS device removes the option-82 field and forwards the packet to the interface that connects to the DHCP client that sent the DHCP request.
If the previously described sequence of events occurs, the following values (see Figure 15-2) do not change:
•Circuit ID suboption fields
–Suboption type
–Length of the suboption type
–Circuit ID type
–Length of the circuit ID type
•Remote ID suboption fields
–Suboption type
–Length of the suboption type
–Remote ID type
–Length of the circuit ID type
Figure 15-2 shows the packet formats for the remote ID suboption and the circuit ID suboption. The NX-OS device uses the packet formats when you globally enable DHCP snooping and when you enable option-82 data insertion and removal. For the circuit ID suboption, the module field is the slot number of the module.
Figure 15-2 Suboption Packet Formats
Virtualization Support for DHCP Snooping
The following information applies to DHCP snooping used in Virtual Device Contexts (VDCs):
•DHCP snooping binding databases are unique per VDC. Bindings in one VDC do not affect DHCP snooping in other VDCs.
•The system does not limit binding database size on a per-VDC basis.
Licensing Requirements for DHCP Snooping
The following table shows the licensing requirements for this feature:
Prerequisites for DHCP Snooping
DHCP snooping has the following prerequisites:
•You must be familiar with DHCP to configure DHCP snooping.
Guidelines and Limitations
DHCP snooping has the following configuration guidelines and limitations:
•When you use the feature dhcp command to enable the DHCP snooping feature, there is a delay of approximately 30 seconds before the I/O modules receive DHCP snooping or DAI configuration. This delay occurs regardless of the method that you use to change from a configuration with DHCP snooping disabled to a configuration with DHCP snooping enabled. For example, if you use the Rollback feature to revert to a configuration that enables DHCP snooping, the I/O modules receive DHCP snooping and DAI configuration approximately 30 seconds after you complete the rollback.
•The DHCP snooping database can store 2000 bindings.
•DHCP snooping is not active until you enable the feature, enable DHCP snooping globally, and enable DHCP snooping on at least one VLAN.
•Before globally enabling DHCP snooping on the device, make sure that the devices acting as the DHCP server and the DHCP relay agent are configured and enabled.
•Access-control list (ACL) statistics are not supported if the DHCP snooping feature is enabled.
Configuring DHCP Snooping
This section includes the following topics:
•Minimum DHCP Snooping Configuration
•Enabling or Disabling the DHCP Snooping Feature
•Enabling or Disabling DHCP Snooping Globally
•Enabling or Disabling DHCP Snooping on a VLAN
•Enabling or Disabling DHCP Snooping MAC Address Verification
•Enabling or Disabling Option-82 Data Insertion and Removal
•Configuring an Interface as Trusted or Untrusted
•Enabling or Disabling the DHCP Relay Agent
•Enabling or Disabling Option 82 for the DHCP Relay Agent
•Configuring DHCP Server Addresses on an Interface
Minimum DHCP Snooping Configuration
The minimum configuration for DHCP snooping is as follows:
Step 1 Enable the DHCP snooping feature. For more information, see the "Enabling or Disabling the DHCP Snooping Feature" section.
When the DHCP snooping feature is disabled, you cannot configure DHCP snooping.
Step 2 Enable DHCP snooping globally. For more information, see the "Enabling or Disabling DHCP Snooping Globally" section.
Step 3 Enable DHCP snooping on at least one VLAN. For more information, see the "Enabling or Disabling DHCP Snooping on a VLAN" section.
By default, DHCP snooping is disabled on all VLANs.
Step 4 Ensure that the DHCP server is connected to the device using a trusted interface. For more information, see the "Configuring an Interface as Trusted or Untrusted" section.
Step 5 (Optional) Enable the DHCP relay agent. For more information, see the "Enabling or Disabling the DHCP Relay Agent" section.
Step 6 (Optional) Configure an interface with the IP address of the DHCP server. For more information, see the "Configuring DHCP Server Addresses on an Interface" section. one of the following topics:
Enabling or Disabling the DHCP Snooping Feature
You can enable or disable the DHCP snooping feature on the device. By default, DHCP snooping is disabled.
BEFORE YOU BEGIN
If you disable the DHCP snooping feature, all DHCP snooping configuration is lost. If you want to turn off DHCP snooping and preserve the DHCP snooping configuration, disable DHCP globally. For more information, see the "Enabling or Disabling DHCP Snooping Globally" section.
SUMMARY STEPS
1. config t
2. [no] feature dhcp
3. show running-config dhcp
4. copy running-config startup-config
DETAILED STEPS
Enabling or Disabling DHCP Snooping Globally
You can enable or disable the DHCP snooping globally on the device.
BEFORE YOU BEGIN
By default, DHCP snooping is globally disabled.
Ensure that you have enabled the DHCP snooping feature. For more information, see the "Enabling or Disabling the DHCP Snooping Feature" section.
Globally disabling DHCP snooping stops the device from performing any DHCP snooping or relaying DHCP messages. It preserves DCHP snooping configuration.
SUMMARY STEPS
1. config t
2. [no] ip dhcp snooping
3. show running-config dhcp
4. copy running-config startup-config
DETAILED STEPS
Enabling or Disabling DHCP Snooping on a VLAN
You can enable or disable DHCP snooping on one or more VLANs.
BEFORE YOU BEGIN
By default, DHCP snooping is disabled on all VLANs.
Ensure that DHCP snooping is enabled. For more information, see the "Enabling or Disabling the DHCP Snooping Feature" section.
SUMMARY STEPS
1. config t
2. [no] ip dhcp snooping vlan vlan-list
3. show running-config dhcp
4. copy running-config startup-config
DETAILED STEPS
Enabling or Disabling DHCP Snooping MAC Address Verification
You can enable or disable DHCP snooping MAC address verification. If the device receives a packet on an untrusted interface and the source MAC address and the DHCP client hardware address do not match, address verification causes the device to drop the packet.
BEFORE YOU BEGIN
MAC address verification is enabled by default.
Ensure that DHCP snooping is enabled. For more information, see the "Enabling or Disabling the DHCP Snooping Feature" section.
SUMMARY STEPS
1. config t
2. [no] ip dhcp snooping verify mac-address
3. show running-config dhcp
4. copy running-config startup-config
DETAILED STEPS
Enabling or Disabling Option-82 Data Insertion and Removal
You can enable or disable the insertion and removal of option-82 information for DHCP packets forwarded without the use of the DHCP relay agent.
Note You must separately configure the DHCP relay agent to support option 82. For more information, see the "Enabling or Disabling Option 82 for the DHCP Relay Agent" section.
BEFORE YOU BEGIN
By default, the device does not include option-82 information in DHCP packets.
Ensure that DHCP snooping is enabled. For more information, see the "Enabling or Disabling the DHCP Snooping Feature" section.
SUMMARY STEPS
1. config t
2. [no] ip dhcp snooping information option
3. show running-config dhcp
4. copy running-config startup-config
DETAILED STEPS
Configuring an Interface as Trusted or Untrusted
You can configure whether an interface is a trusted or untrusted source of DHCP messages. You can configure DHCP trust on the following types of interfaces:
•Layer 2 Ethernet interfaces
•Layer 2 port-channel interfaces
BEFORE YOU BEGIN
By default, all interfaces are untrusted.
Ensure that DHCP snooping is enabled. For more information, see the "Enabling or Disabling the DHCP Snooping Feature" section.
Ensure that the interface is configured as a Layer 2 interface.
SUMMARY STEPS
1. config t
2. interface ethernet slot/port
interface port-channel channel-number
3. [no] ip dhcp snooping trust
4. show running-config dhcp
5. copy running-config startup-config
DETAILED STEPS
Enabling or Disabling the DHCP Relay Agent
You can enable or disable the DHCP relay agent.
BEFORE YOU BEGIN
By default, the DHCP relay agent is disabled.
Ensure that DHCP snooping is enabled. For more information, see the "Enabling or Disabling the DHCP Snooping Feature" section.
SUMMARY STEPS
1. config t
2. [no] service dhcp
3. show running-config dhcp
4. copy running-config startup-config
DETAILED STEPS
Enabling or Disabling Option 82 for the DHCP Relay Agent
You can enable or disable the device to insert and remove option-82 information on DHCP packets forwarded by the relay agent.
BEFORE YOU BEGIN
By default, the DHCP relay agent does not include option-82 information in DHCP packets.
Ensure that DHCP snooping is enabled. For more information, see the "Enabling or Disabling the DHCP Snooping Feature" section.
SUMMARY STEPS
1. config t
2. [no] ip dhcp relay information option
3. show running-config dhcp
4. copy running-config startup-config
DETAILED STEPS
Configuring DHCP Server Addresses on an Interface
You can configure up to 16 DHCP server IP addresses on an interface. When an inbound DHCP BOOTREQUEST packet arrives on the interface, the relay agent forwards the packet to all DHCP server IP addresses specified. The relay agent forwards replies from all DHCP servers to the host that sent the request.
BEFORE YOU BEGIN
By default, there is no DHCP server IP address configured on an interface.
Ensure that the DHCP server is correctly configured.
Determine the IP address for each DHCP server that you want to configure on the interface.
Ensure that DHCP snooping is enabled. For more information, see the "Enabling or Disabling the DHCP Snooping Feature" section.
SUMMARY STEPS
1. config t
2. interface ethernet slot/port[.number]
interface vlan vlan-id
interface port-channel channel-id
3. ip dhcp relay address IP-address
4. show running-config dhcp
5. copy running-config startup-config
DETAILED STEPS
Verifying DHCP Snooping Configuration
To display DHCP snooping configuration information, use the following commands:
|
|
---|---|
show running-config dhcp |
Displays the DHCP snooping configuration |
show ip dhcp snooping |
Displays general information about DHCP snooping. |
For detailed information about the fields in the output from these commands, see the Cisco Nexus 7000 Series NX-OS Security Command Reference, Release 4.1.
Displaying DHCP Bindings
Use the show ip dhcp snooping binding command to display the DHCP binding table. For detailed information about the fields in the output from this command, see the Cisco Nexus 7000 Series NX-OS Security Command Reference, Release 4.1.
Clearing the DHCP Snooping Binding Database
You can remove all entries from the DHCP snooping binding database.
BEFORE YOU BEGIN
Ensure that DHCP snooping is enabled. For more information, see the "Enabling or Disabling the DHCP Snooping Feature" section.
SUMMARY STEPS
1. clear ip dhcp snooping binding
2. show ip dhcp snooping binding
DETAILED STEPS
Displaying DHCP Snooping Statistics
Use the show ip dhcp snooping statistics command to display DHCP snooping statistics. For detailed information about the fields in the output from this command, see the Cisco Nexus 7000 Series NX-OS Security Command Reference, Release 4.1.
Example Configuration for DHCP Snooping
This example shows how to enable DHCP snooping on two VLANs, with option 82 support enabled and Ethernet interface 2/5 trusted because the DHCP server is connected to that interface:
feature dhcp
ip dhcp snooping
ip dhcp snooping info option
interface Ethernet2/5
ip dhcp snooping trust
ip dhcp snooping vlan 1
ip dhcp snooping vlan 50
This example shows how to enable the DHCP relay agent and configure the DHCP server IP address for Ethernet interface 2/3, where the server IP address is 10.132.7.120:
feature dhcp
ip dhcp snoop
service dhcp
ip dhcp relay information option
interface Ethernet2/3
ip dhcp relay address 10.132.7.120
Default Settings
Table 15-1 lists the default settings for DHCP snooping parameters.
Additional References
For additional information related to implementing DHCP snooping, see the following sections:
Related Documents
Standards
|
|
---|---|
RFC-2131 |
Dynamic Host Configuration Protocol (http://tools.ietf.org/html/rfc2131) |
RFC-3046 |
DHCP Relay Agent Information Option (http://tools.ietf.org/html/rfc3046) |
Feature History for DHCP Snooping
Table 15-2 lists the release history for this feature.