此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍如何验证Catalyst 9000系列交换机上的ACL(访问控制列表)并对其进行故障排除。
本文档没有任何特定的要求。
本文档中的信息基于以下硬件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
注意:有关在其他Cisco平台上启用这些功能的命令,请参阅相应的配置指南。
ACL过滤通过路由器或交换机的流量,允许或拒绝通过指定接口的数据包。ACL是应用于数据包的permit和deny条件的顺序集合。当接口收到数据包时,交换机会根据访问列表中指定的条件,将数据包中的字段与应用的ACL进行比较,以验证数据包是否具有转发所需的权限。它会根据访问列表中的条件逐个测试数据包。第一个匹配项决定交换机是接受还是拒绝数据包。由于交换机在第一次匹配后停止测试,因此列表中的条件顺序至关重要。如果没有匹配的条件,交换机将拒绝该数据包。如果没有限制,交换机将转发数据包;否则,交换机将丢弃数据包。交换机可以对其转发的所有数据包使用ACL。
您可以配置访问列表以便为网络提供基本安全性。如果不配置ACL,则允许通过交换机的所有数据包进入所有网络部分。您可以使用ACL来控制哪些主机可以访问网络的不同部分,或者决定哪些类型的流量在路由器接口被转发或阻止。例如,您可以转发电子邮件流量,但不能转发Telnet流量。
ACE |
访问控制条目(ACE) - ACL中的单个规则/行 |
ACL |
访问控制列表(ACL) -应用于端口的一组ACE |
DACL |
可下载ACL (DACL) -通过ISE安全策略动态推送的ACL |
PACL |
端口ACL (PACL) -应用于第2层接口的ACL |
RACL |
路由ACL (RACL) -应用于第3层接口的ACL |
VACL |
VLAN ACL (VACL) -应用于VLAN的ACL |
GACL |
组ACL (GACL) -根据用户组或客户端的身份动态分配的ACL |
IP ACL |
用于分类IPv4/IPv6数据包。这些规则包含各种第3层和第4层数据包字段和属性,包括但不限于源和目标IPv4地址、TCP/UDP源和目标端口、TCP标志和DSCP等。 |
MACL |
Mac地址ACL (MACL) -用于对非IP数据包进行分类。规则包含各种第2层字段和属性,包括源/目标MAC地址、以太网类型等。 |
L4OP |
第4层操作员端口(L4OP) -匹配除EQ(等于)以外的逻辑。GT(大于)、LT(小于)、NE(不等于)和RANGE(从-到) |
VCU |
值比较单元(VCU) - L4OP转换为VCU以便对第4层报头执行分类 |
VMR |
值掩码结果(VMR) - ACE条目在TCAM中作为VMR进行内部编程。 |
CGD |
类组数据库(CGD) - FMAN-FP在其中存储ACL内容 |
类 |
如何在CGD中识别ACE |
CG |
Class Group (CG) -有关如何在CGD中标识ACL的一组类 |
CGE |
类组条目(CGE) -存储在类组中的ACE条目 |
FMAN |
转发管理器(FMAN) - Cisco IOS® XE和硬件之间的编程层 |
FED |
转发引擎驱动程序(FED) -对设备硬件进行编程的组件 |
这里提供了三个示例来演示ACL如何使用TCAM、L4OP和VCU。
access-list 101 permit ip any 10.1.1.0 0.0.0.255
access-list 101 permit ip any 10.1.2.0 0.0.0.255
access-list 101 permit ip any 10.1.3.0 0.0.0.255
access-list 101 permit ip any 10.1.4.0 0.0.0.255
access-list 101 permit ip any 10.1.5.0 0.0.0.255
TCAM条目 |
L4OP |
VCUs |
|
消费 |
5 |
0 |
0 |
ip access-list extended TEST
10 permit tcp 192.168.1.0 0.0.0.255 any neq 3456 <-- 1 L4OP, 1 VCU
20 permit tcp 10.0.0.0 0.255.255.255 any range 3000 3100 <-- 1 L4OP, 2 VCU
30 permit tcp 172.16.0.0 0.0.255.255 any range 4000 8000 <-- 1 L4OP, 2 VCU
40 permit tcp 192.168.2.0 0.0.0.255 gt 10000 any eq 20000 <-- 2 L4OP, 2 VCU
TCAM条目 |
L4OP |
VCUs |
|
消费 |
4 |
5 |
7 |
IPv6 ACE使用两个TCAM条目,而不是一个IPv4条目。在本示例中,四个ACE使用八个TCAM,而不是四个。
ipv6 access-list v6TEST
sequence 10 deny ipv6 any 2001:DB8:C18::/48 fragments
sequence 20 deny ipv6 2001:DB8::/32 any
sequence 30 permit tcp host 2001:DB8:C19:2:1::F host 2001:DB8:C18:2:1::1 eq bgp <-- One L4OP & VCU
sequence 40 permit tcp host 2001:DB8:C19:2:1::F eq bgp host 2001:DB8:C18:2:1::1 <-- One L4OP & VCU
TCAM条目 |
L4OP |
VCUs |
|
消费 |
8 |
2 |
2 |
根据示例中显示的转发或丢弃结果,9300 VLAN 10 SVI使用本图中所示的两个IP地址之一。
本节介绍如何验证软件和硬件中的ACL编程并对其进行故障排除。
PACL分配给第2层接口。
9500H(config)#ip access-list extended TEST <-- Create a named extended ACL
9500H(config-ext-nacl)#permit ip host 10.1.1.1 any
9500H(config-ext-nacl)#permit udp host 10.1.1.1 eq 1000 host 10.1.1.2
9500H#show access-lists TEST <-- Display the ACL configured
Extended IP access list TEST
10 permit ip host 10.1.1.1 any
20 permit udp host 10.1.1.1 eq 1000 host 10.1.1.2
9500H(config)#interface twentyFiveGigE 1/0/1 <-- Apply ACL to Layer 2 interface
9500H(config-if)#ip access-group TEST in
9500H#show running-config interface twentyFiveGigE 1/0/1
Building configuration...
Current configuration : 63 bytes
!
interface TwentyFiveGigE1/0/1
ip access-group TEST in <-- Display the ACL applied to the interface
end
检索与接口关联的IF_ID。
9500H#show platform software fed active ifm interfaces ethernet
Interface IF_ID State
----------------------------------------------------------------
TwentyFiveGigE1/0/1 0x00000008 READY <-- IF_ID value for Tw1/0/1
验证绑定到IF_ID的类组ID (CG ID)。
9500H#show platform software fed active acl interface 0x8 <-- IF_ID with leading zeros omitted
########################################################
######## ##################
####### Printing Interface Infos #################
######## ##################
########################################################
INTERFACE: TwentyFiveGigE1/0/1 <-- Confirms the interface matches the IF_ID
MAC 0000.0000.0000
########################################################
intfinfo: 0x7f8cfc02de98
Interface handle: 0x7e000028
Interface Type: Port <-- Type: Port indicates Layer 2 interface
if-id: 0x0000000000000008 <-- IF_ID 0x8 is correct
Input IPv4: Policy Handle: 0x5b000093
Policy Name: TEST <-- The named ACL bound to this interface
CG ID: 9 <-- Class Group ID for this entry
CGM Feature: [0] acl <-- Feature is ACL
Bind Order: 0
与CG ID关联的ACL信息。
9500H#show platform software fed active acl info acl-cgid 9 <-- The CG ID associated to the ACL TEST
########################################################
######### ##################
######## Printing CG Entries #################
######### ##################
########################################################
===================================
ACL CG (acl/9): TEST type: IPv4 <-- feature ACL/CG ID 9: ACl name TEST : ACL type IPv4
Total Ref count 1
---------------------------------
1 Interface <-- ACL is applied to one interface
---------------------------------
region reg_id: 10
subregion subr_id: 0
GCE#:1 #flds: 2 l4:N matchall:N deny:N <-- #flds: 2 = two fields in entry | l4:N (no Layer 4 port match)
Result: 0x01010000
ipv4_src: value = 0x0a010101, mask = 0xffffffff <-- src 0x0a010101 hex = 10.1.1.1 | mask 0xffffffff = exact host match
ipv4_dst: value = 0x00000000, mask = 0x00000000 <-- dst & mask = 0x00000000 = match any
GCE#:1 #flds: 4 l4:Y matchall:N deny:N <-- #flds: 4 = four fields in entry | l4:Y (ACE uses UDP port L4 match)
Result: 0x01010000
ipv4_src: value = 0x0a010101, mask = 0xffffffff <-- Exact match (host) 10.1.1.1
ipv4_dst: value = 0x0a010102, mask = 0xffffffff <-- Exact match (host) 10.1.1.2
ip_prot: start = 17, end = 17 <-- protocol 17 is UDP
l4_src: start = 1000, end = 1000 <-- matches eq 1000 (equal UDP port 1000)
有关CG ID以及哪些接口使用CG ID的策略信息。
9500H#show platform software fed active acl policy 9 <-- Use the CG ID value
########################################################
######### ##################
######## Printing Policy Infos #################
######### ##################
########################################################
INTERFACE: TwentyFiveGigE1/0/1 <-- Interface with ACL applied
MAC 0000.0000.0000
########################################################
intfinfo: 0x7f8cfc02de98
Interface handle: 0x7e000028
Interface Type: Port
if-id: 0x0000000000000008 <-- The Interface IF_ID 0x8
------------
Direction: Input <-- ACl is applied in the ingress direction
Protocol Type:IPv4 <-- Type is IPv4
Policy Intface Handle: 0x880000c1
Policy Handle: 0x5b000093
########################################################
######### ##################
######## Policy information #################
######### ##################
########################################################
Policy handle : 0x5b000093
Policy name : TEST <-- ACL Name TEST
ID : 9 <-- CG ID for this ACL entry
Protocol : [3] IPV4
Feature : [1] AAL_FEATURE_PACL <-- ASIC feature is PACL
Number of ACLs : 1
########################################################
## Complete policy ACL information
########################################################
Acl number : 1
=====================================
Acl handle : 0x320000d2
Acl flags : 0x00000001
Number of ACEs : 3 <-- 3 ACEs: two explicit and the implicit deny entry
Ace handle [1] : 0xb700010a
Ace handle [2] : 0x5800010b
Interface(s):
TwentyFiveGigE1/0/1 <-- The interface ACL is applied
########################################################
######### ##################
######## Policy instance information #################
######### ##################
########################################################
Policy intf handle : 0x880000c1
Policy handle : 0x5b000093
ID : 9
Protocol : [3] IPV4
Feature : [1] AAL_FEATURE_PACL
Direction : [1] Ingress
Number of ACLs : 1
Number of VMRs : 3------------
确认PACL工作正常。
注意:输入show ip access-lists privileged EXEC命令时,显示的匹配计数不计入在硬件中受访问控制的数据包。请使用show platform software fed switch
{switch_num|active|standby}acl counters hardware privileged EXEC命令获取交换和路由数据包的一些基本硬件ACL统计信息。
### Ping originated from neighbor device with source 10.1.1.1 ###
C9300#ping 10.1.1.2 source g 1/0/1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.2, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.1 <--- Ping source is permitted and ping is successful
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms <-- 100% ping success
### Ping originated from neighbor device with source 10.1.1.3 ###
C9300#ping 10.1.1.2 source g 1/0/1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.2, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.3 <-- Ping source is denied (implicit) and ping fails
.....
Success rate is 0 percent (0/5) <-- 0% ping success
### Confirm PACL drop ###
9500H#show access-lists TEST
Extended IP access list TEST
10 permit ip host 10.1.1.1 any <-- Counters in this command do not show matches
20 permit udp host 10.1.1.1 eq 1000 host 10.1.1.2
9500H#show platform software fed active acl counters hardware | i PACL Drop
Ingress IPv4 PACL Drop (0x77000005): 11 frames <-- Hardware level command displays drops against PACL
Ingress IPv6 PACL Drop (0x12000012): 0 frames
<...snip...>
场景 2:PACL (MAC ACL)
PACL分配给第2层接口。
- 安全边界:端口或VLAN
- 附件:第2层接口
- 方向:入口或出口(一次一个)
- 支持的ACL类型:MAC ACL和IP ACL(标准或扩展)
使用MAC ACL配置PACL
9500H#show run | sec mac access-list
mac access-list extended MAC-TEST <-- MAC ACL named MAC-TEST
permit host 0001.aaaa.aaaa any <-- permit host MAC to any dest MAC
9500H#show access-lists MAC-TEST
Extended MAC access list MAC-TEST
permit host 0001.aaaa.aaaa any
9500H#show running-config interface twentyFiveGigE 1/0/1
Building configuration...
interface TwentyFiveGigE1/0/1
switchport access vlan 10
switchport mode access
mac access-group MAC-TEST in <-- Applied MACL to layer 2 interface
验证PACL
检索与接口关联的IF_ID。
9500H#show platform software fed active ifm interfaces ethernet
Interface IF_ID State
----------------------------------------------------------------
TwentyFiveGigE1/0/1 0x00000008 READY <-- IF_ID value for Tw1/0/1
验证绑定到IF_ID的类组ID (CG ID)。
9500H#show platform software fed active acl interface 0x8 <-- IF_ID with leading zeros omitted
########################################################
######## ##################
####### Printing Interface Infos #################
######## ##################
########################################################
INTERFACE: TwentyFiveGigE1/0/1 <-- Confirms the interface matches the IF_ID
MAC 0000.0000.0000
########################################################
intfinfo: 0x7f489404e408
Interface handle: 0x7e000028
Interface Type: Port <-- Type: Port indicates Layer 2 interface
if-id: 0x0000000000000008 <-- IF_ID 0x8 is correct
Input MAC: Policy Handle: 0xde000098
Policy Name: MAC-TEST <-- The named ACL bound to this interface
CG ID: 20 <-- Class Group ID for this entry
CGM Feature: [0] acl <-- Feature is ACL
Bind Order: 0
与CG ID关联的ACL信息。
9500H#show platform software fed active acl info acl-cgid 20 <-- The CG ID associated to the ACl MAC-TEST
########################################################
######### ##################
######## Printing CG Entries #################
######### ##################
########################################################
===================================
ACL CG (acl/20): MAC-TEST type: MAC <-- feature ACL/CG ID 20: ACL name MAC-TEST : type MAC ACL
Total Ref count 1
---------------------------------
1 Interface <-- Applied to one interface
---------------------------------
region reg_id: 3
subregion subr_id: 0
GCE#:1 #flds: 2 l4:N matchall:N deny:N
Result: 0x01010000
mac_dest: value = 0x00, mask = 0x00 <-- Mac dest: hex 0x00 mask 0x00 is "any destination
mac_src: value = 0x1aaaaaaaa, mask = 0xffffffffffff
<-- Mac source: 0x1aaaaaaaa | hex with leading zeros omitted (0001.aaaa.aaaa) & mask 0xffffffffffff is host exact match
有关CG ID以及哪些接口使用CG ID的策略信息。
9500H#show platform software fed active acl policy 20 <-- Use the CG ID value
########################################################
######### ##################
######## Printing Policy Infos #################
######### ##################
########################################################
INTERFACE: TwentyFiveGigE1/0/1 <-- Interface with ACL applied
MAC 0000.0000.0000
########################################################
intfinfo: 0x7f8cfc02de98
Interface handle: 0x7e000028
Interface Type: Port
if-id: 0x0000000000000008 <-- The Interface IF_ID 0x8
------------
Direction: Input <-- ACl is applied in the ingress direction
Protocol Type:MAC <-- Type is MAC
Policy Intface Handle: 0x30000c6
Policy Handle: 0xde000098
########################################################
######### ##################
######## Policy information #################
######### ##################
########################################################
Policy handle : 0xde000098
Policy name : MAC-TEST <-- ACL name is MAC-TEST
ID : 20 <-- CG ID for this ACL entry
Protocol : [1] MAC
Feature : [1] AAL_FEATURE_PACL <-- ASIC Feature is PACL
Number of ACLs : 1
########################################################
## Complete policy ACL information
########################################################
Acl number : 1
=====================================
Acl handle : 0xd60000dc
Acl flags : 0x00000001
Number of ACEs : 2 <-- 2 ACEs: one permit, and one implicit deny
Ace handle [1] : 0x38000120
Ace handle [2] : 0x31000121
Interface(s):
TwentyFiveGigE1/0/1 <-- Interface the ACL is applied
########################################################
######### ##################
######## Policy instance information #################
######### ##################
########################################################
Policy intf handle : 0x030000c6
Policy handle : 0xde000098
ID : 20
Protocol : [1] MAC
Feature : [1] AAL_FEATURE_PACL
Direction : [1] Ingress
Number of ACLs : 1
Number of VMRs : 3------------
确认PACL工作正常:
- MACL仅允许源地址0001.aaaa.aaaa。
- 由于这是MAC ACL,因此会丢弃非IP ARP数据包,从而导致ping失败。
### Ping originated from neighbor device with Source MAC 0000.0000.0002 ###
C9300#ping 10.1.1.2 source vlan 10
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.2, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.1
.....
Success rate is 0 percent (0/5)
C9300#show ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.1.1.2 0 Incomplete ARPA <-- ARP is unable to complete on Source device
### Monitor capture configured on Tw 1/0/1 ingress ###
9500H#monitor capture 1 interface TwentyFiveGigE 1/0/1 in match any
9500H#show monitor cap
Status Information for Capture 1
Target Type:
Interface: TwentyFiveGigE1/0/1, Direction: IN
9500H#sh monitor capture 1 buffer brief | inc ARP
5 4.767385 00:00:00:00:00:02 b^F^R ff:ff:ff:ff:ff:ff ARP 60 Who has 10.1.1.2? Tell 10.1.1.1
8 8.767085 00:00:00:00:00:02 b^F^R ff:ff:ff:ff:ff:ff ARP 60 Who has 10.1.1.2? Tell 10.1.1.1
11 10.767452 00:00:00:00:00:02 b^F^R ff:ff:ff:ff:ff:ff ARP 60 Who has 10.1.1.2? Tell 10.1.1.1
13 12.768125 00:00:00:00:00:02 b^F^R ff:ff:ff:ff:ff:ff ARP 60 Who has 10.1.1.2? Tell 10.1.1.1
<-- 9300 (10.1.1.1) sends ARP request, but since there is no reply 4 more ARP requests are sent
9500H#show platform software fed active acl counters hardware | inc MAC PACL Drop
Ingress MAC PACL Drop (0x73000021): 937 frames <-- Confirmed that ARP requests are dropped from Ingress MAC filter
Egress MAC PACL Drop (0x0200004c): 0 frames
<...snip...>
场景 3:RACL
RACL分配给第3层接口,例如SVI或路由接口。
- 安全边界:不同的子网
- 附件:第3层接口
- 方向:入口或出口
- 支持的ACL类型:IP ACL(标准或扩展)
配置RACL
9500H(config)#ip access-list extended TEST <-- Create a named extended ACL
9500H(config-ext-nacl)#permit ip host 10.1.1.1 any
9500H(config-ext-nacl)#permit udp host 10.1.1.1 eq 1000 host 10.1.1.2
9500H#show access-lists TEST <-- Display the ACL configured
Extended IP access list TEST
10 permit ip host 10.1.1.1 any
20 permit udp host 10.1.1.1 eq 1000 host 10.1.1.2
9500H(config)#interface Vlan 10 <-- Apply ACL to Layer 3 SVI interface
9500H(config-if)#ip access-group TEST in
9500H#show running-config interface Vlan 10
Building configuration...
Current configuration : 84 bytes
!
interface Vlan10
ip access-group TEST in <-- Display the ACL applied to the interface
end
验证RACL
检索与接口关联的IF_ID。
9500H#show platform software fed active ifm mappings l3if-le <-- Retrieve the IF_ID for a Layer 3 SVI type port
Mappings Table
L3IF_LE Interface IF_ID Type
----------------------------------------------------------------------------------------------------
0x00007f8d04983958 Vlan10 0x00000026 SVI_L3_LE <-- IF_ID value for SVI 10
验证绑定到IF_ID的类组ID (CG ID)。
9500H#show platform software fed active acl interface 0x26 <-- IF_ID for SVI Vlan 10 with leading zeros omitted
########################################################
######## ##################
####### Printing Interface Infos #################
######## ##################
########################################################
INTERFACE: Vlan10 <-- Confirms the interface matches the IF_ID
MAC 0000.0000.0000
########################################################
intfinfo: 0x7f8cfc02de98
Interface handle: 0x6e000047
Interface Type: L3 <-- Type: L3 indicates Layer 3 type interface
if-id: 0x0000000000000026 <-- IF_ID 0x26 is correct
Input IPv4: Policy Handle: 0x2e000095
Policy Name: TEST <-- The named ACL bound to this interface
CG ID: 9 <-- Class Group ID for this entry
CGM Feature: [0] acl <-- Feature is ACL
Bind Order: 0
与CG ID关联的ACL信息。
9500H#show platform software fed active acl info acl-cgid 9 <-- The CG ID associated to the ACL TEST
########################################################
######### ##################
######## Printing CG Entries #################
######### ##################
########################################################
===================================
ACL CG (acl/9): TEST type: IPv4 <-- feature ACL/CG ID 9: ACl name TEST : ACl type IPv4
Total Ref count 2
---------------------------------
2 Interface <-- Interface count is 2. Applied to SVI 10 and as PACL to Tw1/0/1
---------------------------------
region reg_id: 10
subregion subr_id: 0
GCE#:1 #flds: 2 l4:N matchall:N deny:N <-- #flds: 2 = two fields in entry | l4:N (no Layer 4 port match)
Result: 0x01010000
ipv4_src: value = 0x0a010101, mask = 0xffffffff <-- src 0x0a010101 hex = 10.1.1.1 | mask 0xffffffff = exact host match
ipv4_dst: value = 0x00000000, mask = 0x00000000 <-- dst & mask = 0x00000000 = match any
GCE#:1 #flds: 4 l4:Y matchall:N deny:N <-- #flds: 4 = four fields in entry | l4:Y (ACE uses UDP port L4 match)
Result: 0x01010000
ipv4_src: value = 0x0a010101, mask = 0xffffffff <-- Exact match (host) 10.1.1.1
ipv4_dst: value = 0x0a010102, mask = 0xffffffff <-- Exact match (host) 10.1.1.2
ip_prot: start = 17, end = 17 <-- protocol 17 is UDP
l4_src: start = 1000, end = 1000 <-- matches eq 1000 (equal UDP port 1000)
有关CG ID以及哪些接口使用CG ID的策略信息。
9500H#show platform software fed active acl policy 9 <-- Use the CG ID Value
########################################################
######### ##################
######## Printing Policy Infos #################
######### ##################
########################################################
INTERFACE: Vlan10 <-- Interface with ACL applied
MAC 0000.0000.0000
########################################################
intfinfo: 0x7f8cfc02de98
Interface handle: 0x6e000047
Interface Type: L3
if-id: 0x0000000000000026 <-- Interface IF_ID 0x26
------------
Direction: Input <-- ACL applied in the ingress direction
Protocol Type:IPv4 <-- Type is IPv4
Policy Intface Handle: 0x1c0000c2
Policy Handle: 0x2e000095
########################################################
######### ##################
######## Policy information #################
######### ##################
########################################################
Policy handle : 0x2e000095
Policy name : TEST <-- ACL name TEST
ID : 9 <-- CG ID for this ACL entry
Protocol : [3] IPV4
Feature : [27] AAL_FEATURE_RACL <-- ASIC feature is RACL
Number of ACLs : 1
########################################################
## Complete policy ACL information
########################################################
Acl number : 1
=====================================
Acl handle : 0x7c0000d4
Acl flags : 0x00000001
Number of ACEs : 5 <-- 5 Aces: 2 explicit, 1 implicit deny, 2 ??? CHECK this
Ace handle [1] : 0x0600010f
Ace handle [2] : 0x8e000110
Ace handle [3] : 0x3b000111
Ace handle [4] : 0xeb000112
Ace handle [5] : 0x79000113
Interface(s):
Vlan10 <-- The interface the ACL is applied
########################################################
######### ##################
######## Policy instance information #################
######### ##################
########################################################
Policy intf handle : 0x1c0000c2
Policy handle : 0x2e000095
ID : 9
Protocol : [3] IPV4
Feature : [27] AAL_FEATURE_RACL
Direction : [1] Ingress
Number of ACLs : 1
Number of VMRs : 4------------
确认RACL工作正常。
注意:输入
show ip access-lists privileged EXEC命令时,显示的匹配计数不计入在硬件中受访问控制的数据包。使用show platform software fed switch
{switch_num|active|standby}acl countershardwareprivileged EXEC命令可获取交换和路由数据包的一些基本硬件ACL统计信息。
### Ping originated from neighbor device with source 10.1.1.1 ###
C9300#ping 10.1.1.2 source g 1/0/1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.2, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.1 <--- Ping source is permitted and ping is successful
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms <-- 100% ping success
### Ping originated from neighbor device with source 10.1.1.3 ###
C9300#ping 10.1.1.2 source g 1/0/1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.2, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.3 <-- Ping source is denied (implicit) and ping fails
.....
Success rate is 0 percent (0/5) <-- 0% ping success
### Confirm RACL drop ###
9500H#show access-lists TEST
Extended IP access list TEST
10 permit ip host 10.1.1.1 any <-- Counters in this command do not show matches
20 permit udp host 10.1.1.1 eq 1000 host 10.1.1.2
9500H#show platform software fed active acl counters hardware | i RACL Drop
Ingress IPv4 RACL Drop (0xed000007): 100 frames <-- Hardware level command displays drops against RACL
<...snip...>
场景 4.VACL
VACL分配给第2层VLAN。
- 安全边界:在VLAN内或跨VLAN
- 附件:VLAN/VLAN映射
- 方向:入口和出口
- 支持的ACL类型:MAC ACL和IP ACL(标准或扩展)
配置VACL
ip access-list extended TEST
10 permit ip host 10.1.1.1 any
20 permit ip any host 10.1.1.1
ip access-list extended ELSE
10 permit ip any any
vlan access-map VACL 10
match ip address TEST
action forward
vlan access-map VACL 20
match ip address ELSE
action drop
vlan filter VACL vlan-list 10
9500H#sh vlan access-map VACL
Vlan access-map "VACL" 10
Match clauses:
ip address: TEST
Action:
forward
Vlan access-map "VACL" 20
Match clauses:
ip address: ELSE
Action:
drop
9500H#sh vlan filter access-map VACL
VLAN Map VACL is filtering VLANs:
10
检验VACL
检索与接口关联的IF_ID。
9500H#show platform software fed active ifm interfaces vlan
Interface IF_ID State
----------------------------------------------------------------------
Vlan10 0x00420010 READY
验证绑定到IF_ID的类组ID (CG ID)。
9500H#show platform software fed active acl interface 0x420010 <-- IF_ID for the Vlan
########################################################
######## ##################
####### Printing Interface Infos #################
######## ##################
########################################################
INTERFACE: Vlan10 <-- Can be L2 only, with no vlan interface
MAC 0000.0000.0000
########################################################
intfinfo: 0x7fc8cc7c7f48
Interface handle: 0xf1000024
Interface Type: Vlan
if-id: 0x0000000000420010
Input IPv4: Policy Handle: 0xd10000a3 <-- VACL has both Ingress and Egress actions
Policy Name: VACL <-- Name of the VACL used
CG ID: 530 <-- Class Group ID for entry
CGM Feature: [35] acl-grp <-- Feature is ACL group, versus ACl
Bind Order: 0
Output IPv4: Policy Handle: 0xc80000a4 <-- VACL has both Ingress and Egress actions
Policy Name: VACL
CG ID: 530
CGM Feature: [35] acl-grp
Bind Order: 0
与CG组ID关联的ACL信息。
同一个命名VACL策略中使用两个ACL,这些ACL分组到此acl组中
9500H#show platform software fed active acl info acl-grp-cgid 530 <-- use the group-id command versus gc ID
########################################################
######### ##################
######## Printing CG Entries #################
######### ##################
########################################################
===================================
ACL CG (acl-grp/530): VACL type: IPv4 <-- feature acl/group ID 530: name VACL : type IPv4
Total Ref count 2
---------------------------------
2 VACL <-- Ingress and egress ACL direction on a VACl
---------------------------------
region reg_id: 12
subregion subr_id: 0
GCE#:10 #flds: 2 l4:N matchall:N deny:N
Result: 0x06000000
ipv4_src: value = 0x0a010101, mask = 0xffffffff <-- permit from host 10.1.1.1 (see PACL example for hex conversion)
ipv4_dst: value = 0x00000000, mask = 0x00000000 <-- to any other host
GCE#:20 #flds: 2 l4:N matchall:N deny:N
Result: 0x06000000
ipv4_src: value = 0x00000000, mask = 0x00000000 <-- permit from any host
ipv4_dst: value = 0x0a010101, mask = 0xffffffff <-- to host 10.1.1.1
GCE#:10 #flds: 2 l4:N matchall:N deny:N
Result: 0x05000000
ipv4_src: value = 0x00000000, mask = 0x00000000 <-- This is the ACL named 'ELSE' which is permit any any
ipv4_dst: value = 0x00000000, mask = 0x00000000 <-- with VACL, the logic used was "permit to match" action "drop"
有关CG ID以及哪些接口使用CG ID的策略信息。
9500H#show platform software fed active acl policy 530 <-- use the acl-grp ID
########################################################
######### ##################
######## Printing Policy Infos #################
######### ##################
########################################################
INTERFACE: Vlan10
MAC 0000.0000.0000
########################################################
intfinfo: 0x7fa15802a5d8
Interface handle: 0xf1000024
Interface Type: Vlan <-- Interface type is the Vlan, not a specific interface
if-id: 0x0000000000420010 <-- the Vlan IF_ID matches Vlan 10
------------
Direction: Input <-- VACL in the input direction
Protocol Type:IPv4
Policy Intface Handle: 0x44000001
Policy Handle: 0x29000090
########################################################
######### ##################
######## Policy information #################
######### ##################
########################################################
Policy handle : 0x29000090
Policy name : VACL <-- the VACL policy is named 'VACL'
ID : 530
Protocol : [3] IPV4
Feature : [23] AAL_FEATURE_VACL <-- ASIC feature is VACL
Number of ACLs : 2 <-- 2 ACL used in the VACL: "TEST & ELSE"
########################################################
## Complete policy ACL information
########################################################
Acl number : 1
=====================================
Acl handle : 0xa6000090
Acl flags : 0x00000001
Number of ACEs : 4
Ace handle [1] : 0x87000107
Ace handle [2] : 0x30000108
Ace handle [3] : 0x73000109
Ace handle [4] : 0xb700010a
Acl number : 2
=====================================
Acl handle : 0x0f000091
Acl flags : 0x00000001
Number of ACEs : 1
Ace handle [1] : 0x5800010b
Interface(s):
Vlan10
########################################################
######### ##################
######## Policy instance information #################
######### ##################
########################################################
Policy intf handle : 0x44000001
Policy handle : 0x29000090
ID : 530 <-- 530 is the acl group ID
Protocol : [3] IPV4
Feature : [23] AAL_FEATURE_VACL
Direction : [1] Ingress <-- Ingress VACL direction
Number of ACLs : 2
Number of VMRs : 4------------
Direction: Output
Protocol Type:IPv4
Policy Intface Handle: 0xac000002
Policy Handle: 0x31000091
########################################################
######### ##################
######## Policy information #################
######### ##################
########################################################
Policy handle : 0x31000091
Policy name : VACL
ID : 530
Protocol : [3] IPV4
Feature : [23] AAL_FEATURE_VACL
Number of ACLs : 2
########################################################
## Complete policy ACL information
########################################################
Acl number : 1
=====================================
Acl handle : 0xe0000092
Acl flags : 0x00000001
Number of ACEs : 4
Ace handle [1] : 0xf500010c
Ace handle [2] : 0xd800010d
Ace handle [3] : 0x4c00010e
Ace handle [4] : 0x0600010f
Acl number : 2
=====================================
Acl handle : 0x14000093
Acl flags : 0x00000001
Number of ACEs : 1
Ace handle [1] : 0x8e000110
Interface(s):
Vlan10
########################################################
######### ##################
######## Policy instance information #################
######### ##################
########################################################
Policy intf handle : 0xac000002
Policy handle : 0x31000091
ID : 530 <-- 530 is the acl group ID
Protocol : [3] IPV4
Feature : [23] AAL_FEATURE_VACL
Direction : [2] Egress <-- Egress VACL direction
Number of ACLs : 2
Number of VMRs : 4------------
确认VACL工作正常。
- 故障排除与PACL和RACl部分相同。有关ping测试的详细信息,请参阅以下部分。
- 从10.1.1.3到10.1.1.2的ping被应用的ACL策略拒绝。
- 检查平台丢弃命令。
9500H#show platform software fed active acl counters hardware | inc VACL Drop
Ingress IPv4 VACL Drop (0x23000006): 1011 frames <-- Hardware level command displays drops against VACL
<...snip...>
方案 5.组/客户端ACL (DACL)
组/客户端ACL根据用户组或客户端的身份动态应用到这些用户。这些有时也称为DACL。
- 安全边界:客户端(客户端接口级别)
- 附件:每个客户端接口
- 方向:仅入口
- 支持的ACL类型:MAC ACL和IP ACL(标准或扩展)
配置GACL
Cat9400#show run interface gigabitEthernet 2/0/1
Building configuration...
Current configuration : 419 bytes
!
interface GigabitEthernet2/0/1
switchport access vlan 10
switchport mode access
switchport voice vlan 5
ip access-group ACL-ALLOW in <-- This is the pre-authenticated ACL (deny ip any any). Validation is done for the post-auth ACL
authentication periodic
authentication timer reauthenticate server
access-session control-direction in
access-session port-control auto
no snmp trap link-status
mab
dot1x pae authenticator
spanning-tree portfast
service-policy type control subscriber ISE_Gi2/0/1
end
Cat9400#show access-session interface gigabitEthernet 2/0/1 details
Interface: GigabitEthernet2/0/1
IIF-ID: 0x1765EB2C <-- The IF_ID used in this example is dynamic
MAC Address: 000a.aaaa.aaaa <-- The client MAC
IPv6 Address: Unknown
IPv4 Address: 10.10.10.10
User-Name: 00-0A-AA-AA-AA-AA
Status: Authorized <-- Authorized client
Domain: VOICE
Oper host mode: multi-auth
Oper control dir: in
Session timeout: 300s (server), Remaining: 182s
Timeout action: Reauthenticate
Common Session ID: 27B17A0A000003F499620261
Acct Session ID: 0x000003e7
Handle: 0x590003ea
Current Policy: ISE_Gi2/0/1
Server Policies:
ACS ACL: xACSACLx-IP-MAB-FULL-ACCESS-59fb6e5e <-- The ACL pushed from ISE server
Method status list:
Method State
dot1x Stopped
mab Authc Success <-- Authenticated via MAB (Mac authentication bypass)
Cat9400#show ip access-lists xACSACLx-IP-MAB-FULL-ACCESS-59fb6e5e
Extended IP access list xACSACLx-IP-MAB-FULL-ACCESS-GOOD-59fb6e5e
1 permit ip any any <-- ISE pushed a permit ip any any
检验GACL
绑定到iif-id的组CG ID。
Cat9400#show platform software fed active acl interface 0x1765EB2C <-- The IF_ID from the access-session output
########################################################
######## ##################
####### Printing Interface Infos #################
######## ##################
########################################################
INTERFACE: Client MAC 000a.aaaa.aaaa <-- Client MAC matches the access-session output
MAC 000a.aaaa.aaaa
########################################################
intfinfo: 0x7f104820cae8
Interface handle: 0x5a000110
Interface Type: Group <-- This is a group identity type policy
IIF ID: 0x1765eb2c
Input IPv4: Policy Handle: 0x9d00011e
Policy Name: ACL-ALLOW:xACSACLx-IP-MAB-FULL-ACCESS-59fb6e5e: <-- DACL name matches
CG ID: 127760 <-- The ACL group ID
CGM Feature: [35] acl-grp
Bind Order: 0
与组GC ID关联的ACL信息。
Cat9400#show platform software fed active acl info acl-grp-cgid 127760 <-- the CG ID for this DACL
########################################################
######### ##################
######## Printing CG Entries #################
######### ##################
########################################################
===================================
ACL CG (acl-grp/127760): ACL-ALLOW:xACSACLx-IP-MAB-FULL-ACCESS-59fb6e5e: type: IPv4 <-- Group ID & ACL name are correct
Total Ref count 1
---------------------------------
1 CGACL <-- 1 GACL (group ACL) is applied
---------------------------------
region reg_id: 1
subregion subr_id: 0
GCE#:1 #flds: 2 l4:N matchall:N deny:N
Result: 0x04000000
ipv4_src: value = 0x00000000, mask = 0x00000000 <-- Permits IP any any as seen in software
ipv4_dst: value = 0x00000000, mask = 0x00000000
GCE#:10 #flds: 2 l4:N matchall:N deny:N
Result: 0x04000000
ipv4_src: value = 0x00000000, mask = 0x00000000
ipv4_dst: value = 0x00000000, mask = 0x00000000
方案 6.ACL 记录
设备软件可以提供有关标准IP访问列表允许或拒绝的数据包的系统日志消息。任何与ACL匹配的数据包都会导致有关数据包的信息日志消息发送到控制台。记录到控制台的消息级别由控制Syslog消息的logging 控制台命令控制。
-
与单播反向路径转发(uRPF)一起使用的ACL不支持ACL日志消息。仅支持RACL。
-
从设备控制平面生成的数据包不支持出口方向的ACL日志。
- 路由在硬件中完成并在软件中记录,因此,如果大量数据包与包含logkeyword的permit或deny ACE匹配,则软件无法与硬件处理速率匹配,且无法记录所有数据包。
- 触发ACL的第一个数据包会立即生成日志消息,后续数据包会在出现或记录之前以5分钟为间隔收集。日志消息包括访问列表编号、数据包是被允许还是被拒绝、数据包的源IP地址以及在前5分钟间隔内允许或拒绝的来自该源的数据包的数量。
- 有关ACL日志行为和限制的完整详细信息,请参阅“相关信息”部分所述的相应安全配置指南Cisco IOS XE。
日志示例PACL:
此示例显示一个否定大小写,其中ACL type和log关键字不能协同工作。
9500H#show access-lists TEST
Extended IP access list TEST
10 permit ip host 10.1.1.1 any log <-- Log keyword applied to ACE entry
20 deny ip host 10.1.1.3 any log
9500H(config)#interface twentyFiveGigE 1/0/1
9500H(config-if)#ip access-group TEST in <-- apply logged ACL
Switch Port ACLs are not supported for LOG! <-- message indicates this is an unsupported combination
日志示例RACL (Deny):
9500H#show access-lists TEST
Extended IP access list TEST
10 permit ip host 10.1.1.1 any log <-- Log keyword applied to ACE entry
20 deny ip host 10.1.1.3 any log
9500H(config)#interface vlan 10
9500H(config-if)#ip access-group TEST in <-- ACL applied to SVI
### Orginate ICMP from 10.1.1.3 to 10.1.1.2 (denied by ACE) ###
C9300#ping 10.1.1.2 source vlan 10 repeat 110
Type escape sequence to abort.
Sending 10, 100-byte ICMP Echos to 10.1.1.2, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.3
..........
Success rate is 0 percent (0/110)
9500H#show access-list TEST
Extended IP access list TEST
10 permit ip host 10.1.1.1 any log
20 deny ip host 10.1.1.3 any log (110 matches) <-- Matches increment in show access-list command
9500H#show platform software fed active acl counters hardware | inc RACL
Ingress IPv4 RACL Drop (0xed000007): 0 frames
Ingress IPv4 RACL Drop and Log (0x93000009): 110 frames <-- Aggregate command shows hits on the RACL Drop and Log
%SEC-6-IPACCESSLOGDP: list TEST denied icmp 10.1.1.3 -> 10.1.1.2 (8/0), 10 packets <-- Syslog message is produced
日志示例RACL (Permit):
当log语句用于permit语句时,软件计数器的命中数显示发送的数据包数的两倍。
C9300#ping 10.1.1.2 source vlan 10 repeat 5 <-- 5 ICMP Requests are sent
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.2, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
9500H#show access-lists TEST
Extended IP access list TEST
10 permit ip host 10.1.1.1 any log (10 matches) <-- Hit counter shows 10
20 deny ip host 10.1.1.3 any log (115 matches)
故障排除
ACL统计信息
排除ACL故障时,必须了解设备如何以及在何处测量ACL统计信息。
- ACL统计信息在汇聚级别收集,而不是按ACE级别收集。
- 硬件不能允许每个ACE或每个ACL统计信息。
- 系统会收集拒绝、日志和CPU转发数据包等统计信息。
- MAC、IPv4和IPv6数据包的统计数据分别收集。
show platform software fed switch active acl counters hardware 可用于显示聚合统计信息。
清除ACL统计信息
在对ACL问题进行故障排除时,清除各种ACL计数器以获得新的基线计数会很有帮助。
- 这些命令允许您清除软件和硬件ACL计数器统计信息。
- 当您排除ACL匹配/命中事件故障时,建议清除相关ACL以找到最新或相关的基线匹配。
clear platform software fed active acl counters hardware (clears the hardware matched counters)
clear ip access-list counters <acl_name> (clears the software matched counters - IPv4)
clear ipv6 access-list counters <acl_name> (clears the software matched counters - IPv6)
当ACL TCAM用完时会发生什么情况?
- ACL始终应用于硬件TCAM。如果之前配置的ACL已使用TCAM,则新的ACL将无法获得编程所需的ACL资源。
-
如果在TCAM用完后添加ACL,则会丢弃它所连接的接口的所有数据包。
- 在软件中保留ACL的操作称为卸载。
- 当资源可用时,交换机会自动尝试将ACL编程到硬件中。如果成功,ACL会被推送到硬件,数据包开始转发。
- 将软件保留的ACL编程到TCAM中的操作称为重新加载。
-
可以相互独立地卸载/重新加载PACL、VACL、RACL和GACL。
ACL TCAM耗尽
- 应用新增ACL的接口开始丢弃数据包,直到硬件资源可用。
- GACL客户端被置于UnAuth状态。
VCU耗尽
- 一旦超过L4OP限制或超过VCU,软件将执行ACL扩展并创建新的ACE条目,以便在不使用VCU的情况下执行等效操作。
- 一旦发生这种情况,TCAM可能会从这些添加的条目中耗尽。
ACL系统日志错误
如果特定安全ACL资源耗尽,系统生成系统日志消息(接口、VLAN、标签等,值可能不同)。
ACL日志消息
定义
恢复操作
%ACL_ERRMSG-4-UNLOADED:馈送交换机1:接口<interface>上的输入<ACL>不在硬件中编程,并且流量被丢弃。
ACL已卸载(保留在软件中)
研究TCAM规模。如果不局限于扩展,请重新设计ACL。
%ACL_ERRMSG-6-REMOVED: 1馈送:已为标签<label>asic<number>删除接口<interface>上输入<ACL>的卸载配置。
卸载的ACL配置会从接口上删除
ACL已删除,无需执行任何操作
%ACL_ERRMSG-6-RELOADED: 1馈送:接口<interface>上的输入<ACL>现已加载到asic<number>上标签<label>的硬件中。
ACL现在已安装在硬件中
ACL的问题现已通过硬件解决,无需采取任何操作
%ACL_ERRMSG-3-ERROR:已输入1个:未按绑定顺序<number>对<interface>应用输入<ACL> IP ACL <NAME>配置。
其他类型的ACL错误(例如dot1x ACL安装故障)
确认是否支持ACL配置,以及TCAM是否超出规模
%ACL_ERRMSG-6-GACL_INFO:交换机1的R0/0:馈送:GACL不支持日志记录。
GACL配置了日志选项
GACL不支持日志。从GACL中删除日志语句。
%ACL_ERRMSG-6-PACL_INFO:交换机1 R0/0:馈送:PACL不支持日志记录。
PACL配置了日志选项
PACL不支持日志。从PACL中删除日志语句。
%ACL_ERRMSG-3-ERROR:交换机1 R0/0:已馈送:输入IPv4组ACL隐式拒绝:<名称>:配置未应用于客户端MAC 0000.0000.0000。
(dot1x) ACL无法应用到目标端口
确认是否支持ACL配置,以及TCAM是否超出规模
资源不足情形和恢复操作
场景 1.ACL绑定
恢复操作
- 创建ACL并将其应用于接口或VLAN。
- 由于“资源不足”情况(例如TCAM耗尽),绑定失败。
- ACL中没有ACE可以编程到TCAM中。ACL保持在UNLOADED状态。
- 在UNLOADED状态下,所有流量(包括控制数据包)都会在接口上丢弃,直到问题得到解决。
重新设计ACL以降低TCAM的利用率。
场景 2:ACL编辑
恢复操作
- 创建一个ACL并应用到接口,而且将更多ACE条目添加到此ACL并应用到接口。
- 如果TCAM没有资源,则编辑操作失败。
- ACL中没有ACE可以编程到TCAM中。ACL保持在UNLOADED状态。
- 在UNLOADED状态下,所有流量(包括控制数据包)都会在接口上丢弃,直到问题得到解决。
- 现有ACL条目在UNLOADED状态下也会失败,直到解决此问题。
重新设计ACL以降低TCAM的利用率。
场景 3:ACL重新绑定
恢复操作
- ACL重新绑定是将ACL附加到接口,然后将另一个ACL附加到同一接口而不分离第一个ACL的操作。
- 成功创建并附加了第一个ACL。
- 创建名称不同、协议(IPv4/IPv6)相同的较大ACL并将其连接到同一接口。
- 设备成功分离第一个ACL并尝试将新的ACL附加到此接口。
- 如果TCAM没有资源,重新绑定操作将失败。
- ACL中没有ACE可以编程到TCAM中。ACL保持未加载状态。
- 在UNLOADED状态下,所有流量(包括控制数据包)都会在接口上丢弃,直到问题得到解决。
重新设计ACL以降低TCAM的利用率。
场景 4.绑定空(Null) ACL
恢复操作
- 创建没有ACE条目的ACL并将其连接到接口。
- 系统使用permit 'any ACE'在内部创建此ACL,并将其连接到硬件中的接口(在此状态下允许所有流量)。
- 然后将ACE条目添加到具有相同名称或编号的ACL中。系统会在添加每个ACE时对TCAM进行编程。
- 如果在添加ACE条目时TCAM耗尽资源,则ACL将变为UNLOADED状态。
- 在UNLOADED状态下,所有流量(包括控制数据包)都会在接口上丢弃,直到问题得到解决。
- 现有ACL条目在UNLOADED状态下也会失败,直到解决此问题。
重新设计ACL以降低TCAM的利用率。
检验ACL规模
本部分包含用于确定ACL规模和TCAM利用率的命令。
FMAN访问列表摘要:
确定已配置的ACL和每个ACL的ACE总数。
9500H#show platform software access-list f0 summary
Access-list Index Num Ref Num ACEs
--------------------------------------------------------------------------
TEST 1 1 2 <-- ACL TEST contains 2 ACE entries
ELSE 2 1 1
DENY 3 0 1
ACL用法:
9500H#show platform software fed active acl usage
########################################################
######## ##################
####### Printing Usage Infos #################
######## ##################
########################################################
##### ACE Software VMR max:196608 used:283 <-- Value/Mask/Result entry usage
########################################################
==================================================================================================
Feature Type ACL Type Dir Name Entries Used
VACL IPV4 Ingress VACL 4
<-- Type of ACL Feature, type of ACL, Direction ACL applied, name of ACL, and number of TCAM entries consumed
==================================================================================================
Feature Type ACL Type Dir Name Entries Used
RACL IPV4 Ingress TEST 5
TCAM使用情况(17.x):
TCAM usage命令在16.x和17.x系列之间具有显著差异。
9500H#show platform hardware fed active fwd-asic resource tcam utilization
Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable
CAM Utilization for ASIC [0]
Table Subtype Dir Max Used %Used V4 V6 MPLS Other
------------------------------------------------------------------------------------------------------
Security ACL Ipv4 TCAM I 7168 16 0.22% 16 0 0 0
Security ACL Non Ipv4 TCAM I 5120 76 1.48% 0 36 0 40
Security ACL Ipv4 TCAM O 7168 18 0.25% 18 0 0 0
Security ACL Non Ipv4 TCAM O 8192 27 0.33% 0 22 0 5
<...snip...>
<-- Percentage used and other counters about ACL consumption
<-- Dir = ACL direction (Input/Output ACl)
TCAM使用情况(16.x):
TCAM usage命令在16.x和17.x系列之间具有显著差异。
C9300#show platform hardware fed switch active fwd-asic resource tcam utilization
CAM Utilization for ASIC [0]
Table Max Values Used Values
--------------------------------------------------------------------------------
Security Access Control Entries 5120 126 <-- Total used of the Maximum
<...snip...>
自定义SDM模板(TCAM重新分配)
使用Cisco IOS XE Bengaluru 17.4.1,您可以使用sdm prefer custom acl命令为ACL功能配置自定义SDM模板。
有关如何配置和验证此功能的详细信息,请参阅系统管理配置指南,Cisco IOS XE Bengaluru 17.4.x(Catalyst 9500交换机)。
本部分介绍了一些基本配置和验证。
检验当前的SDM模板:
9500H#show sdm prefer
Showing SDM Template Info
This is the Core template. <-- Core SDM template in use
Security Ingress IPv4 Access Control Entries*: 7168 (current) - 7168 (proposed) <-- IPv4 ACL maximum TCAM available
Security Ingress Non-IPv4 Access Control Entries*: 5120 (current) - 5120 (proposed)
Security Egress IPv4 Access Control Entries*: 7168 (current) - 7168 (proposed)
Security Egress Non-IPv4 Access Control Entries*: 8192 (current) - 8192 (proposed)
<...snip...>
9500H#show sdm prefer custom user-input
Custom Template Feature Values are not modified <-- No customization to SDM
修改当前SDM模板:
- 9500H(config)#sdm prefer custom acl
9500H(config-sdm-acl)#acl-ingress 26 priority 1 <—应用新的26K值。(配置指南中讨论的优先级)
9500H(config-sdm-acl)#acl-egress 20 priority 2
9500H(config-sdm-acl)#exit
show sdm prefer custom 使用,以便查看建议的值和sdm prefer custom commit,从而通过此CLI应用“查看更改”。
- 检验对SDM配置文件的更改。
- 9500H#show sdm prefer custom
显示SDM模板信息:
这是自定义模板及其详细信息。
入口安全访问控制条目*: 12288 (当前) - 26624 (建议) <—当前和建议的使用(建议26K)
出口安全访问控制条目*:15360(当前) - 20480(建议)
9500H#show sdm prefer custom user-input
ACL功能用户输入
用户输入值
==========================
功能名称优先级比例
--------------------------------------------------------------------------
入口安全访问控制条目: 1 26*1024 <—由用户输入修改为26 x 1024 (26K)
出口安全访问控制条目:2 20*1024 <—由用户输入修改为20 x 1024 (20K)
- 将更改应用于SDM配置文件。
- 9500H(config)#sdm prefer custom commit
对正在运行的SDM首选项所做的更改将会存储,并在下次重新加载时生效。 <—重新加载后,ACL TCAM将分配给自定义值。
进一步阅读:
ACL处理顺序:
ACL的处理顺序是从源到目的地。
在堆栈中编程的ACL:
-
非基于端口的ACL(例如VACL、RACL)应用于任何交换机上的流量,并在堆栈中的所有交换机上编程。
-
基于端口的ACL仅应用于端口上的流量,并且仅在拥有接口的交换机上编程。
-
ACL由主用交换机编程,随后应用于成员交换机。
- 相同的规则适用于其他冗余选项,例如ISSU/SVL。
ACL扩展:
- 当设备耗尽L4OP、标签或VCU时,会发生ACL扩展。为了完成相同的逻辑并快速耗尽TCAM,设备必须创建多个等效ACE。
- ### L4OP是大规模的,此ACL创建为##
9500H(config)#ip access-list extended TEST
9500H(config-ext-nacl)#permit tcp 10.0.0.0 0.255.255.255 any gt 150 <—匹配端口151和更高版本
###必须将此扩展为不使用L4OP ###的多个ACE
9500H(config-ext-nacl)#permit tcp 10.0.0.0 0.255.255.255 any eq 151
9500H(config-ext-nacl)#permit tcp 10.0.0.0 0.255.255.255 any eq 152
9500H(config-ext-nacl)#permit tcp 10.0.0.0 0.255.255.255 any eq 153
9500H(config-ext-nacl)#permit tcp 10.0.0.0 0.255.255.255 any eq 154
...等等....
TCAM消费和标签共享:
-
每个ACL策略都由一个标签在内部引用。
-
将ACL策略(安全ACL,如GACL、PACL、VACL、RACL)应用于多个接口或VLAN时,它使用相同的标签。
-
入口/出口ACL使用不同的标签空间。
-
IPv4、IPv6和MAC ACL使用其他标签空间。
-
同一PACL应用于接口A的入口和接口A的出口。TCAM中有两个PACL实例,每个实例具有入口和出口的唯一标签。
-
如果将具有L4OP的同一PACL应用于每个核心上存在的多个入口接口,则在TCAM中编程的同一PACL有两个实例,每个核心一个。
VMR描述:
ACE在TCAM中作为“VMR”进行内部编程,也称为值、掩码和结果。每个ACE条目可以消耗VMR和VCU。
ACL可扩展性:
安全ACL资源专用于安全ACL。它们不与其他功能共享。
ACL TCAM资源
Cisco Catalyst 9600
Cisco Catalyst 9500
Cisco Catalyst 9400
Cisco Catalyst 9300
Cisco Catalyst 9200
IPv4条目
入口: 12000*
出口:
15000 *
C9500:18000*
C9500高性能
入口: 12000*
出口:15000*
18000 *
C9300:
5000
C9300B:
18000
C9300X:8000
1000
IPv6条目
IPv4条目的一半
IPv4条目的一半
一半IPv4条目
一半IPv4条目
一半IPv4条目
一种IPv4 ACL条目不能超过
12000
C9500:18000
C9500高性能:
15000
18000
C9300:
5000
C9300B:18000
C9300X:8000
1000
一种类型的IPv6 ACL条目不能超过
6000
C9500:
9000
C9500高性能:
7500
9000
2500/9000/4000
500
L4OPs/标签
8
8
8
8
8
入口VCU
192
192
192
192
192
出口VCU
96
96
96
96
96
相关信息
- 安全配置指南,Cisco IOS XE Amsterdam 17.3.x(Catalyst 9200交换机)
- 安全配置指南,Cisco IOS XE Amsterdam 17.3.x(Catalyst 9300交换机)
- 安全配置指南,Cisco IOS XE Amsterdam 17.3.x(Catalyst 9400交换机)
- 安全配置指南,Cisco IOS XE Amsterdam 17.3.x(Catalyst 9500交换机)
- 安全配置指南,Cisco IOS XE Amsterdam 17.3.x(Catalyst 9600交换机)
- 系统管理配置指南,Cisco IOS XE Bengaluru 17.4.x(Catalyst 9500交换机)
- 思科技术支持和下载
调试和跟踪命令
数字
命令
备注
1
show platform hardware fed [switch] active fwd-asic drops exceptions asic <0>
转储ASIC #N上的异常计数器。
2
show platform software fed [switch] active acl
此命令会打印机箱上所有已配置ACL的信息,以及接口和策略信息。
3
show platform software fed [switch] active acl policy 18
此命令仅打印有关策略18的信息。您可以从命令2获得此策略ID。
4
show platform software fed [switch] active acl interface intftype pacl
此命令根据接口类型(pacl/vacl/racl/gacl/sgacl等)打印有关ACL的信息。
5
show platform software fed [switch] active acl interface intftype pacl acltype ipv4
此命令根据接口类型(pacl/vacl/racl/gacl/sgacl等)打印有关ACL的信息,并过滤基于协议的信息(ipv4/ipv6/mac等)。
6
show platform software fed [switch] active acl interface intftype pacl acltype ipv4
此命令可打印接口信息。
7
show platform software fed [switch] active acl interface 0x9
此命令根据IIF-ID(从6开始的命令)打印在接口上应用的ACL的简短信息。
8
show platform software fed [switch] active acl definition
此命令会打印机箱上配置的ACL的相关信息,以及CGD中是否存在的ACL。
9
show platform software fed [switch] active acl iifid 0x9
此命令根据IIF-ID打印接口上应用的ACL的详细信息。
10
show platform software fed [switch] active acl usage
此命令根据功能类型打印每个ACL使用的VMR数量。
11
show platform software fed [switch] active acl policy intftype pacl vcu
此命令根据接口类型为您提供策略信息和VCU信息(pacl/vacl/racl/gacl/sgacl等)。
12
show platform software fed [switch] active acl policy intftype pacl cam
此命令根据接口类型(pacl/valc/racl/gacl/sgacl等)为您提供CAM中的VMR策略信息和详细信息。
13
show platform software interface [switch] [active] R0 brief
此命令将为您提供有关机箱中接口的详细信息。
14
show platform software fed [switch] active port if_id 9
此命令根据IIF-ID打印有关端口的详细信息。
15
show platform software fed [switch] active vlan 30
此命令会打印有关VLAN 30的详细信息。
16
show platform software fed [switch] active acl cam asic 0
此命令会打印正在使用的ASIC 0上的完整ACL cam。
17
show platform software fed [switch] active acl counters hardware
此命令会打印硬件中的所有ACL计数器。
18
show platform hardware fed [switch] active fwd-asic resource tcam table pbr record 0 format 0
在打印PBR部分的条目时,您可以为不同的部分(如ACL和CPP)而非PBR。
19
show platform software fed [switch] active punt cpuq [1|2|3 …]
要检查其中一个CPU队列上的活动,您还可以选择清除用于调试的队列统计信息。
20
show platform software fed [switch] active ifm mappings gpn
使用IIF-ID和GPN打印接口映射
21
show platform software fed [switch active ifm if-id <iif-d>
打印有关接口配置和与ASIC的关联的信息。此命令有助于检查ASIC和CORE位于哪个接口。
22
set platform software trace fed [switch] active acl/asic_vmr/asic_vcu/cgacl/sgacl [debug|error …]
在FED中设置特定功能的跟踪。
23
request platform software trace rotate all
正在清除跟踪缓冲区。
24
show platform software trace message fed [switch] active
正在打印FED的跟踪缓冲区。
25
set platform software trace forwarding-manager [switch] [active] f0 fman [debug|error …]
启用FMAN跟踪。
26
show platform software trace message forwarding-manager [switch] [active] f0
正在打印FMAN的跟踪缓冲区。
27
debug platform software infrastructure punt detail
在PUNT上设置调试。
28
debug ip cef packet all input rate 100
CEF数据包调试打开。
版本 | 发布日期 | 备注 |
---|---|---|
4.0 |
04-Feb-2022 |
进行较小的格式编辑以提高可读性 |
1.0 |
27-Jul-2021 |
初始版本 |