本檔案介紹如何在Cisco Nexus 7000和7700系列交換器上設定最佳化存取控制清單(ACL)記錄(OAL)。
思科建議您在嘗試本文檔中所述的配置之前,先瞭解具有基本ACL的Nexus配置。
本檔案中的資訊是根據以下硬體和軟體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
啟用日誌記錄的ACL可深入瞭解流量穿越網路或被網路裝置丟棄的情況。遺憾的是,ACL日誌記錄會佔用大量的CPU資源,而且可能對網路裝置的其他功能產生負面影響。為了減少CPU週期,Cisco Nexus 7000系列交換機使用OAL。
OAL的使用為ACL記錄提供硬體支援。OAL允許或丟棄硬體中的資料包,並使用最佳化的常式向Supervisor傳送資訊,以便其生成日誌記錄消息。例如,當資料包在硬體中轉發時到達啟用了日誌記錄的ACL時,會在硬體中建立資料包的副本,並將資料包轉發到Supervisor以根據配置的時間間隔進行記錄。
本節提供的資訊可用於配置Nexus交換機以使用OAL。
在本節介紹的示例中,IP地址為10.10.10.1的主機通過Nexus 7000系列介面將流量傳送到IP地址為172.16.10.10的另一台主機,該介面具有配置有日誌記錄的ACL。
主機和Nexus 7000系列交換機之間的連線按照以下拓撲進行:
完成以下步驟,設定交換器以使用OAL:
logging ip access-list cache entries 8000以下是範例:
logging ip access-list cache interval 300
logging ip access-list cache threshold 0
Nexus-7000# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Nexus-7000(config)#logging ip access-list cache entries 8000
Nexus-7000(config)#logging ip access-list cache interval 300
Nexus-7000(config)#logging ip access-list cache threshold 0
logging level acllog <number>以下是範例:
acllog match-log-level <number>
logging logfile [name] <number>
Nexus-7000(config)# logging level acllog 5
Nexus-7000(config)# acllog match-log-level 5
Nexus-7000(config)# logging logfile acllog 5
Nexus-7000(config)# ip access-list test1
Nexus-7000(config-acl)# 10 permit ip 10.10.10.1/32 172.16.10.10/32 log
Nexus-7000(config-acl)# 20 deny ip any any log
Nexus-7000(config-acl)#
Nexus-7000(config-acl)#show ip access-lists test1 IP access list test1
10 permit ip 10.10.10.1/32 172.16.10.10/32 log
20 deny ip any any log
Nexus-7000(config-acl)#
Nexus-7000# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Nexus-7000(config)# int ethernet 4/1
Nexus-7000(config-if)# ip access-group test1 in
Nexus-7000(config-if)# ip access-group test1 out
Nexus-7000(config-if)#
Nexus-7000(config-if)# show run int ethernet 4/1
!Command: show running-config interface Ethernet4/1
!Time: Mon Jun 30 16:30:38 2014
version 6.2(6)
interface Ethernet4/1
ip access-group test1 in
ip access-group test1 out
ip address 10.10.10.2/24
no shutdown
Nexus-7000(config-if)#
使用本節提供的資訊以驗證您的組態是否正常運作。
在本文檔中使用的示例中,從IP地址為10.10.10.1的主機向IP地址為172.16.10.1的主機啟動ping。在CLI中輸入show logging ip access-list cache命令以驗證流量:
Nexus-7000# show logging ip access-list cache
Src IP Dst IP S-Port D-Port Src Intf Protocol Hits
--------------------------------------------------------------
10.10.10.1 172.16.10.10 0 0 Ethernet4/1 (1)ICMP 368
Number of cache entries: 1
--------------------------------------------------------------
Nexus-7000#
Nexus-7000# show logging ip access-list status Max flow = 8000
Alert interval = 300
Threshold value = 0
Nexus-7000#
您可以看到每300秒的日誌記錄,因為這是預設的時間間隔:
Nexus-7000# show logging logfile
2014 Jun 29 19:19:01 Nexus-7000 %SYSLOG-1-SYSTEM_MSG : Logging logfile (acllog)
cleared by user
2014 Jun 29 19:20:57 Nexus-7000 %VSHD-5-VSHD_SYSLOG_CONFIG_I: Configured from vty by
admin on console0
2014 Jun 29 19:21:18 Nexus-7000 %ACLLOG-5-ACLLOG_FLOW_INTERVAL: Src IP: 10.1 0.10.1,
Dst IP: 172.16.10.10, Src Port: 0, Dst Port: 0, Src Intf: Ethernet4/1, Pro tocol:
"ICMP"(1), Hit-count = 2589
2014 Jun 29 19:26:18 Nexus-7000 %ACLLOG-5-ACLLOG_FLOW_INTERVAL: Src IP: 10.1 0.10.1,
Dst IP: 172.16.10.10, Src Port: 0, Dst Port: 0, Src Intf: Ethernet4/1, Pro tocol:
"ICMP"(1), Hit-count = 4561
目前尚無適用於此組態的具體疑難排解資訊。
本節提供有關本檔案中所述配置的其他資訊。
在Nexus作業系統(NX-OS)版本6.2(6)及更高版本中,詳細的ACL日誌記錄可用。該功能記錄以下資訊:
在CLI中輸入logging ip access-list detailed命令以啟用詳細日誌記錄。以下是範例:
Nexus-7000(config)# logging ip access-list detailed
ACL Log detailed Logging feature is enabled. Hit-count of existing ACL Flow entry will
be reset to zero and will contain Hit Count per ACL type Flow.
Nexus-7000(config)#
以下是啟用詳細記錄後記錄輸出的範例:
2014 Jul 18 02:20:38 Nexus7k-1-oal %ACLLOG-6-ACLLOG_FLOW_INTERVAL: Src IP: 10.10.10.1,
Dst IP: 172.16.10.10, Src Port: 0, Dst Port: 0, Src Intf: Ethernet4/5, Protocol:
"ICMP"(1), ACL Name: test1, ACE Action: Permit, Appl Intf: Ethernet4/5, Hit-count: 69
本節介紹用於配置Nexus 7000系列交換機以使用OAL的全域性OAL命令。
指令
|
說明
|
---|---|
Switch(config)# logging ip access-list cache {{entries number_of_entries} | {interval seconds} | {rate-limit number_of_packets} | {threshold number_of_packets} | 此命令設定OAL全域性引數。 |
Switch(config)# no logging ip access-list cache {entries |間隔 | rate-limit |閾值} | 此命令將OAL全域性引數還原為預設設定。 |
條目 num_entries |
這些引數指定在軟體中快取的最大日誌條目數。範圍為0至1,048,576。預設值為8,000個條目。 |
間隔 秒 |
這些引數指定將條目傳送到系統日誌之前的最大時間間隔。範圍為5到86,400。預設值為300秒。 |
閾值 num_packets |
這些引數指定在將條目傳送到系統日誌之前資料包匹配(命中)的數量。範圍為0到1,000,000。預設值為0個資料包(速率限製為off),這意味著系統日誌不會由資料包匹配數觸發。 |
本節介紹用於配置Nexus 7000系列交換機以使用OAL的logging命令。
指令
|
說明
|
---|---|
switch(config)# acllog match-log-level number 範例:switch(config)# acllog match-log-level 3 |
此命令指定在ACL日誌(acllog)中記錄條目之前必須匹配的日誌記錄級別。 範圍為0至7。預設值為6。 |
Switch(config)# no acllog match-log-level number 範例:switch(config)# no acllog match-log-level 6 |
此命令將日誌記錄級別還原為預設設定(6)。 |
Switch(config)# logging level facility severity-level 範例:switch(config)# logging level acllog 3 |
此命令啟用指定設施中具有指定嚴重性級別或更高級別的日誌記錄消息。在本文檔中使用的示例中,acllog級別設定為3,而預設設定為2。 |
Switch(config)# no logging level [facility severity-level] 範例:switch(config)# no logging level acllog 3 |
此命令將指定設施的日誌記錄嚴重性級別重置為其預設級別。如果不指定設施和嚴重性 級別,裝置會將所有合作室重置為其預設級別。在本文檔中使用的示例中,acl日誌會還原為預設值(2)。 |
Switch(config)# logging logfile logfile-name severity-level [size bytes] 範例:switch(config)# logging logfile acllog 3 |
此命令配置用於儲存系統消息的日誌檔案的名稱,以及日誌記錄之前的最低嚴重性級別。可以選擇指定最大檔案大小。預設嚴重級別為5,預設檔案大小為10,485,760。 |
Switch(config)# no logging logfile [logfile-name severity-level [size bytes]] 範例:switch(config)# no logging logfile acllog 3 |
此命令禁用日誌記錄到日誌檔案。 |
以下是應用本檔案所述的設定之前,您應該考慮的一些重要原則與限制:
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
15-Apr-2015 |
初始版本 |