PIX防火牆的基本排錯的命令,監測防火牆的性能

show cpu usage
PIX只有一個CPU來完成所有的工作,從處理包到向console寫debug信息。最消耗CPU資源的進程是加密,因此如果PIX要完成數據包的加密工作,最好使用加速卡或專用的*** Concentrator. 日誌功能是另外一個消耗大量系統資源的進程。因此,建議在正常情況下關閉PIX向console, monitor, buffer寫日誌的功能。本命令的結果:
FQNP-PIX525# show cpu usage
CPU utilization for 5 seconds = 9%; 1 minute: 11%; 5 minutes: 11%
show traffic
本命令可以看出在特定的時間內有多少流量流經PIX了。這個特定的時間是上次執行本命令到這次執行本命令的時間間隔。我們可以看到各個接口的數據流量情況。
FQNP-PIX525# show traffic
outside:
        received (in 3375.090 secs):
                12571107 packets        9083220867 bytes
                3724 pkts/sec   2691252 bytes/sec
        transmitted (in 3375.090 secs):
                11900820 packets        4447626498 bytes
                3526 pkts/sec   1317780 bytes/sec
      1 minute input rate 3531 pkts/sec,  2692424 bytes/sec
      1 minute output rate 3470 pkts/sec,  2300074 bytes/sec
      1 minute drop rate, 16 pkts/sec
      5 minute input rate 3578 pkts/sec,  2477149 bytes/sec
      5 minute output rate 3511 pkts/sec,  2231599 bytes/sec
      5 minute drop rate, 16 pkts/sec
inside:
        received (in 3375.090 secs):
                12171493 packets        4460399892 bytes
                3606 pkts/sec   1321564 bytes/sec
        transmitted (in 3375.090 secs):
                12552037 packets        9060692370 bytes
                3719 pkts/sec   2684578 bytes/sec
      1 minute input rate 3540 pkts/sec,  2303187 bytes/sec
      1 minute output rate 3523 pkts/sec,  2688049 bytes/sec
      1 minute drop rate, 72 pkts/sec
      5 minute input rate 3584 pkts/sec,  2234869 bytes/sec
      5 minute output rate 3571 pkts/sec,  2472410 bytes/sec
      5 minute drop rate, 76 pkts/sec
----------------------------------------
Aggregated Traffic on Physical Interface
----------------------------------------
Ethernet0:
        received (in 3376.240 secs):
                12566245 packets        9267841079 bytes
                3721 pkts/sec   2745018 bytes/sec
        transmitted (in 3376.240 secs):
                11892406 packets        4680294482 bytes
                3522 pkts/sec   1386244 bytes/sec
      1 minute input rate 3531 pkts/sec,  2745729 bytes/sec
      1 minute output rate 3470 pkts/sec,  2360047 bytes/sec
      1 minute drop rate, 0 pkts/sec
      5 minute input rate 3578 pkts/sec,  2532152 bytes/sec
      5 minute output rate 3511 pkts/sec,  2291610 bytes/sec
      5 minute drop rate, 0 pkts/sec
Ethernet1:
        received (in 3376.240 secs):
                12164328 packets        4671511909 bytes
                3602 pkts/sec   1383643 bytes/sec
        transmitted (in 3376.240 secs):
                12543910 packets        9251064606 bytes
                3715 pkts/sec   2740049 bytes/sec
      1 minute input rate 3558 pkts/sec,  2685333 bytes/sec
      1 minute output rate 3223 pkts/sec,  1893060 bytes/sec
      1 minute drop rate, 0 pkts/sec
      5 minute input rate 3584 pkts/sec,  2291873 bytes/sec
      5 minute output rate 3571 pkts/sec,  2531578 bytes/sec
      5 minute drop rate, 0 pkts/sec
