Introduzione
In questo documento viene descritto uno scenario in cui Network Address Translation for Virtual Interface (NAT NVI) causa un elevato utilizzo della CPU. NAT NVI è stato progettato per consentire NAT tra contesti VRF (Virtual Route Forwarding), ma è stato rilevato che è stato implementato in scenari non VRF.
Input IP CPU ad alta velocità con NAT NVI non VRF
In alcuni di questi scenari non VRF, la NAT NVI può causare la commutazione del processo che può portare a una CPU elevata a causa del processo di input IP e a una velocità effettiva ridotta. La commutazione di contesto si verifica quando NAT NVI viene eseguito insieme al sovraccarico dell'interfaccia o al pool NAT contenente gli indirizzi IP presenti nella subnet di un'interfaccia locale. In questo caso, il comando show process cpu sorted mostra l'utilizzo elevato dovuto al processo 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
la funzione show ip cef switching statistics mostra un numero elevato e maggiore di punt dovute a Packet destinato a noi:
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
Soluzione
Sostituire NAT NVI con NAT legacy (ip nat interno o ip nat esterno) come mostrato di seguito:
1. Aggiungere le nuove istruzioni NAT legacy per le voci dinamiche e statiche.
(config)#ip nat inside source list 100 interface GigabitEthernet0/0 overload
2. Aggiungere ip nat all'interno o ip nat all'esterno in base alle interfacce NAT.
(config)#interface gigabitethernet0/0
(config-if)#ip nat inside
(config)#interface gigabitethernet0/1
(config-if)#ip nat outside
3. Rimuovere l'abilitazione ip nat da tutte le interfacce.
(config)#interface gigabitethernet0/0
(config-if)#no ip nat enable
(config)#interface gigabitethernet0/1
(config-if)#ip nat enable
4. Rimuovere le voci NAT NVI dinamiche e statiche. Potrebbe essere necessario utilizzare la parola chiave "forced" (forzata) per rimuovere le voci attualmente in uso.
(config)#no ip nat source list 100 int gigabitEthernet 0 overload
Nota: La guida alla configurazione di NAT NVI è disponibile qui per riferimento.