Configuring Dynamic ARP Inspection: Understanding DAI
Configuring Dynamic ARP Inspection: Understanding DAI
This chapter describes how to configure dynamic Address Resolution Protocol (ARP) inspection (DAI)
on the Catalyst 6500 series switch. The PFC3 supports DAI with Release 12.2(18)SXE and later
releases. The PFC2 does not support DAI.
Note For complete syntax and usage information for the commands used in this chapter, refer to the Cisco IOS
Master Command List, Release 12.2SX at this URL:
http://www.cisco.com/en/US/docs/ios/mcl/122sxmcl/12_2sx_mcl_book.html
Understanding DAI
These sections describe how DAI helps prevent ARP spoofing attacks:
• Understanding ARP, page 38-1
• Understanding ARP Spoofing Attacks, page 38-2
• Understanding DAI and ARP Spoofing Attacks, page 38-2
Understanding ARP
ARP provides IP communication within a Layer 2 broadcast domain by mapping an IP address to a MAC
address. For example, Host B wants to send information to Host A but does not have the MAC address
of Host A in its ARP cache. Host B generates a broadcast message for all hosts within the broadcast
domain to obtain the MAC address associated with the IP address of Host A. All hosts within the
broadcast domain receive the ARP request, and Host A responds with its MAC address.
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
OL-3999-08 38-1
Chapter 38 Configuring Dynamic ARP Inspection
Understanding DAI
A B
Host A Host B
(IA, MA) (IB, MB)
C
111750
Host C (man-in-the-middle)
(IC, MC)
Hosts A, B, and C are connected to the switch on interfaces A, B and C, all of which are on the same
subnet. Their IP and MAC addresses are shown in parentheses; for example, Host A uses IP address IA
and MAC address MA. When Host A needs to communicate to Host B at the IP layer, it broadcasts an
ARP request for the MAC address associated with IP address IB. When the switch and Host B receive
the ARP request, they populate their ARP caches with an ARP binding for a host with the IP address IA
and a MAC address MA; for example, IP address IA is bound to MAC address MA. When Host B
responds, the switch and Host A populate their ARP caches with a binding for a host with the IP address
IB and the MAC address MB.
Host C can poison the ARP caches of the switch, Host A, and Host B by broadcasting forged ARP
responses with bindings for a host with an IP address of IA (or IB) and a MAC address of MC. Hosts
with poisoned ARP caches use the MAC address MC as the destination MAC address for traffic intended
for IA or IB. This means that Host C intercepts that traffic. Because Host C knows the true MAC
addresses associated with IA and IB, it can forward the intercepted traffic to those hosts by using the
correct MAC address as the destination. Host C has inserted itself into the traffic stream from Host A to
Host B, which is the topology of the classic man-in-the middle attack.
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
38-2 OL-3999-08
Chapter 38 Configuring Dynamic ARP Inspection
Understanding DAI
DAI determines the validity of an ARP packet based on valid IP-to-MAC address bindings stored in a
trusted database, the DHCP snooping binding database. This database is built by DHCP snooping if
DHCP snooping is enabled on the VLANs and on the switch. If the ARP packet is received on a trusted
interface, the switch forwards the packet without any checks. On untrusted interfaces, the switch
forwards the packet only if it is valid.
DAI can validate ARP packets against user-configured ARP access control lists (ACLs) for hosts with
statically configured IP addresses (see “Applying ARP ACLs for DAI Filtering” section on page 38-8).
The switch logs dropped packets (see the “Logging of Dropped Packets” section on page 38-4).
You can configure DAI to drop ARP packets when the IP addresses in the packets are invalid or when
the MAC addresses in the body of the ARP packets do not match the addresses specified in the Ethernet
header (see the “Enabling Additional Validation” section on page 38-11).
Caution Use the trust state configuration carefully. Configuring interfaces as untrusted when they should be
trusted can result in a loss of connectivity.
In Figure 38-2, assume that both Switch A and Switch B are running DAI on the VLAN that includes
Host 1 and Host 2. If Host 1 and Host 2 acquire their IP addresses from the DHCP server connected to
Switch A, only Switch A binds the IP-to-MAC address of Host 1. Therefore, if the interface between
Switch A and Switch B is untrusted, the ARP packets from Host 1 are dropped by Switch B.
Connectivity between Host 1 and Host 2 is lost.
DHCP server
A B
Port 6/3 Port 3/3
130194
Host 1 Host 2
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
OL-3999-08 38-3
Chapter 38 Configuring Dynamic ARP Inspection
Understanding DAI
Configuring interfaces to be trusted when they are actually untrusted leaves a security hole in the
network. If Switch A is not running DAI, Host 1 can easily poison the ARP cache of Switch B (and Host
2, if the link between the switches is configured as trusted). This condition can occur even though
Switch B is running DAI.
DAI ensures that hosts (on untrusted interfaces) connected to a switch running DAI do not poison the
ARP caches of other hosts in the network. However, DAI does not prevent hosts in other portions of the
network from poisoning the caches of the hosts that are connected to a switch running DAI.
In cases in which some switches in a VLAN run DAI and other switches do not, configure the interfaces
connecting such switches as untrusted. However, to validate the bindings of packets from switches where
DAI is not configured, configure ARP ACLs on the switch running DAI. When you cannot determine
such bindings, isolate switches running DAI at Layer 3 from switches not running DAI. For
configuration information, see the “Sample Two: One Switch Supports DAI” section on page 38-20.
Note Depending on the setup of the DHCP server and the network, it might not be possible to validate a given
ARP packet on all switches in the VLAN.
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
38-4 OL-3999-08
Chapter 38 Configuring Dynamic ARP Inspection
Default DAI Configuration
You use the ip arp inspection log-buffer global configuration command to configure the number of
entries in the buffer and the number of entries needed in the specified interval to generate system
messages. You specify the type of packets that are logged by using the ip arp inspection vlan logging
global configuration command. For configuration information, see the “Configuring DAI Logging”
section on page 38-12.
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
OL-3999-08 38-5
Chapter 38 Configuring Dynamic ARP Inspection
Configuring DAI
• When DHCP snooping is disabled or in non-DHCP environments, use ARP ACLs to permit or to
deny packets.
• DAI is supported on access ports, trunk ports, EtherChannel ports, and private VLAN ports.
• A physical port can join an EtherChannel port channel only when the trust state of the physical port
and the channel port match. Otherwise, the physical port remains suspended in the port channel. A
port channel inherits its trust state from the first physical port that joins the channel. Consequently,
the trust state of the first physical port need not match the trust state of the channel.
Conversely, when you change the trust state on the port channel, the switch configures a new trust
state on all the physical ports that comprise the channel.
• The operating rate for the port channel is cumulative across all the physical ports within the channel.
For example, if you configure the port channel with an ARP rate-limit of 400 pps, all the interfaces
combined on the channel receive an aggregate 400 pps. The rate of incoming ARP packets on
EtherChannel ports is equal to the sum of the incoming rate of packets from all the channel
members. Configure the rate limit for EtherChannel ports only after examining the rate of incoming
ARP packets on the channel-port members.
The rate of incoming packets on a physical port is checked against the port-channel configuration
rather than the physical-ports configuration. The rate-limit configuration on a port channel is
independent of the configuration on its physical ports.
If the EtherChannel receives more ARP packets than the configured rate, the channel (including all
physical ports) is placed in the error-disabled state.
• Make sure to limit the rate of ARP packets on incoming trunk ports. Configure trunk ports with
higher rates to reflect their aggregation and to handle packets across multiple DAI-enabled VLANs.
You also can use the ip arp inspection limit none interface configuration command to make the rate
unlimited. A high rate-limit on one VLAN can cause a denial-of-service attack to other VLANs
when the software places the port in the error-disabled state.
Configuring DAI
These sections describe how to configure DAI:
• Enabling DAI on VLANs, page 38-7
• Configuring the DAI Interface Trust State, page 38-7
• Applying ARP ACLs for DAI Filtering, page 38-8
• Configuring ARP Packet Rate Limiting, page 38-9
• Enabling DAI Error-Disabled Recovery, page 38-10
• Enabling Additional Validation, page 38-11
• Configuring DAI Logging, page 38-12
• Displaying DAI Information, page 38-15
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
38-6 OL-3999-08
Chapter 38 Configuring Dynamic ARP Inspection
Configuring DAI
Command Purpose
Step 1 Router# configure terminal Enters global configuration mode.
Step 2 Router(config)# ip arp inspection vlan {vlan_ID | Enables DAI on VLANs (disabled by default).
vlan_range}
Router(config)# no ip arp inspection vlan Disables DAI on VLANs.
{vlan_ID | vlan_range}
Step 3 Router(config-if)# do show ip arp inspection vlan Verifies the configuration.
{vlan_ID | vlan_range} | begin Vlan
This example shows another way to enable DAI on VLANs 10 through 12:
Router# configure terminal
Router(config)# ip arp inspection vlan 10,11,12
This example shows how to enable DAI on VLANs 10 through 12 and VLAN 15:
Router# configure terminal
Router(config)# ip arp inspection vlan 10-12,15
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
OL-3999-08 38-7
Chapter 38 Configuring Dynamic ARP Inspection
Configuring DAI
On untrusted interfaces, the switch intercepts all ARP requests and responses. It verifies that the
intercepted packets have valid IP-to-MAC address bindings before updating the local cache and before
forwarding the packet to the appropriate destination. The switch drops invalid packets and logs them in
the log buffer according to the logging configuration specified with the ip arp inspection vlan logging
global configuration command. For more information, see the “Configuring DAI Logging” section on
page 38-12.
To configure the DAI interface trust state, perform this task:
Command Purpose
Step 1 Router# configure terminal Enters global configuration mode.
1
Step 2 Router(config)# interface {type slot/port | Specifies the interface connected to another switch, and
port-channel number} enter interface configuration mode.
Step 3 Router(config-if)# ip arp inspection trust Configures the connection between switches as trusted
(default: untrusted).
Router(config)# no ip arp inspection trust Configures the connection between switches as
untrusted.
Step 4 Router(config-if)# do show ip arp inspection Verifies the DAI configuration.
interfaces
1. type = ethernet, fastethernet, gigabitethernet, or tengigabitethernet
This example shows how to configure Fast Ethernet port 5/12 as trusted:
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# interface fastethernet 5/12
Router(config-if)# ip arp inspection trust
Router(config-if)# do show ip arp inspection interfaces | include Int|--|5/12
Interface Trust State Rate (pps) Burst Interval
--------------- ----------- ---------- --------------
Fa5/12 Trusted None N/A
Note See the Cisco IOS Master Command List, Release 12.2SX, for information about the arp access-list
command.
Command Purpose
Step 1 Router# configure terminal Enters global configuration mode.
Step 2 Router# ip arp inspection filter arp_acl_name Applies the ARP ACL to a VLAN.
vlan {vlan_ID | vlan_range} [static]
Step 3 Router(config)# do show ip arp inspection vlan Verifies your entries.
{vlan_ID | vlan_range}
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
38-8 OL-3999-08
Chapter 38 Configuring Dynamic ARP Inspection
Configuring DAI
Command Purpose
Step 1 Router# configure terminal Enters global configuration mode.
Step 2 Router(config)# interface {type1 slot/port | Selects the interface to be configured.
port-channel number}
Step 3 Router(config-if)# ip arp inspection limit {rate (Optional) Configures ARP packet rate limiting.
pps [burst interval seconds] | none}
Router(config-if)# no ip arp inspection limit Clears the ARP packet rate-limiting configuration.
Step 4 Router(config-if)# do show ip arp inspection Verifies the configuration.
interfaces
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
OL-3999-08 38-9
Chapter 38 Configuring Dynamic ARP Inspection
Configuring DAI
When configuring ARP packet rate limiting, note the following information:
• The default rate is 15 pps on untrusted interfaces and unlimited on trusted interfaces.
• For rate pps, specify an upper limit for the number of incoming packets processed per second. The
range is 0 to 2048 pps.
• The rate none keywords specify that there is no upper limit for the rate of incoming ARP packets
that can be processed.
• (Optional) For burst interval seconds (default is 1), specify the consecutive interval, in seconds,
over which the interface is monitored for a high rate of ARP packets.The range is 1 to 15.
• When the rate of incoming ARP packets exceeds the configured limit, the switch places the port in
the error-disabled state. The port remains in the error-disabled state until you enable error-disabled
recovery, which allows the port to emerge from the error-disabled state after a specified timeout
period.
• Unless you configure a rate-limiting value on an interface, changing the trust state of the interface
also changes its rate-limiting value to the default value for the configured trust state. After you
configure the rate-limiting value, the interface retains the rate-limiting value even when you change
its trust state. If you enter the no ip arp inspection limit interface configuration command, the
interface reverts to its default rate-limiting value.
• For configuration guidelines about limiting the rate of incoming ARP packets on trunk ports and
EtherChannel ports, see the “DAI Configuration Guidelines and Restrictions” section on page 38-5.
This example shows how to configure ARP packet rate limiting on Fast Ethernet port 5/14:
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# interface fastethernet 5/14
Router(config-if)# ip arp inspection limit rate 20 burst interval 2
Router(config-if)# do show ip arp inspection interfaces | include Int|--|5/14
Interface Trust State Rate (pps) Burst Interval
--------------- ----------- ---------- --------------
Fa5/14 Untrusted 20 2
Command Purpose
Step 1 Router# configure terminal Enters global configuration mode.
Step 2 Router(config)# errdisable recovery cause (Optional) Enables DAI error disabled recovery (disabled
arp-inspection by default).
Router(config-if)# no errdisable recovery cause Disables DAI error disabled recovery.
arp-inspection
Step 3 Router(config)# do show errdisable recovery | Verifies the configuration.
include Reason|---|arp-
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
38-10 OL-3999-08
Chapter 38 Configuring Dynamic ARP Inspection
Configuring DAI
Command Purpose
Step 1 Router# configure terminal Enters global configuration mode.
Step 2 Router(config)# ip arp inspection validate (Optional) Enables additional validation (default is
{[dst-mac] [ip] [src-mac]} none).
Router(config)# no ip arp inspection validate Disables additional validation.
{[dst-mac] [ip] [src-mac]}
Step 3 Router(config)# do show ip arp inspection | Verifies the configuration.
include abled$
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
OL-3999-08 38-11
Chapter 38 Configuring Dynamic ARP Inspection
Configuring DAI
This example shows how to enable src-mac and dst-mac additional validation:
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# ip arp inspection validate src-mac dst-mac
Router(config)# do show ip arp inspection | include abled$
Source Mac Validation : Enabled
Destination Mac Validation : Enabled
IP Address Validation : Disabled
This example shows how to enable src-mac, dst-mac, and ip additional validation:
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# ip arp inspection validate src-mac dst-mac ip
Router(config)# do show ip arp inspection | include abled$
Source Mac Validation : Enabled
Destination Mac Validation : Enabled
IP Address Validation : Enabled
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
38-12 OL-3999-08
Chapter 38 Configuring Dynamic ARP Inspection
Configuring DAI
If the log buffer overflows, it means that a log event does not fit into the log buffer, and the display for
the show ip arp inspection log privileged EXEC command is affected. Two dashes (“--”) appear instead
of data except for the packet count and the time. No other statistics are provided for the entry. If you see
this entry in the display, increase the number of entries in the log buffer or increase the logging rate.
Command Purpose
Step 1 Router# configure terminal Enters global configuration mode.
Step 2 Router(config)# ip arp inspection log-buffer Configures the DAI logging buffer size (range is
entries number 0 to 1024).
Router(config)# no ip arp inspection log-buffer Reverts to the default buffer size (32).
entries
Step 3 Router(config)# do show ip arp inspection log | Verifies the configuration.
include Size
This example shows how to configure the DAI logging buffer for 64 messages:
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# ip arp inspection log-buffer entries 64
Router(config)# do show ip arp inspection log | include Size
Total Log Buffer Size : 64
Command Purpose
Step 1 Router# configure terminal Enters global configuration mode.
Step 2 Router(config)# ip arp inspection log-buffer logs Configures the DAI logging buffer.
number_of_messages interval length_in_seconds
Router(config)# no ip arp inspection log-buffer Reverts to the default system message configuration.
logs
Step 3 Router(config)# do show ip arp inspection log Verifies the configuration.
When configuring the DAI logging system messages, note the following information:
• For logs number_of_messages (default is 5), the range is 0 to 1024. A 0 value means that the entry
is placed in the log buffer, but a system message is not generated.
• For interval length_in_seconds (default is 1), the range is 0 to 86400 seconds (1 day). A 0 value
means that a system message is immediately generated (and the log buffer is always empty). An
interval setting of 0 overrides a log setting of 0.
• System messages are sent at the rate of number_of_messages per length_in_seconds.
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
OL-3999-08 38-13
Chapter 38 Configuring Dynamic ARP Inspection
Configuring DAI
This example shows how to configure DAI logging to send 12 messages every 2 seconds:
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# ip arp inspection log-buffer logs 12 interval 2
Router(config)# do show ip arp inspection log | include Syslog
Syslog rate : 12 entries per 2 seconds.
This example shows how to configure DAI logging to send 20 messages every 60 seconds.
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# ip arp inspection log-buffer logs 20 interval 60
Router(config)# do show ip arp inspection log | include Syslog
Syslog rate : 20 entries per 60 seconds.
Command Purpose
Step 1 Router# configure terminal Enters global configuration mode.
Step 2 Router(config)# ip arp inspection vlan vlan_range Configures log filtering for each VLAN.
logging {acl-match {matchlog | none} |
dhcp-bindings {all | none | permit}}
Step 3 Router(config)# do show running-config | include Verifies the configuration.
ip arp inspection vlan vlan_range
When configuring the DAI log filtering, note the following information:
• By default, all denied packets are logged.
• For vlan_range, you can specify a single VLAN or a range of VLANs:
– To specify a single VLAN, enter a single VLAN number.
– To specify a range of VLANs, enter a dash-separated pair of VLAN numbers.
– You can enter a comma-separated list of VLAN numbers and dash-separated pairs of VLAN
numbers.
• acl-match matchlog—Logs packets based on the DAI ACL configuration. If you specify the
matchlog keyword in this command and the log keyword in the permit or deny ARP access-list
configuration command, ARP packets permitted or denied by the ACL are logged.
• acl-match none—Does not log packets that match ACLs.
• dhcp-bindings all—Logs all packets that match DHCP bindings.
• dhcp-bindings none—Does not log packets that match DHCP bindings.
• dhcp-bindings permit—Logs DHCP-binding permitted packets.
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
38-14 OL-3999-08
Chapter 38 Configuring Dynamic ARP Inspection
Configuring DAI
This example shows how to configure the DAI log filtering for VLAN 100 not to log packets that match
ACLs:
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# ip arp inspection vlan 100 logging acl-match none
Router(config)# do show running-config | include ip arp inspection vlan 100
ip arp inspection vlan 100 logging acl-match none
Command Description
show arp access-list [acl_name] Displays detailed information about ARP ACLs.
show ip arp inspection interfaces [interface_id] Displays the trust state and the rate limit of ARP
packets for the specified interface or all interfaces.
show ip arp inspection vlan vlan_range Displays the configuration and the operating state
of DAI for the specified VLAN. If no VLANs are
specified or if a range is specified, displays
information only for VLANs with DAI enabled
(active).
To clear or display DAI statistics, use the privileged EXEC commands in Table 38-3.
Command Description
clear ip arp inspection statistics Clears DAI statistics.
show ip arp inspection statistics [vlan Displays statistics for forwarded, dropped, MAC
vlan_range] validation failure, IP validation failure, ACL
permitted and denied, and DHCP permitted and
denied packets for the specified VLAN. If no
VLANs are specified or if a range is specified,
displays information only for VLANs with DAI
enabled (active).
For the show ip arp inspection statistics command, the switch increments the number of forwarded
packets for each ARP request and response packet on a trusted DAI port. The switch increments the
number of ACL-permitted or DHCP-permitted packets for each packet that is denied by source MAC,
destination MAC, or IP validation checks, and the switch increments the appropriate failure count.
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
OL-3999-08 38-15
Chapter 38 Configuring Dynamic ARP Inspection
DAI Configuration Samples
To clear or display DAI logging information, use the privileged EXEC commands in Table 38-4:
Command Description
clear ip arp inspection log Clears the DAI log buffer.
show ip arp inspection log Displays the configuration and contents of the DAI log buffer.
Note • DAI depends on the entries in the DHCP snooping binding database to verify IP-to-MAC address
bindings in incoming ARP requests and ARP responses. Make sure to enable DHCP snooping to
permit ARP packets that have dynamically assigned IP addresses. For configuration information, see
Chapter 37, “Configuring DHCP Snooping.”
• This configuration does not work if the DHCP server is moved from Switch A to a different location.
• To ensure that this configuration does not compromise security, configure Fast Ethernet port 6/3 on
Switch A and Fast Ethernet port 3/3 on Switch B as trusted.
Configuring Switch A
To enable DAI and configure Fast Ethernet port 6/3 on Switch A as trusted, follow these steps:
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
38-16 OL-3999-08
Chapter 38 Configuring Dynamic ARP Inspection
DAI Configuration Samples
Step 5 Check the statistics before and after DAI processes any packets:
SwitchA# show ip arp inspection statistics vlan 1
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
OL-3999-08 38-17
Chapter 38 Configuring Dynamic ARP Inspection
DAI Configuration Samples
If Host 1 then sends out two ARP requests with an IP address of 1.1.1.2 and a MAC address of
0002.0002.0002, both requests are permitted, as reflected in the following statistics:
SwitchA# show ip arp inspection statistics vlan 1
If Host 1 then tries to send an ARP request with an IP address of 1.1.1.3, the packet is dropped and an
error message is logged:
00:12:08: %SW_DAI-4-DHCP_SNOOPING_DENY: 2 Invalid ARPs (Req) on Fa6/4, vlan
1.([0002.0002.0002/1.1.1.3/0000.0000.0000/0.0.0.0/02:42:35 UTC Tue Jul 10 2001])
SwitchA# show ip arp inspection statistics vlan 1
SwitchA#
Configuring Switch B
To enable DAI and configure Fast Ethernet port 3/3 on Switch B as trusted, follow these steps:
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
38-18 OL-3999-08
Chapter 38 Configuring Dynamic ARP Inspection
DAI Configuration Samples
<output truncated>
SwitchB#
Step 5 Check the statistics before and after DAI processes any packets:
SwitchB# show ip arp inspection statistics vlan 1
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
OL-3999-08 38-19
Chapter 38 Configuring Dynamic ARP Inspection
DAI Configuration Samples
If Host 2 then sends out an ARP request with the IP address 1.1.1.1 and the MAC address
0001.0001.0001, the packet is forwarded and the statistics are updated appropriately:
SwitchB# show ip arp inspection statistics vlan 1
If Host 2 attempts to send an ARP request with the IP address 1.1.1.2, DAI drops the request and logs a
system message:
00:18:08: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Fa3/4, vlan
1.([0001.0001.0001/1.1.1.2/0000.0000.0000/0.0.0.0/01:53:21 UTC Fri May 23 2003])
SwitchB#
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
38-20 OL-3999-08
Chapter 38 Configuring Dynamic ARP Inspection
DAI Configuration Samples
To prevent this possibility, you must configure Fast Ethernet port 6/3 on Switch A as untrusted. To permit
ARP packets from Host 2, you must set up an ARP ACL and apply it to VLAN 1. If the IP address of
Host 2 is not static, which would make it impossible to apply the ACL configuration on Switch A, you
must separate Switch A from Switch B at Layer 3 and use a router to route packets between them.
To set up an ARP ACL on switch Switch A, follow these steps:
Step 1 Configure the access list to permit the IP address 1.1.1.1 and the MAC address 0001.0001.0001, and
verify the configuration:
SwitchA# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SwitchA(config)# arp access-list H2
SwitchA(config-arp-nacl)# permit ip host 1.1.1.1 mac host 1.1.1
SwitchA(config-arp-nacl)# end
SwitchA# show arp access-list
ARP access list H2
permit ip host 1.1.1.1 mac host 0001.0001.0001
Step 3 Configure Fast Ethernet port 6/3 as untrusted, and verify the configuration:
SwitchA# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SwitchA(config)# interface fastethernet 6/3
SwitchA(config-if)# no ip arp inspection trust
SwitchA(config-if)# end
Switch# show ip arp inspection interfaces fastethernet 6/3
Switch#
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
OL-3999-08 38-21
Chapter 38 Configuring Dynamic ARP Inspection
DAI Configuration Samples
When Host 2 sends 5 ARP requests through Fast Ethernet port 6/3 on Switch A and a “get” is permitted
by Switch A, the statistics are updated appropriately:
Switch# show ip arp inspection statistics vlan 1
Vlan Forwarded Dropped DHCP Drops ACL Drops
---- --------- ------- ---------- ----------
1 5 0 0 0
Vlan DHCP Permits ACL Permits Source MAC Failures
---- ------------ ----------- -------------------
1 0 5 0
Vlan Dest MAC Failures IP Validation Failures
---- ----------------- ----------------------
1 0 0
Switch#
Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide, Release 12.2SXF
38-22 OL-3999-08