show perfmon
這條命令監測PIX檢查的數據的流量和類型。它可以判斷出PIX上每秒所做的變換(xlates)和連接數(conn)。
FQNP-PIX525# show perfmon
PERFMON STATS:    Current      Average
Xlates              15/s         17/s
Connections         31/s         38/s
TCP Conns           15/s         18/s
UDP Conns            8/s         11/s
URL Access           0/s          0/s
URL Server Req       0/s          0/s
TCP Fixup            0/s         16/s
TCP Intercept        0/s          0/s
HTTP Fixup           0/s          0/s
FTP Fixup            0/s          0/s
AAA Authen           0/s          0/s
AAA Author           0/s          0/s
AAA Account          0/s          0/s
其中,較重要的有Xlates是每秒鐘產生變換的數字;Connections是建立的連接數;TCP Fixup是指PIX每秒鐘轉發了多少TCP包;TCPIntercept是指有每秒多少SYN包已經超出了開始的設定值;
show block
和show cpu usage在一起使用,可以判斷出PIX是否過載了。
當一個數據包進入防火牆的接口,會先排在input接口的隊列中,根據數據幀的大小,又被分到不同的block中。如對於以太網幀,使用1550字節的block。如果數據是從千兆口進來的,會使用16384字節的block。PIX然後會根據ASA算法決定是否讓包通過。如果PIX過載了,那相應的block會降到或接近0(看CNT這一列)。當該值降到0時,PIX會嘗試申請更多的block, 最多可到8192。如果沒有block可用,包會被丟棄。
256字節的block是stateful failover信息。主PIX向從PIX發送這些包以更新xlates和connection信息。如果某段時間有大量的連接建立和拆除,256字節的block可能會降到0,就是說從PIX可能沒有和主PIX同步。這個時間如果不長,是可以接受的,但如果長時間維持在0,需要考慮升級到更高速的PIX了。
另外,日誌信息也是通過256字節的block向外部送出的,注意通常不需要將日誌的級別設置成debug.
FQNP-PIX525# show blocks
  SIZE    MAX    LOW    CNT
     4    300    298    299
    80    100     88    100
   256   2612   2607   2612
  1550   6746   6153   6487
  2048    100    100    100
  2560     40     40     40
  4096     30     30     30
  8192     60     60     60
 16384    106    106    106
 65536     10     10     10

show memory
可以看出PIX的內存以及當前可用的內存。正常情況下,PIX的可用內存的變化幅度不應該太大。如果突然發現內存快用光了,要檢查是否用***發生。可以用show conn count命令看當前PIX中有多少連接,如果PIX內存耗盡,最終會crash.
FQNP-PIX525# show memory
Free memory:       188380248 bytes (70%)
Used memory:        80055208 bytes (30%)
-------------     ----------------
Total memory:      268435456 bytes (100%)

show xlate
顯示當前通過PIX的變換數和最多達到的變換數。一個變換是指一個內部地址變換成一個外部合法地址。一臺機器可能會與外部的多個目標建立連接,但這時只有一個變換。如果顯示的變換數遠大於內部的機器數,可能是受到了網絡***。
FQNP-PIX525# show xlate count
2334 in use, 2839 most used
show conn count
可以看當前的PIX的最大的連接數。一個connection是一個內部4層信息到外部地址的映射。當PIX收到一個SYN包,就建立一個connection. 過高connection數意味着受到了***,這時如果用show memory命令雖然連接數很高,但是並沒有消耗掉PIX過多的內存資源。
FQNP-PIX525# show conn count
2993 in use, 4375 most used
show interface
這條命令用來判斷雙工的匹配問題和電纜故障,也可以看出接口是否過載了。如果PIX的CPU資源耗盡了,那麼1550字節的block會接近0,如果是千兆口,16384字節的block接近0。另外一個信號是”no buffers”的值不斷增加,它表明接口接收包的速率太快,PIX來不及處理,也沒有足夠的block去承載,已經有丟包產生了。如果”no buffer”伴隨着CPU的使用率升高,說明該考慮升級到性能更強的防火牆了。
當數據包進入接口時,被放在input hardware queue中,如果該queue滿了,被放在input software queue中。包然後從input queue中被放到block中等待PIX OS的處理,PIX決定把包放到哪個出口,即哪個output hardware queue中,如果該queue滿了,就放到output software queue中;如果每個軟隊列中的max blocks都很大,就稱之爲”overrun”。常見的情況是入口和出口的數據傳輸速率不匹配,就會出現overrun,這時應該考慮升級接口了。
FQNP-PIX525# show interface
Interface Ethernet0 "outside", is up, line protocol is up
  Hardware is i82559, BW 100 Mbps
        Auto-Duplex(Full-duplex), Auto-Speed(100 Mbps)
        MAC address 001a.e2d8.adb3, MTU 1500
        IP address 218.66.15.178, subnet mask 255.255.255.0
        13788742 packets input, 9973483885 bytes, 0 no buffer
        Received 131804 broadcasts, 0 runts, 0 giants
        3 input errors, 0 CRC, 0 frame, 3 overrun, 0 ignored, 0 abort
        0 L2 decode drops
        13133331 packets output, 5564744954 bytes, 0 underruns
        0 output errors, 0 collisions, 0 interface resets
        0 babbles, 0 late collisions, 0 deferred
        0 lost carrier, 0 no carrier
        input queue (curr/max blocks): hardware (128/128) software (0/156)
        output queue (curr/max blocks): hardware (0/104) software (0/1)
  Traffic Statistics for "outside":
        13784224 packets input, 9771678766 bytes
        13134967 packets output, 5315979326 bytes
        77015 packets dropped
      1 minute input rate 2312 pkts/sec,  933952 bytes/sec
      1 minute output rate 2592 pkts/sec,  2162130 bytes/sec
      1 minute drop rate, 14 pkts/sec
      5 minute input rate 2936 pkts/sec,  1813493 bytes/sec
      5 minute output rate 2908 pkts/sec,  1928762 bytes/sec
      5 minute drop rate, 16 pkts/sec
