簡介
本文檔介紹用於監控思科自適應安全裝置(ASA)效能並對其進行故障排除的命令。
必要條件
需求
本文件沒有特定需求。
採用元件
本檔案中的資訊是根據執行8.3版及更新版本的思科調適型安全裝置(ASA)。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
慣例
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
排解效能問題
為了排除效能問題,請檢查本節中介紹的基本區域。
附註:如果您的Cisco裝置提供了show
命令輸出,您可以使用Cisco CLI Analyzer顯示潛在問題和修正程式。Cisco CLI Analyzer支援某些命show
令。如果您使用Cisco CLI Analyzer,您必須是已註冊的Cisco使用者,必須登入到您的Cisco帳戶,而且必須在瀏覽器中啟用JavaScript。
速度和雙工設定
安全裝置已預配置為自動檢測介面上的速度和雙工設定。但是,存在多種情況,可導致自動交涉流程失敗,從而導致速度或雙工不匹配(和效能問題)。 對於任務關鍵型網路基礎設施,思科會手動對每個介面的速度和雙工進行硬體編碼,因此不會出錯。這些裝置通常不會移動,因此,如果您正確配置它們,則無需對其進行更改。
在任何網路裝置上,都可以檢測鏈路速度,但必須協商雙工。如果兩台網路裝置配置為自動協商速度和雙工,它們就會交換通告其速度和雙工功能的幀(稱為快速鏈路脈衝,或FLP)。為了連結未知的夥伴,這些脈衝類似於常規10 Mbps幀。為了連結可以解碼脈衝的夥伴,FLP包含連結夥伴可以提供的所有速度和雙工設定。接收FLP的站台會確認訊框,且裝置就各自可以達到的最高速度和雙工設定達成共識。如果一台裝置不支援自動協商,則另一台裝置接收FLP並轉換到並行檢測模式。為了檢測對方的速度,裝置監聽脈衝的長度,然後基於該長度設定速度。雙工設定出現問題。由於雙工必須協商,因此設定為自動協商的裝置無法確定其他裝置上的設定,因此它預設為半雙工,如IEEE 802.3u標準所述。
例如,如果將ASA介面配置為自動協商,並將其連線到硬編碼為100 Mbps和全雙工的交換機,則ASA會傳送FLP。但是,交換器沒有回應,因為它針對速度和雙工採用硬式編碼,而且不會參與自動交涉。由於未收到來自交換機的響應,因此ASA轉換到並行檢測模式,並檢測交換機發出的幀中的脈衝長度。即,ASA檢測到交換機設定為100 Mbps,因此它基於此設定介面速度。但是,由於交換機不交換FLP,因此ASA無法檢測交換機能否運行全雙工,因此ASA將介面雙工設定為半雙工,如IEEE 803.2u標準所述。由於交換機硬編碼為100 Mbps和全雙工,而ASA剛剛自動協商為100 Mbps和半雙工(也一樣),因此會出現雙工不相符的情況,這可能會導致嚴重的效能問題。
當相關介面上的錯誤計數器增加時,最常顯示速度或雙工不相符的情況。最常見的錯誤是幀、循環冗餘檢查(CRC)和殘幀。如果介面上的這些值增加,則可能會發生速度/雙工不相符或纜線問題。您必須先解決此問題,然後才能繼續。
範例
Interface GigabitEthernet0/0 "outside", is up, line protocol is up
Hardware is i82546GB rev03, BW 1000 Mbps, DLY 10 usec
Auto-Duplex(Full-duplex), Auto-Speed(100 Mbps)
Input flow control is unsupported, output flow control is unsupported
MAC address 0013.c480.b2b8, MTU 1500
IP address 192.168.17.4, subnet mask 255.255.255.0
311981 packets input, 20497296 bytes, 0 no buffer
Received 311981 broadcasts, 157 runts, 0 giants
379 input errors, 107 CRC, 273 frame, 0 overrun, 0 ignored, 0 abort
0 pause input, 0 resume input
0 L2 decode drops
121 packets output, 7744 bytes, 0 underruns
0 pause output, 0 resume output
0 output errors, 0 collisions, 1 interface resets
0 late collisions, 0 deferred
0 input reset drops, 0 output reset drops, 0 tx hangs
input queue (blocks free curr/low): hardware (255/249)
output queue (blocks free curr/low): hardware (255/254)
CPU利用率
如果您發現CPU使用率高,請完成以下步驟進行故障排除:
- 驗證中的連線計數
show xlate count
是否為低。
- 驗證記憶體塊是否正常。
- 檢驗ACL的數量是否更高。
- 發出
show memory detail
命令並驗證ASA使用的記憶體是否正常使用。
- 驗證和中的計數
show processes cpu-hog
show processes memory
是否正常。
- 安全裝置內部或外部的任何主機都可以生成惡意或大量流量,這些流量可以是廣播/組播流量,並導致CPU使用率高。為了解決此問題,請配置訪問清單以拒絕主機之間的流量(端到端)並檢查使用情況。
- 檢查ASA介面中的雙工和速度設定。遠端介面的不匹配設定可能會增加CPU利用率。
此範例顯示由於速度不相符而導致的輸入錯誤和溢位的數量較高。使用show interface
命令驗證錯誤:
Ciscoasa#sh int GigabitEthernet0/1
Interface GigabitEthernet0/1 "inside", is up, line protocol is up
Hardware is i82546GB rev03, BW 1000 Mbps, DLY 10 usec
Auto-Duplex(Full-duplex), Auto-Speed(100 Mbps)
Input flow control is unsupported, output flow control is unsupported
MAC address 0013.c480.b2b8, MTU 1500
IP address 192.168.17.4, subnet mask 255.255.255.0
311981 packets input, 20497296 bytes, 0 no buffer
Received 311981 broadcasts, 157 runts, 0 giants
7186 input errors, 0 CRC, 0 frame, 7186 overrun, 0 ignored, 0 abort
0 pause input, 0 resume input
0 L2 decode drops
121 packets output, 7744 bytes, 0 underruns
0 pause output, 0 resume output
0 output errors, 0 collisions, 1 interface resets
0 late collisions, 0 deferred
0 input reset drops, 0 output reset drops, 0 tx hangs
input queue (blocks free curr/low): hardware (255/249)
output queue (blocks free curr/low): hardware (255/254)
為了解決此問題,請將速度設定為自動到相應的介面。
附註:思科建議您在所有接口上啟用ip verify reverse-path interface
該命令。這會導致沒有有效源地址的資料包被丟棄,從而減少CPU使用率。這適用於FWSM遇到高CPU問題時的情況。
- CPU使用率較高的另一個原因可能是組播路由過多。發出
show mroute
命令以檢查ASA是否收到太多組播路由。
- 使用
show local-host
命令可檢查網路是否遭受拒絕服務攻擊,這表示網路中存在病毒攻擊。
- 由於Cisco錯誤ID CSCsq48636,可能會發生CPU使用率過高。如需詳細資訊,請參閱Cisco錯誤ID CSCsq48636。
附註:只有註冊的思科使用者才能訪問內部思科工具和錯誤資訊。
附註:如果之前提供的解決方案不能解決問題,請根據要求升級ASA平台。有關自適應安全裝置平台功能和容量的詳細資訊,請參閱適用於安全裝置的思科安全模組。請聯絡TAC(思科技術支援)以瞭解其他資訊。
記憶體利用率高
以下是記憶體使用率高的一些可能原因和解決方案:
- 事件記錄:事件日誌記錄會消耗大量的記憶體。為了解決此問題,請安裝所有事件並將其記錄到外部伺服器,如系統日誌伺服器。
- 記憶體洩漏:安全裝置軟體中的一個已知問題可能會導致記憶體消耗過高。為了解決此問題,請升級安全裝置軟體。
- 已啟用調試:調試會佔用大量記憶體。為了解決此問題,請使用undebug all命令禁用調試。
- 阻塞埠:阻止安全裝置外部介面上的埠會導致安全裝置消耗大量記憶體,以通過指定埠阻止資料包。為了解決此問題,請在ISP端封鎖有問題的流量。
- 威脅檢測:威脅檢測功能包括針對各種威脅收集的不同級別的統計資訊以及掃描的威脅檢測,後者確定主機何時執行掃描。關閉此功能可消耗更少記憶體。
PortFast、通道化和中繼
預設情況下,許多交換器(例如執行Catalyst作業系統(OS)的Cisco交換器)是設計為即插即用裝置。因此,當ASA插入交換機時,許多預設埠引數是不理想的。例如,在執行Catalyst OS的交換器上,預設通道化設定為自動,主幹設定為自動,PortFast停用。如果將ASA連線到運行Catalyst OS的交換機,請禁用通道化、禁用中繼並啟用PortFast。
通道化(也稱為快速EtherChannel或Giga EtherChannel)用於繫結邏輯組中的兩個或更多物理埠,以提高鏈路上的整體吞吐量。當連線埠設定為自動通道化時,它會在連結進入使用中時傳送連線埠彙總通訊協定(PAgP)訊框,以便判斷其是否為通道的一部分。如果另一台裝置嘗試自動交涉連結的速度和雙工,這些訊框可能會出現問題。如果連線埠上的通道設定為自動,也會導致額外延遲約3秒,然後連線埠會在連結啟動後開始轉送流量。
附註:在Catalyst XL系列交換器上,通道化預設不會設定為自動。因此,您必須禁用連線到ASA的所有交換機埠上的通道化。
中繼也稱為常用的中繼協定交換機間鏈路(Inter-Switch Link,ISL)或Dot1q,它在一個埠(或鏈路)上合併多個虛擬LAN(VLAN)。 當兩台交換器上定義多個VLAN時,通常會在兩台交換器之間使用中繼。當連線埠設定為自動主幹時,它會在連結啟動時傳送動態主幹通訊協定(DTP)訊框,以確定其連線的連線埠是否想要主幹。這些DTP幀可能會導致鏈路的自動協商出現問題。如果交換機埠上的中繼設定為「自動」,則在鏈路接通後,埠開始轉發流量之前會增加大約15秒的額外延遲。
PortFast(也稱為Fast Start)是一個用於通知交換機第3層裝置已連線到交換機埠之外的選項。連線埠不會等待預設的30秒(聆聽時15秒,學習時15秒);相反,該操作會導致交換機在鏈路接通後立即使埠進入轉發狀態。請務必瞭解,啟用PortFast時,不會停用跨距樹狀目錄。該埠上的生成樹仍然處於活動狀態。啟用PortFast時,只會通知交換器,在連結的另一端沒有連線其他交換器或集線器(僅第2層裝置)。交換器會繞過正常的30秒延遲,並嘗試判斷在開啟連線埠的情況下是否會產生第2層回圈。鏈路啟動後,仍然參與生成樹。此連線埠會發出橋接封包資料單元(BPDU),而交換器仍會偵聽該連線埠上的BPDU。因此,建議您在連線到ASA的所有交換機埠上啟用PortFast。
附註:Catalyst OS版本5.4和更新版本包含允許您使用單個命令禁用通道化、禁用中繼和啟用PortFast的set port host /
命令。
網路位址轉譯(NAT)
每個NAT或NAT過載(PAT)會話都分配有一個轉換插槽,稱為xlate。即使在更改影響它們的NAT規則之後,這些轉換仍會持續。這會導致轉換插槽耗盡或意外行為,或者二者都受到進行轉換的流量影響。本節說明如何檢視和清除安全裝置上的複製副本。
注意:當全域性清除安全裝置上的xlate時,可能會發生通過裝置的所有流量的短暫中斷。
使用外部介面IP地址的PAT的ASA配置示例:
object network OBJ_GENERIC_ALL
subnet 0.0.0.0 0.0.0.0
nat (inside,outside) source dynamic OBJ_GENERIC_ALL interface
流經安全裝置的流量最有可能通過NAT。要檢視安全裝置上正在使用的轉換,請發出命令show xlate
:
Ciscoasa#show xlate
5 in use, 5 most used
Flags: D - DNS, i - dynamic, r - portmap, s - static, I - identity, T - twice
NAT from any:192.168.1.10 to any:172.16.1.1/24
flags s idle 277:05:26 timeout 0:00:00
轉換插槽可以在進行關鍵更改後保留。若要清除安全裝置上的當前轉換插槽,請發出clear xlate
命令:
Ciscoasa#clear xlate
Ciscoasa#show xlate
0 in use, 1 most used
該命令clear xlate
清除來自xlate表的所有當前動態轉換。若要清除特定的IP轉譯,可以使用帶有clear xlate
關鍵字的global [ip address]
命令。
以下是用於NAT的ASA配置示例:
object network inside-net
subnet 0.0.0.0 0.0.0.0
object network outside-pat-pool
range 10.10.10.10 10.10.10.100
nat (inside,outside) source dynamic inside-net outside-pat-pool
觀察show xlate
內部10.2.2.2轉換為外部全域性10.10.10.10的輸出:
Ciscoasa#show xlate
2 in use, 2 most used
Flags: D - DNS, i - dynamic, r - portmap, s - static, I - identity, T -
twice
TCP PAT from inside:10.2.2.2/1429 to any:10.10.10.10/64768 flags ri
idle 62:33:57 timeout 0:00:30
TCP PAT from inside:10.5.5.5/1429 to any:10.10.10.11/64768 flags ri
idle 62:33:57 timeout 0:00:30
清除10.10.10.10全域性IP地址的轉換:
Ciscoasa# clear xlate global 10.10.10.10
在本例中,內部10.2.2.2到外部全域性10.10.10的轉換已丟失:
Ciscoasa#show xlate
1 in use, 2 most used
Flags: D - DNS, i - dynamic, r - portmap, s - static, I - identity, T -
twice
TCP PAT from inside:10.5.5.5/1429 to any:10.10.10.11/64768 flags ri
idle 62:33:57 timeout 0:00:30
系統日誌
系統日誌允許您對ASA上的問題進行故障排除。思科為Windows NT提供了一個名為ASA防火牆系統日誌伺服器(PFSS)的免費系統日誌伺服器。 您可以從思科技術支援與下載下載PFSS。
其他一些供應商為各種Windows平台(如Windows 2000和Windows XP)提供系統日誌伺服器。大多數UNIX和Linux電腦預設安裝系統日誌伺服器。
設定系統日誌伺服器時,請配置ASA以向其傳送日誌。
舉例來說:
logging on
logging host <ip_address_of_syslog_server>
logging trap debugging
附註:此示例將ASA配置為向系統日誌伺服器傳送調試(7級)和更重要的系統日誌。由於這些ASA日誌是最詳細的,因此僅在您對問題進行故障排除時使用。為正常操作,將日誌記錄級別配置為「警告」(級別4)或「錯誤」(級別3)。
如果遇到效能緩慢的問題,請在文本檔案中開啟系統日誌,然後搜尋與效能問題相關的源IP地址。(如果使用UNIX,則可以grep通過系統日誌獲取源IP地址。) 檢查消息是否指示外部伺服器嘗試訪問TCP埠113上的內部IP地址(用於標識協定或Ident),但ASA拒絕了該資料包。消息必須類似於以下示例:
%ASA-2-106001: Inbound TCP connection denied from
10.64.10.2/35969 to 192.168.110.179/113 flags SYN
如果您收到此消息,請向ASA發service resetinbound
出ASA命令。ASA不會以靜默方式丟棄資料包;相反,此命令會導致ASA立即重置安全策略拒絕的任何入站連線。伺服器不會等待Ident封包將其TCP連線逾時;相反,它會立即接收重置資料包。
簡易網路管理通訊協定(SNMP)
推薦的企業部署方法是使用SNMP監控Cisco ASA的效能。Cisco ASA通過SNMP版本1、2c和3支援此功能。
您可以將安全裝置配置為向網路管理伺服器(NMS)傳送陷阱,也可以使用NMS瀏覽安全裝置上的MIB。MIB是定義的集合,安全裝置為每個定義維護一個值資料庫。有關此問題的詳細資訊,請參閱使用CLI 8.4和8.6的Cisco ASA 5500系列配置指南。
Cisco ASA的所有受支援MIB都可以在ASA MIB支援清單中找到。在此清單中,這些MIB在監控效能時非常有用:
- CISCO-FIREWALL-MIB命令包----可用於故障轉移的對象。
- CISCO-PROCESS-MIB ----包含可用於CPU利用率的對象。
- CISCO-MEMORY-POOL-MIB命令包----對記憶體對象有用的對象。
反向DNS查詢
如果您遇到ASA效能低下的問題,請確認在ASA使用的外部地址的授權DNS伺服器中有域名系統指標(DNS PTR)記錄(也稱為反向DNS查詢記錄)。這包括全域性網路地址轉換(NAT)池中的任何地址(或者ASA外部介面(如果介面上過載)、任何靜態地址和內部地址(如果不使用NAT)。 某些應用程式(例如檔案傳輸通訊協定(FTP)和Telnet伺服器)可以使用反向DNS搜尋來判斷使用者來自何處以及是否為有效主機。如果反向DNS查詢未解析,則效能會隨著請求超時而降低。
為了確保這些主機存在PTR記錄,請從您的PC或UNIX電腦發出nslookup
命令;包括用於連線到Internet的全域性IP地址。
範例
% nslookup 192.168.219.25
10.219.133.198.in-addr.arpa name = www.cisco.com.
您必須收到包含分配給該IP地址的裝置的DNS名稱的回覆。如果您沒有收到響應,請聯絡控制您的DNS的人員,以請求為每個全域性IP地址新增PTR記錄。
介面上的溢位
如果有流量突發,如果突發超過NIC和接收環緩衝區上FIFO緩衝區的緩衝容量,則可能會發生丟包。如果為流量控制啟用暫停訊框,可以緩解此問題。暫停(XOFF)和XON幀由NIC硬體根據FIFO緩衝區使用情況自動生成。當緩衝器使用率超過高水位標籤時,傳送暫停幀。若要對流量控制啟用暫停(XOFF)訊框,請使用以下命令:
hostname(config)#interface tengigabitethernet 1/0
hostname(config-if)#
flowcontrol send on
顯示命令
顯示CPU使用情況
show cpu usage
命令用於確定ASA CPU上的流量負載。在流量高峰期、網路激增或攻擊期間,CPU使用率可能會激增。
ASA具有單個CPU來處理各種任務;例如,它處理資料包並將調試消息列印到控制檯。每個進程都有自己的用途,有些進程比其他進程需要更多的CPU時間。加密可能是CPU最密集的過程,因此,如果您的ASA通過加密隧道傳送大量流量,您必須考慮速度更快的ASA和專用的VPN集中器,例如VPN 3000。VAC從ASA CPU解除安裝加密和解密,並在卡上的硬體中執行該操作。這允許ASA使用3DES(168位加密)加密和解密100 Mbps的流量。
日誌記錄是另一個會消耗大量系統資源的過程。因此,建議禁用ASA上的控制檯、監控和緩衝區日誌記錄。您可以在對問題進行故障排除時啟用這些進程,但禁用它們以進行日常操作,尤其是在耗盡了CPU容量時。此外,還建議將系統日誌或簡單網路管理協定日誌記錄(日誌記錄歷史記錄)設定為級別5(通知)或更低。此外,還可以使用命令禁用特定系統日誌消息no logging message
ID。
Cisco Adaptive Security Device Manager(ASDM)還在頁籤上提供一個圖形,通過該圖形,您可以檢視ASA隨時間變化的CPU使用情況Monitoring
。您可以使用此圖形來確定ASA上的負載。
該命show cpu usage
令可用於顯示CPU使用率統計資訊。
範例
Ciscoasa#show cpu usage
CPU utilization for 5 seconds = 1%; 1 minute: 2%; 5 minutes: 1%
檢視ASDM上的CPU使用率
完成以下步驟,檢視ASDM上的CPU使用率:
- 轉到ASDM
Monitoring > Properties > System Resources Graphics > CPU
,然後選擇「圖形視窗標題」。然後,從可用圖形清單中選擇所需的圖形,然後按一下新增(如圖所示)。

- 在Selected Graphs部分下新增所需的圖形名稱后,按一下Show Graphs。

下一張圖顯示ASDM上的CPU使用率圖形。此圖形的不同檢視可用,在從「檢視」(View)下拉選單中選擇檢視時可以更改這些檢視。可以根據需要將此輸出列印或儲存到電腦。

輸出說明
此表對輸出中的欄位進行了說 show cpu usage
明。
欄位
|
說明
|
5秒的CPU使用率
|
過去五秒的 CPU 使用率。
|
1分鐘
|
上一分鐘內CPU使用率平均取樣5秒。
|
5分鐘
|
過去5分鐘內CPU使用率平均取樣5秒。
|
顯示流量
show traffic
命令顯示給定時間段內通過ASA的流量數量。結果基於自上次發出命令以來的時間間隔。若要獲得準確的結果,請先發出命令,然後等待1-10分鐘,然後再發出show traffic
命令。您也可以發出命令show traffic
,等待1-10分鐘,然後再再次發出命令,但只有第二個例項的輸出有效。
您可以使用show traffic
命令來確定有多少流量通過ASA。如果有多個介面,該命令可以幫助您確定哪些介面傳送和接收的資料最多。對於具有兩個介面的ASA裝置,外部介面上的入站和出站流量的總和必須等於內部介面上的入站和出站流量的總和。
範例
Ciscoasa#show traffic
outside:
received (in 124.650 secs):
295468 packets 167218253 bytes
2370 pkts/sec 1341502 bytes/sec
transmitted (in 124.650 secs):
260901 packets 120467981 bytes
2093 pkts/sec 966449 bytes/sec
inside:
received (in 124.650 secs):
261478 packets 120145678 bytes
2097 pkts/sec 963864 bytes/sec
transmitted (in 124.650 secs):
294649 packets 167380042 bytes
2363 pkts/sec 1342800 bytes/sec
如果您的一個介面接近或達到額定吞吐量,則需要升級到速度更快的介面,或限制進出該介面的流量。否則可能會導致資料包被丟棄。如一節所述,show interface
您可以檢查介面計數器以找出有關吞吐量的資訊。
顯示Perfmon
show perfmon
命令用於監控ASA檢查的流量數量和型別。此命令是確定每秒轉換(轉換)和連線(連線)數的唯一方法。連線進一步細分為TCP和使用者資料包協定(UDP)連線。有關此命令生成的輸出的說明,請參閱輸出說明。
範例
PERFMON STATS Current Average
Xlates 18/s 19/s
Connections 75/s 79/s
TCP Conns 44/s 49/s
UDP Conns 31/s 30/s
URL Access 27/s 30/s
URL Server Req 0/s 0/s
TCP Fixup 1323/s 1413/s
TCPIntercept 0/s 0/s
HTTP Fixup 923/s 935/s
FTP Fixup 4/s 2/s
AAA Authen 0/s 0/s
AAA Author 0/s 0/s
AAA Account 0/s 0/s
輸出說明
下表對輸出中的欄位進行了說show perfmon
明。
欄位 |
說明 |
Xlates
|
每秒建立的翻譯。
|
連線
|
每秒建立的連線數。
|
TCP連線
|
每秒的TCP連線數。
|
UDP連線
|
每秒的UDP連線數。
|
URL訪問
|
每秒訪問的URL(網站)
|
URL伺服器請求
|
每秒傳送到Websense和N2H2的請求(需要命filter 令)。
|
TCP修正
|
ASA每秒轉發的TCP資料包數。
|
TCPIntercept
|
每秒超出靜態上設定的初期限制的SYN資料包數。
|
HTTP修正
|
每秒目的地為埠80的資料包數(需要fixup protocol http 命令)。
|
FTP修正
|
每秒檢查的FTP命令
|
AAA引擎
|
每秒身份驗證請求數。
|
AAA作者
|
每秒的授權請求數。
|
AAA帳戶
|
每秒的記帳請求數。
|
顯示塊
除了命令show cpu usage
,您還可以使用show blocks
命令來確定ASA是否過載。
封包區塊(1550和16384位元組)
進入ASA介面後,資料包將放置在輸入介面隊列上,向上傳遞到作業系統,然後放置在一個塊中。對於乙太網資料包,使用1550位元組塊;如果資料包在66 MHz Gigabit乙太網卡上進入,則使用16384位元組塊。ASA根據自適應安全演算法(ASA)確定資料包被允許還是被拒絕,並處理資料包到出站介面上的輸出隊列。如果ASA無法支援流量負載,則可用的1550位元組塊(或用於66 MHz GE的16384位元組塊)的數量將接近0(如命令輸出的CNT列所示)。 當CNT列達到零時,ASA會嘗試分配更多塊,最多為8192。如果沒有更多可用塊,ASA將丟棄該資料包。
故障轉移和系統日誌塊(256位元組)
256位元組塊主要用於有狀態故障切換消息。活動ASA生成資料包並將其傳送到備用ASA以更新轉換和連線表。在建立或斷開高連線速率的突發流量期間,可用256位元組塊的數量可以降為0。此降級表示一個或多個連線未更新到備用ASA。這通常可以接受,因為有狀態故障切換協定下次會捕獲xlate或丟失的連線。但是,如果256位元組塊的CNT列在較長的時間段內保持為或接近0,則ASA無法跟上同步的轉換和連線表,因為ASA每秒處理的連線數。如果這種情況持續發生,請將ASA升級到更快的型號。
從ASA傳送的系統日誌消息也使用256位元組塊,但通常不會釋放如此數量的塊,導致256位元組塊池耗盡。如果CNT列顯示256位元組塊的數量接近0,請確保您不以調試(第7級)登入到系統日誌伺服器。這由ASA配置中的日誌記錄陷阱行指示。建議您將日誌記錄設定為「通知」(級別5)或更低,除非您出於調試目的需要其他資訊。
範例
Ciscoasa#show blocks
SIZE MAX LOW CNT
4 1600 1597 1600
80 400 399 400
256 500 495 499
1550 1444 1170 1188
16384 2048 1532 1538
輸出說明
此表介紹了輸出中的show blocks
列。
列
|
說明
|
規模
|
E塊池的大小(以位元組為單位)。每個大小代表特定型別
|
最大
|
指定位元組塊池的最大可用塊數。啟動時從記憶體中劃分的最大塊數。通常,最大塊數不變。256和1550位元組塊是例外,自適應安全裝置可以在需要時動態建立更多塊,最多可達8192塊。
|
低
|
低水位標籤。此數字表示自自適應安全裝置通電或自上次清除塊(使用clear blocks命令)以來此大小塊可用的最小數量。LOW列中的零表示記憶體已滿的先前事件。
|
CNT
|
當前可用於該特定大小塊池的塊數。CNT列中的零表示記憶體現在已滿。
|
此表說明了輸出中的SIZE行show blocks
值。
規模
價值
|
說明
|
0
|
由dupb塊使用。
|
4
|
重複應用程式(如DNS、ISAKMP、URL過濾、uauth、TFTP和TCP模組)中的現有塊。此外,此大小塊通常可由代碼用來將資料包傳送到驅動程式,等等。
|
80
|
用於TCP攔截以生成確認資料包和用於故障切換hello消息。
|
256
|
用於有狀態故障切換更新、系統日誌記錄以及其他TCP功能。這些塊主要用於狀態故障切換消息。活動自適應安全裝置生成資料包並將其傳送到備用自適應安全裝置,以更新轉換和連線表。在突發流量中,高連線率被建立或斷開,可用塊數可能降為0。此情況表示一個或多個連線未更新到備用自適應安全裝置。有狀態故障切換協定將在下次捕獲丟失的轉換或連線。如果用於256位元組塊的CNT列在較長時間內保持等於或接近0,則自適應安全裝置會因為自適應安全裝置每秒處理的連線數而難以保持轉換和連線表的同步。從自適應安全裝置傳送的系統日誌消息也使用256位元組塊,但通常不會釋放如此大量的系統日誌消息,從而導致256位元組塊池耗盡。如果CNT列顯示256位元組的塊數接近0,請確保您未在Debugging(第7級)登入到系統日誌伺服器。自適應安全裝置配置中的日誌記錄陷阱行指示了這一點。我們建議您將logging設定為Notification(級別5)或更低級別,除非您出於調試目的而需要其他資訊。
|
1550
|
用於儲存通過自適應安全裝置處理的乙太網資料包。當資料包進入自適應安全裝置介面時,將其置於輸入介面隊列上,向上傳遞到作業系統,然後置於一個塊中。自適應安全裝置根據安全策略確定資料包必須被允許還是被拒絕,並處理資料包到出站介面上的輸出隊列。如果自適應安全裝置努力跟上流量負載,可用塊的數量可以懸停在接近0處(如命令輸出的CNT列所示)。 當CNT列為零時,自適應安全裝置會嘗試分配更多塊,最多為8192。如果沒有更多可用塊,自適應安全裝置將丟棄該資料包。
|
16384
|
僅用於64位66 MHz千兆乙太網卡(i82543)。 有關乙太網資料包的詳細資訊,請參閱1550的說明。
|
2048
|
用於控制更新的控制幀或引導幀。
|
顯示記憶體
該命令顯示ASA的總實體記憶體(或RAM)以及當前可用的位元組數。要使用此資訊,您必須首先瞭解ASA如何使用記憶體。當ASA啟動時,它會將OS從快閃記憶體複製到RAM中,並從RAM運行OS(與路由器一樣)。 接下來,ASA從快閃記憶體複製啟動配置並將其放入RAM中。最後,ASA分配RAM以建立一節中討論的塊池show blocks
。完成此分配後,僅當配置增大時,ASA才需要額外的RAM。此外,ASA將轉換和連線條目儲存在RAM中。
在正常操作期間,ASA上的可用記憶體必須變化很小(如果有的話)。通常,只有在您受到攻擊並且成千上萬個連線通過ASA時,您才必須運行記憶體不足的情況。要檢查連線,請發出show conn count
命令,該命令顯示通過ASA的當前和最大連線數。如果ASA記憶體不足,它最終會崩潰。在崩潰之前,您可以注意到系統日誌(%ASA-3-211001)中的記憶體分配失敗消息。
如果您因受到攻擊而耗盡記憶體,請聯絡思科技術支援團隊。
範例
Ciscoasa#
show memory
Free memory: 845044716 bytes (79%)
Used memory: 228697108 bytes (21%)
------------- ----------------
Total memory: 1073741824 bytes (100%)
顯示Xlate
該命令show xlate count
,顯示通過ASA的當前和最大轉換數。轉換是內部地址到外部地址的對映,可以是一對一對映,如網路地址轉換(NAT),也可以是多對一對映,如埠地址轉換(PAT)。 此命令是命令的子集show xlate
,它通過ASA輸出每個轉換。命令輸出顯示正在使用的轉換,這是指發出命令時ASA中的活動轉換數;最常用,是指自ASA通電以來,在ASA上見過的最大轉換數。
附註:一台主機可以有多個到不同目標的連線,但只能有一個轉換。如果xlate計數遠遠大於內部網路上的主機數量,則可能是您的內部主機之一遭到破壞。如果您的內部主機已受到危害,它會偽裝源地址並將資料包從ASA傳送出去。
附註:啟用vpnclient配置且內部主機發出DNS請求時,該命令show xlate
可列出用於靜態轉換的多個轉換。
範例
Ciscoasa#
show xlate count
84 in use, 218 most used
Ciscoasa(config)#show xlate
3 in use, 3 most used
Flags: D - DNS, d - dump, I - identity, i - inside, n - no random,
o - outside, r - portmap, s - static
TCP PAT from inside:10.1.1.15/1026 to outside:192.168.49.1/1024 flags ri
idle 62:33:57 timeout 0:00:30
UDP PAT from 10.1.1.15/1028 to outside:192.168.49.1/1024 flags ri
idle 62:33:57 timeout 0:00:30
ICMP PAT from inside:10.1.1.15/21505 to outside:192.168.49.1/0 flags ri
idle 62:33:57 timeout 0:00:30
第一個條目是內部網路主機埠(10.1.1.15, 1026)到外部網路主機埠(192.168.49.1, 1024)的TCP埠地址轉換。r標誌表示轉換是埠地址轉換。i旗標表示轉譯適用於內部位址連線埠。
第二個條目是內部網路上的主機埠(10.1.1.15、1028)到外部網路上的主機埠(192.168.49.1、1024)的UDP埠地址轉換。r標誌表示轉換是埠地址轉換。i旗標表示轉譯適用於內部位址連線埠。
第三個條目是內部網路中主機 — ICMP-id(10.1.1.15,21505)到外部網路上主機 — ICMP-id(192.168.49.1,0)的ICMP埠地址轉換。r標誌表示轉換是埠地址轉換。i旗標表示轉譯適用於內部位址 — ICMP-id。
在從更安全的介面向安全性較低的介面傳輸的資料包上,內部地址欄位顯示為源地址。反之,在從安全性較低的介面向安全性較高的介面傳輸的資料包上,它們顯示為目的地地址。
顯示連線計數
該命令show conn count
,顯示通過ASA的當前和最大連線數。連線是第4層資訊從內部地址到外部地址的對映。當ASA收到用於TCP會話的SYN資料包或UDP會話中的第一個資料包到達時,連線就會建立。當ASA收到最終的ACK資料包時,連線會斷開,當TCP會話握手關閉或UDP會話中的超時過期時,連線會斷開。
極高的連線計數(正常的50-100倍)可能表示您受到了攻擊。發出show memory
命令,以確保高連線計數不會導致ASA記憶體不足。如果您受到攻擊,可以限制每個靜態條目的最大連線數,還可以限制初始連線的最大數。此操作可保護您的內部伺服器,這樣它們就不會不堪重負。有關詳細資訊,請參閱使用CLI 8.4和8.6的Cisco ASA 5500系列配置指南。
範例
Ciscoasa#show conn count
2289 in use, 44729 most used
顯示介面
show interface命令可協助判斷雙工不相符問題和纜線問題。它還可以提供有關介面是否超載的進一步資訊。如果ASA耗盡CPU容量,則1550位元組塊的數量將接近0。(請檢視66 MHz Gig卡上的16384位元組塊。) 另一個指標是介面上沒有緩衝區增加。no buffers消息表示介面無法將資料包傳送到ASA OS,因為該資料包沒有可用塊,並且資料包被丟棄。如果定期不增加緩衝區級別,請發出show proc cpu
命令以檢查ASA上的CPU使用情況。如果CPU使用率因流量負載過重而較高,請升級到能夠處理負載的更強大的ASA。
當封包首次進入介面時,會將其放在輸入硬體佇列中。如果輸入硬體佇列已滿,封包會放在輸入軟體佇列中。封包會從其輸入佇列中傳遞並置於1550位元組的區塊中(或置於66 MHz千兆位乙太網路介面上的16384位元組區塊中)。 然後,ASA確定資料包的輸出介面,並將資料包放入相應的硬體隊列中。如果硬體佇列已滿,封包會放在輸出軟體佇列中。如果任一軟體隊列中的最大塊很大,則介面會溢位。例如,如果200 Mbps進入ASA並且所有流量都從單個100 Mbps介面中輸出,則輸出軟體隊列指示出站介面上的高數值,這表明介面無法處理流量。如果遇到這種情況,請升級至速度更快的介面。
範例
Ciscoasa#show interface
Interface GigabitEthernet0/1 "inside", is up, line protocol is up
Hardware is i82546GB rev03, BW 1000 Mbps, DLY 10 usec
Auto-Duplex(Full-duplex), Auto-Speed(100 Mbps)
Input flow control is unsupported, output flow control is unsupported
MAC address 0013.c480.b2b8, MTU 1500
IP address 192.168.17.4, subnet mask 255.255.255.0
311981 packets input, 20497296 bytes, 0 no buffer
Received 311981 broadcasts, 157 runts, 0 giants
379 input errors, 107 CRC, 273 frame, 0 overrun, 0 ignored, 0 abort
0 pause input, 0 resume input
0 L2 decode drops
121 packets output, 7744 bytes, 0 underruns
0 pause output, 0 resume output
0 output errors, 0 collisions, 1 interface resets
0 late collisions, 0 deferred
0 input reset drops, 0 output reset drops, 0 tx hangs
input queue (blocks free curr/low): hardware (255/249)
output queue (blocks free curr/low): hardware (255/254)
您還必須檢查介面是否存在錯誤。如果您收到殘餘訊息、輸入錯誤、CRC或訊框錯誤,則很可能是因為雙工不相符所致。電纜也可能有故障。如需雙工問題的詳細資訊,請參閱速度和雙工設定。請記住,每個錯誤計數器表示由於該特定錯誤而被丟棄的資料包數。如果您看到特定計數器定期增加,則您的ASA上的效能最有可能受到影響,並且您必須找到問題的根本原因。
當您檢查介面計數器時,請注意,如果介面設定為全雙工,您一定不會遇到任何衝突、延遲衝突或延遲封包。反之,如果介面設定為半雙工,您必須接收衝突、一些延遲衝突以及一些延遲封包。衝突、延遲衝突和延遲資料包的總數不能超過輸入和輸出資料包計數器總和的10%。如果衝突超過總流量的10%,則表示鏈路已過度使用,您必須升級到全雙工或較快的速度(10 Mbps到100 Mbps)。 請記住,10%的衝突意味著ASA丟棄通過該介面的資料包的10%;必須重新傳輸每個資料包。
有關介面計數器的詳細資訊,請參閱Cisco ASA 5500系列自適應安全裝置命令參考中的interface
命令。
顯示進程
ASA上的命令顯示執行命令時在ASA上運行的所有活動進程。在確定哪些進程接收了過多的CPU時間以及哪些進程未接收任何CPU時間時,此資訊非常有用。若要取得此資訊,請發出兩次show processes
命令;每個例項之間等待約1分鐘。對於有問題的流程,從第一個輸出中顯示的Runtime值減去第二個輸出中顯示的Runtime值。此結果顯示在該時間間隔內,進程接收到的CPU時間(以毫秒為單位)。請注意,某些進程被安排在特定間隔運行,而某些進程僅在需要處理資訊時才運行。577poll進程很可能在所有進程中具有最大的運行時值。這是正常的,因為577poll進程會輪詢乙太網介面,以便檢視它們是否有任何需要處理的資料。
附註:對每個ASA流程的檢查不在本文檔的討論範圍之內,但為了完整起見,本文檔中會簡要提到這些檢查。請參閱ASA 8.3及更高版本:監控和排除效能問題以瞭解有關ASA進程的詳細資訊。
命令摘要
總而言之show cpu usage
,請使用命令來確定ASA所承受的負載。請記住,輸出是運行平均值;asa的CPU使用率可以達到較高的峰值,且被運行平均值掩蓋。一旦ASA達到80%的CPU使用率,通過ASA的延遲會緩慢增加到約90%的CPU。當CPU使用率超過90%時,ASA開始丟棄資料包。
如果CPU使用率高,請使用show processes
命令來識別佔用大量CPU時間的進程。使用此資訊可縮短密集型進程(如日誌記錄)所消耗的一些時間。
如果CPU不運行熱,但您認為資料包仍被丟棄,請使用show interface
命令檢查ASA介面是否沒有緩衝區和衝突(可能由雙工不相符引起)。如果無緩衝區計數增加,但CPU使用率不低,則介面無法支援流經它的流量。
如果緩衝區正常,請檢查塊。如果show blocks
1550位元組塊(66 MHz Gig卡的16384位元組塊)輸出中的當前CNT列接近0,則ASA極有可能因為太繁忙而丟棄乙太網資料包。在這種情況下,CPU使用率會很高。
如果在通過ASA建立新連線時遇到問題,請使用show conn count
命令檢查通過ASA的當前連線數。
如果當前計數較高,請檢查show memory
,以確保ASA沒有耗盡記憶體。如果記憶體不足,請使用show conn
show local-host
命令調查連線來源,以驗證您的網路是否未遇到拒絕服務攻擊。
您可以使用其他命令來測量通過ASA的流量量。該命show traffic
令顯示每個介面的聚合資料包和位元組數show perfmon
,並將流量分解為ASA檢查的不同型別。
相關資訊