第一步,show process cpu 如显示IP input process is using a lot of CPU resources,检查以下情况:一、Fast switching在大流量的外出接口上是否被disabled.可以用 show interfaces switching 命令察看接口流量.然后在接口上重新 Re-enable fast switching .记住 fast switching是配置在output 接口.
二、Fast switching on the same interface是否被disabled. 如一个接口配有多个网段(secondary addresses )并且在这些网段间流量很大时 路由器工作在process-switches方式 .这种情况下要在接口上enable ip route-cache same-interface.
三、不能被fast switched的包有:switching cache没有entry的包、目的地是路由器的包、需要协议转换的包、做了policy routing的包、X.25 encapsulation的包、Multilink PPP、压缩和加密的包目的地是router的包.
举例:1.路由更新信息(取决于路由协议)过快的更新值显示网络不稳定并增加了CPU utilization. 可以用show ip route检查路由表2.其它人登录运行命令导致大量log输出3.Spoof 攻击.用show ip traffic 命令确认,可发现大量到本地的包.
第二步,用 show interfaces 和show interfaces switching命令识别大量包进出的端口;一旦你确认进入端口后,打开 ip accounting on the outgoing interface看其特征.如果是攻击,源地址会不断变化但是目的地址不变.可以用access list暂时解决此类问题 (最好在接近攻击源的设备上配置), 最终解决办法是停止攻击源。一.需policy routing的包.在 Cisco IOS version 11.3以前, policy-routed packets不能被 fast switched. IOS version 11.3 以后允许 policy-routed packets to be fast switched.使用接口命令ip route-cache policy。
二.通过X.25封装的包,因为有 flow control on the second Open System Interconnection (OSI) layer.7.Compressed traffic.如没有Compression Service Adapter (CSA) in the router, compressed packets must be process-switched.8.Encrypted traffic. 如没有 Encryption Service Adapter (ESA) in the router, encrypted packets must be process-switched.
三.大量的User Datagram Protocol (UDP) 流量. 可以用解决 spoof attack的步骤解决.
四.大量组播流穿越路由器。可以enable fast switching of multicast packets using the ip mroute-cache interface configuration command (fast switching of multicast packets is off by default).
五.大量广播包。 Check the number of broadcast packets in the show interfaces command output.
六.路由器被 over-used 不能处理amount of traffic, 可以用 load among other routers 或者 考虑另购买high-end router.
七.路由器配置了IP NAT (Network Address Translation)并且有很多 DNS (Domain Name System) 包穿越 router. UDP or TCP packets with source and/or destination port 53 (DNS) are always punted to process level by NAT.无论是什么原因导致high CPU utilization in the IP Input process, 都可以用 debugging IP packets察看.因为 CPU utilization已经较高, debugging产生的许多信息只能通过 logging buffered而不能 Logging to a console。 debugging过程不要超过 3-5秒。如果发现可疑的源可以断掉其设备的连接或者用ACL过滤到目的地的包。