Interface Ethernet1 "inside", is up, line protocol is up
  Hardware is i82559, BW 100 Mbps
        Auto-Duplex(Full-duplex), Auto-Speed(100 Mbps)
        MAC address 001a.e2d8.adb4, MTU 1500
        IP address 10.104.253.1, subnet mask 255.255.255.0
        13439787 packets input, 5557304987 bytes, 0 no buffer
        Received 1 broadcasts, 0 runts, 0 giants
        2 input errors, 0 CRC, 0 frame, 2 overrun, 0 ignored, 0 abort
        0 L2 decode drops
        13764815 packets output, 9957141298 bytes, 0 underruns
        0 output errors, 0 collisions, 0 interface resets
        0 babbles, 0 late collisions, 0 deferred
        0 lost carrier, 0 no carrier
        input queue (curr/max blocks): hardware (128/128) software (0/181)
        output queue (curr/max blocks): hardware (0/122) software (0/1)
  Traffic Statistics for "inside":
        13440059 packets input, 5330331738 bytes
        13765919 packets output, 9747967645 bytes
        308763 packets dropped
      1 minute input rate 2673 pkts/sec,  2165819 bytes/sec
      1 minute output rate 2309 pkts/sec,  931660 bytes/sec
      1 minute drop rate, 81 pkts/sec
      5 minute input rate 2986 pkts/sec,  1932310 bytes/sec
      5 minute output rate 2937 pkts/sec,  1809804 bytes/sec
      5 minute drop rate, 79 pkts/sec

如果是runts, input errors, CRCs或frame errors在增加,可能是雙工方式不匹配造成的或電纜故障。
show process
顯示當前PIX中的活動的進程有什麼。這樣就可以看出什麼進程使用了過多的CPU資源,什麼進程沒能使用CPU資源。爲了得到這個信息,我們連續兩次執行show process命令,間隔1分鐘。對有所懷疑的進程,兩次的Runtime值相減,時間差(單位是毫秒)就是該進程一分鐘所佔用的CPU資源。557poll進程通常是佔用時間最多的進程,它負責詢問以太接口看是否有包需要處理。
 
FQNP-PIX525# show local-host
Interface inside: 96 active, 109 maximum active, 0 denied
總結
我們用show cpu usage命令看PIX的負載情況。一般來說,CPU達到80%時,性能會受到影響;超過90%時,會有丟包的情況發生。這個時候,我們可以通過命令show process來看看什麼進程在消耗CPU資源,查出該進程後找相應的辦法處理。如果CPU的使用率並不高,但是還是覺得有丟包的情況發生,用show interface命令檢查是否有錯包出現,即是否有雙工匹配問題或電纜問題;如果是”no buffer”增加,同時CPU使用率並不高,說明接口的能力不能滿足流量的需求;如果buffer狀況很好,檢查block, 如果1550字節或16384字節的block接近0了,說明PIX由於太忙開始丟包了,這時CPU也會很高。
如果發現在PIX建立新的連接很困難,用命令show conn count檢查當前的連接數:如果很高了,用show memory命令看看內存的狀況,如果內存很少了,用show conn命令或show local-host命令查一下連接數如此多的原因,很可能是遭遇DoS***了。
另外,show traffic命令顯示每個接口處理的包數和字節數;show perfmon命令進一步將traffic分成不同的類型。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章