简介
本文档介绍虚拟接口(NAT NVI)的网络地址转换导致CPU使用率较高的场景。NAT NVI旨在允许虚拟路由转发(VRF)情景之间的NAT,但已发现它部署在非VRF场景中。
使用非VRF NAT NVI的IP输入高CPU
在某些非VRF场景中,NAT NVI可能导致进程交换,而由于IP Input进程并降低吞吐量,进程交换可能导致cpu使用率较高。当NAT NVI与接口过载或包含本地接口子网内的IP地址的NAT池一起完成时,会看到进程交换。发生这种情况时,show process cpu sorted命令显示IP Input进程导致的高使用率。
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.将ip nat inside或ip nat outside添加到NAT接口。
(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的配置指南,请参阅此处。