关于路由器CPU利用率过高的解决办法
2020-07-24 12:02:34
供稿:网友
第一步,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过滤到目的地的包。