简介
本文档介绍虚拟接口的网络地址转换(NAT NVI)导致CPU使用率较高的场景。NAT NVI旨在允许虚拟路由转发(VRF)情景之间的NAT,但已被视为部署在非VRF场景中。
IP输入高CPU,带非VRF NAT NVI
在某些非VRF场景中,NAT NVI会导致进程交换,而由于IP输入进程和吞吐量降低,进程交换可能导致高CPU。当NAT NVI与接口过载或包含本地接口子网内IP地址的NAT池一起完成时,会看到进程交换。发生此情况时,show process cpu sorted命令显示由于IP输入进程而导致的高利用率。
Router#show process cpu sorted
CPU utilization for five seconds: 84%/37%; one minute: 30%; five minutes: 11%
PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
112 189988000 137290092 1383 45.91% 13.97% 4.05% 0 IP Input
show ip cef switching statistics功能显示由于发往我们的数据包而导致的流量大且增加:
Router#show ip cef switching statistics
Reason Drop Punt Punt2Host
RP LES Packet destined for us 0 1402039546 0
RP LES Total 0 1402039546 0
All Total 0 1402039546 0
解决方案
将NAT NVI替换为传统NAT(ip nat inside或ip nat outside),如下所示:
1.为动态和静态条目添加新的传统NAT语句。
(config)#ip nat inside source list 100 interface GigabitEthernet0/0 overload
2.根据NAT接口的需要,添加ip nat inside或ip nat outside。
(config)#interface gigabitethernet0/0
(config-if)#ip nat inside
(config)#interface gigabitethernet0/1
(config-if)#ip nat outside
3.从所有接口删除ip nat enable。
(config)#interface gigabitethernet0/0
(config-if)#no ip nat enable
(config)#interface gigabitethernet0/1
(config-if)#ip nat enable
4.删除动态和静态NAT NVI条目。这可能需要您使用“forced”关键字以删除当前使用的条目。
(config)#no ip nat source list 100 int gigabitEthernet 0 overload
注意:NAT NVI配置指南可在此处找供参考。