소개
이 문서에서는 NAT NVI(Network Address Translation for Virtual Interface)로 인해 CPU 사용률이 높은 시나리오를 설명합니다.NAT NVI는 VRF(Virtual Route Forwarding) 컨텍스트 간에 NAT를 허용하도록 설계되었지만, 비 VRF 시나리오에서 구축되었습니다.
비 VRF NAT NVI를 사용하는 IP 입력 높은 CPU
이러한 비 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 외부를 적절하게 추가합니다.
(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에 대한 컨피그레이션 가이드는 여기서 참조할 수 있습니다.