本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本檔案介紹如何驗證Catalyst 9000系列交換器上的ACL(存取控制清單)並疑難排解。
本文件沒有特定需求。
本檔案中的資訊是根據以下硬體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
注意:有關在其他Cisco平台上啟用這些功能的命令,請參閱相應的配置指南。
ACL會在流量透過路由器或交換機時過濾流量,並允許或拒絕透過指定介面的資料包。ACL是適用於資料包的允許和拒絕條件的順序集合。當某個介面收到資料包時,交換機根據訪問清單中指定的條件,將資料包中的欄位與任何應用的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 |
VCU |
|
消耗 |
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 |
VCU |
|
消耗 |
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 |
VCU |
|
消耗 |
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 privilegedEXEC命令可獲取交換和路由資料包的一些基本硬體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組中
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策略拒絕。
- 檢查platform drop命令。
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消息的thelogging控制檯命令控制。
-
與單播反向路徑轉發(uRPF)一起使用的ACL不支援ACL日誌消息。只有RACL才支援此功能。
-
從裝置控制平面生成的資料包不支援出口方向的ACL日誌。
- 路由在硬體中完成並在軟體中記錄,因此,如果大量資料包匹配包含logkeyword的permit或deny ACE,軟體將無法匹配硬體處理速率,並且無法記錄所有資料包。
- 觸發ACL的第一個資料包會立即生成日誌消息,後續資料包在出現或記錄之前會以5分鐘為間隔收集。日誌消息包括訪問清單編號、資料包是被允許還是被拒絕、資料包的源IP地址以及前5分鐘間隔內該源允許或拒絕的資料包數量。
- 有關ACL日誌行為和限制的完整詳細資訊,請參閱相關資訊(Related Information)部分所述的相應安全配置指南(Cisco IOS XE)。
記錄範例PACL:
此範例顯示的是否定情況,其中ACL型別和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 (拒絕):
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):
當日誌語句用於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的動作稱為Reloading。
-
PACL 、 VACL 、 RACL和GACL可以彼此獨立地解除安裝/重新載入。
ACL TCAM耗盡
- 應用新增ACL的介面會開始捨棄封包,直到硬體資源可供使用。
- GACL使用者端會進入UnAuth狀態。
VCU耗盡
- 超過L4OP限制或超過VCU後,軟體將執行ACL擴展並建立新的ACE條目,以便在不使用VCU的情況下執行等效操作。
- 一旦發生這種情況,TCAM可能會因這些增加的條目而耗盡。
ACL系統日誌錯誤
如果特定安全ACL資源用盡,則系統生成SYSLOG消息(介面、VLAN、標籤等,這些值可能不同)。
ACL日誌消息
定義
復原動作
%ACL_ERRMSG-4-UNLOADED:已饋送交換機1:介面<interface>上的輸入<ACL>未程式設計到硬體中,流量被丟棄。
ACL已解除安裝(保留在軟體中)
檢查TCAM比例。如果超出規模,請重新設計ACL。
%ACL_ERRMSG-6-REMOVED: 1已饋送:已為標籤<label>asic<number>刪除介面<interface>上Input <ACL>的解除安裝配置。
解除安裝的ACL配置將從介面刪除
ACL已刪除,無需執行任何操作
%ACL_ERRMSG-6-RELOADED: 1已饋送:介面<interface>上的輸入<ACL>現已載入到asic<number>上標籤<label>的硬體中。
ACL現在已安裝在硬體中
ACL的問題現已透過硬體解決,無需採取任何操作
%ACL_ERRMSG-3-ERROR: 1 fed: Input <ACL> IP ACL <NAME>配置未以繫結順序<number>應用於<interface>。
其他型別的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 implicit_deny:<name>:配置未應用於客戶端MAC 0000.0000.0000。
(dot1x) ACL無法應用於目標埠
確認ACL配置受支援,並且TCAM沒有超出範圍
資源不足案例與復原動作
案例 1.ACL繫結
復原動作
- 建立ACL並將其應用到介面或VLAN。
- 繫結因「資源不足」而失敗,例如TCAM耗盡。
- ACL中沒有ACE可以程式設計到TCAM中。ACL保持在UNLOADED狀態。
- 在UNLOADED狀態下,所有流量(包括控制資料包)將在介面上丟棄,直到問題得到解決。
重新設計ACL以降低TCAM的利用率。
案例 2.ACL編輯
復原動作
- 建立一個ACL並將其應用到介面,並且在應用到介面時,向該ACL中增加了更多ACE條目。
- 如果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.繫結空(空) ACL
復原動作
- 建立沒有ACE條目的ACL並將其附加到介面。
- 系統使用允許「任何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班加羅爾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自定義使用者輸入
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擴展:
- ACL擴展發生在裝置耗盡的L4OP、標籤或VCU時。裝置必須建立多個等效ACE才能完成相同的邏輯,並快速耗盡TCAM。
- ### 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 any eq 151
9500H(config-ext-nacl)#permit tcp 10.0.0.0 0.255.255 any eq 152
9500H(config-ext-nacl)#permit tcp 10.0.0.0 0.255.255 any eq 153
9500H(config-ext-nacl)#permit tcp 10.0.0.0 0.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
L4OP/標籤
8
8
8
8
8
輸入VCU
192
192
192
192
192
出口VCU
96
96
96
96
96
相關資訊
- 安全配置指南,Cisco IOS XE阿姆斯特丹版17.3.x(Catalyst 9200交換機)
- 安全配置指南,Cisco IOS XE阿姆斯特丹版17.3.x(Catalyst 9300交換機)
- 安全配置指南,Cisco IOS XE阿姆斯特丹版17.3.x(Catalyst 9400交換機)
- 安全配置指南,Cisco IOS XE阿姆斯特丹版17.3.x(Catalyst 9500交換機)
- 安全配置指南,Cisco IOS XE阿姆斯特丹版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中的資訊。
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
此命令根據介面型別(pacl/vacl/racl/gacl/sgacl等)為您提供策略資訊和VCU資訊。
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 |
初始版本 |