解決cisco路由器cpu佔用率100%問題

一、檢查路由器的利用率網絡

  router#show process cpu
  看到cpu利用率99%,檢查是那一項佔用率最高,通常IP Input比較高,說明是輸入數據包過多。
   二、判斷出故障端口所在
  router#show interface fastethernet x/y
  看一下端口的數據量,輸入輸出的包數,輸入輸出的錯誤數,輸入隊列中被drop掉的包數等,分析一下是否有異常。
  例如:
Input queue: 0/75/223681684/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue :0/40 (size/max)
5 minute input rate 444000 bits/sec, 183 packets/sec
5 minute output rate 708000 bits/sec, 139 packets/sec
43289439 packets input, 4150615869 bytes
Received 9225 broadcasts, 0 runts, 0 giants, 0 throttles
3645805 input errors, 0 CRC, 0 frame, 3645805 overrun, 0 ignored
  固然,最快的方法,是排除法,把端口逐個斷開,觀察cpu利用率,很快就能找出故障的端口。或者進一步用排除發找出網絡分支上的故障點。
   三、判斷故障緣由
  原理上,是在路由器上建立一個permit ip any any的access-list(訪問列表),而後,把這個acl應用到故障端口上,打開ip包的debug,分析故障緣由。例子以下:
  3.1建立一個access-list ,容許ip包經過
  route(config)# access-list 120 permit ip any any
  3.2把此acl應用的故障端口上
  route((config-if)#ip access-group 120 in
  這樣作的目的是由於,下面要打開debug,就是要根據這個acl,來抓經過這個端口的包。
  3.3打開debug進行抓包
  route#debug ip packet 120
  debug應該在console上進行
  3.4中止debug
  route#no debug all
  注意debug可能會把路由器衝死,因此應該儘快中止。
  3.5分析抓到的包
  抓到的包,能夠分析出原地址,目的地址,源端口,目的端口,用於判斷故障的根源。
  固然,有時遇到***軟件,會用IP欺騙的方式進行***,例以下面看到的抓包信息
2:54:56: IP: s=180.93.127.229 (FastEthernet0/0), d=193.151.73.76 (FastEthernet0
1), g=211.138.74.97, len 40, forward
2:54:56: TCP src=1232, dst=80, seq=1632305152, ack=0, win=16384 SYN
2:54:56: IP: s=180.93.128.205 (FastEthernet0/0), d=193.151.73.76 (FastEthernet0
1), g=211.138.74.97, len 40, forward
2:54:56: TCP src=1839, dst=80, seq=1144193024, ack=0, win=16384 SYN
2:54:56: IP: s=180.93.129.212 (FastEthernet0/0), d=193.151.73.76 (FastEthernet0
1), g=211.138.74.97, len 40, forward
2:54:56: TCP src=1116, dst=80, seq=1918435328, ack=0, win=16384 SYN
2:54:56: IP: s=180.93.130.223 (FastEthernet0/0), d=193.151.73.76 (FastEthernet0
1), g=211.138.74.97, len 40, forward
2:54:56: TCP src=1302, dst=80, seq=1559429120, ack=0, win=16384 SYN
  上面這個例子能夠看出,***行爲用虛擬源地址180.x.x.x想目的地址192.151.73.76發包,這些包都被髮到了網關,也就是路由器的FastEthernet0/0。
   四、解決方法
  首先,固然應該先找到罪魁禍首,若是在路由器上debug不是很清晰能找出故障源,就用sniffer或者ethereal這樣的抓包工具找出那臺機器。
  另外,在路由器上,也能夠針對***的特性,作訪問列表,關閉相關的端口。
  下面是在路由器上一個典型的acl
! --- 禁止ICMP協議
access-list 115 deny icmp any any echo
access-list 115 deny icmp any any echo-reply
! --- 禁止衝擊波135端口的數據包.
access-list 115 deny tcp any any eq 135
access-list 115 deny udp any any eq 135
access-list 115 deny udp any any eq 4444
! --- 禁止TFTP應用的端口的數據包
access-list 115 deny udp any any eq 69
! --- 禁止其餘微軟的有漏洞的協議端口.
access-list 115 deny udp any any eq 137
access-list115denyudpanyanyeq138
access-list115denytcpanyanyeq139
access-list115denyudpanyanyeq139
access-list115denytcpanyanyeq445
access-list115denytcpanyanyeq593
! --- 容許其餘的IP包經過路由器端口.
access-list 115 permit ip any any
! --- 把以上的訪問列表應用的端口上.
interface
ip access-group 115 in
ip access-group 115 out
相關文章
相關標籤/搜索