소개
이 문서에서는 NAT NVI(Network Address Translation for Virtual Interface)로 인해 CPU 사용률이 높아지는 시나리오를 설명합니다. NAT NVI는 VRF(Virtual Route Forwarding) 컨텍스트 간의 NAT를 허용하도록 설계되었지만 비 VRF 시나리오에서 구축된 것으로 확인되었습니다.
IP Input High CPU(비 VRF NAT NVI 포함)
일부 Non-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 기능은 Packet destinated to us:
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 내부 또는 외부 ip 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에 대한 컨피그레이션 가이드는 여기서 참조할 수 있습니다.