Resolver Problemas de NAT
Resolver Problemas de NAT

Resolver Problemas de NAT

Problemas de NAT
  • Resolución con caso de estudio - 10/10
    10/10

Se explica la resolución de problemas relacionados con NAT mediante los comandos show y debug. Además de un caso de estudio.

¡Bienvenido a CCNA desde Cero!: Este tema forma parte del Capítulo 9 del curso de Cisco CCNA 2, para un mejor seguimiento del curso puede ir a la sección CCNA 2 para guiarse del índice. También forma parte del Capítulo 5 del curso de Cisco CCNA 4

1. Los comandos show ip nat

En la Imagen 1, se muestra el R2 habilitado para PAT, que usa el rango de direcciones de 209.165.200.226 a 209.165.200.240.

resolución de problemas NAT
Imagen 1

Cuando hay problemas de conectividad IPv4 en un entorno NAT, suele ser difícil determinar la causa del problema. El primer paso para resolverlo es descartar que la causa sea NAT. Siga estos pasos para verificar que NAT funcione como se espera:

  • Paso 1: En función de la configuración, defina claramente lo que debe lograr la NAT. Esto puede revelar un problema con la configuración.
  • Paso 2: Verifique que las traducciones de la tabla sean correctas con el comando show ip nat translations.
  • Paso 3: Utilice los comandos clear y debugpara verificar que NAT funcione como se espera. Verifique si se vuelven a crear las entradas dinámicas después de borrarlas.
  • Paso 4: Revise en detalle lo que sucede con el paquete y verifique que los routers tengan la información de routing correcta para trasladar el paquete.

1.1. Ejemplo de uso

A continuación, se muestra el resultado de los comandos show ip nat statistics y show ip nat translations. Antes de utilizar los comandos show, se eliminan las estadísticas y entradas de NAT de la tabla de NAT con los comandos clear ip nat statistics y clear ip nat translation *. Una vez que el host en 192.168.10.10 accede mediante Telnet al servidor en 209.165.201.1, se muestran las estadísticas de NAT y la tabla de NAT para verificar que NAT funcione como se espera.

R2# clear ip nat statistics 
R2# clear ip nat translation * 
R2# 
El host 192.168.10.10 accede al servidor en 209.165.201.1 
mediante telnet
R2# show ip nat statistics 
Total active translations: 1 (0 static, 1 dynamic; 1 extended) 
Peak translations: 1, occurred 00:00:09 ago 
Outside interfaces: 
Serial0/0/1 
Inside interfaces: 
Serial0/0/0 
Hits: 31 Misses: 0 
CEF Translated packets: 31, CEF Punted packets: 0 
Expired translations: 0 
Dynamic mappings: 
-- Inside Source 
[Id: 5] access-list 1 pool NAT-POOL2 refcount 1 
pool NAT-POOL2: netmask 255.255.255.224 
start 209.165.200.226 end 209.165.200.240 
type generic, total addresses 15, allocated 1 (6%), misses 0
<se omitió el resultado>
R2# show ip nat translations
Pro Inside global          Inside local         Outside local     Outside global 
tcp 209.165.200.226:19005  192.168.10.10:19005  209.165.201.1:23  209.165.201.1:23 
R2#

En un entorno de red simple, es útil controlar las estadísticas de NAT con el comando show ip nat statistics. El comando show ip nat statistics muestra información sobre la cantidad total de traducciones activas, los parámetros de configuración NAT, la cantidad de direcciones en el conjunto y la cantidad que se asignó. Sin embargo, en un entorno NAT más complejo, con varias traducciones en curso, es posible que este comando no identifique el problema de forma clara. Es posible que se deban ejecutar los comandos debug en el router.


2. El comando debug ip nat

Para verificar el funcionamiento de la característica de NAT, utilice el comando debug ip nat, que muestra información sobre cada paquete que traduce el router. El comando debug ip nat detailed genera una descripción de cada paquete que se tiene en cuenta para traducir. Este comando también proporciona información sobre determinados errores o condiciones de excepción, como la falla para asignar una dirección global. El comando debug ip nat detailed genera más sobrecarga que el comando debug ip nat, pero puede proporcionar el detalle necesario para resolver el problema de NAT. Desactive siempre la depuración al finalizar.

A continuación, se muestra un resultado de ejemplo de debug ip nat. Este resultado muestra que el host interno (192.168.10.10) inició el tráfico hacia el host externo (209.165.201.1) y que la dirección de origen se tradujo a la dirección 209.165.200.226.

R2# debug ip nat
IP NAT debugging is on
R2#
*Feb 15 20:01:311.670: NAT*: s=192.168.10.10->209.165.200.226, d=209.165.201.1 [2817]
*Feb 15 20:01:311.682: NAT*: s=209.165.201.1, d=209.165.200.226->192.168.10.10 [4180]
*Feb 15 20:01:311.698: NAT*: s=192.168.10.10->209.165.200.226, d=209.165.201.1 [2818]
*Feb 15 20:01:311.702: NAT*: s=192.168.10.10->209.165.200.226, d=209.165.201.1 [2819]
*Feb 15 20:01:311.710: NAT*: s=192.168.10.10->209.165.200.226, d=209.165.201.1 [2820]
*Feb 15 20:01:311.710: NAT*: s=209.165.201.1, d=209.165.200.226->;192.168.10.10 [4181]
*Feb 15 20:01:311.722: NAT*: s=209.165.201.1, d=209.165.200.226->192.168.10.10 [4182]
*Feb 15 20:01:311.726: NAT*: s=192.168.10.10->209.165.200.226, d=209.165.201.1 [2821]
*Feb 15 20:01:311.730: NAT*: s=209.165.201.1, d=209.165.200.226->192.168.10.10 [4183]
*Feb 15 20:01:311.734: NAT*: s=192.168.10.10->209.165.200.226, d=209.165.201.1 [2822]
*Feb 15 20:01:311.734: NAT*: s=209.165.201.1, d=209.165.200.226->192.168.10.10 [4184]
<se omitió el resultado>

Cuando decodifique el resultado de este comando, observe los significados de los siguientes símbolos y valores:

  • * (asterisco): el asterisco junto a NAT indica que la traducción se realiza en la ruta de switching rápido. Al primer paquete en una conversación siempre se aplica el switching de procesos, que es más lento. Si existe una entrada de caché, el resto de los paquetes atraviesan la ruta de switching rápido.
  • s= – Este símbolo hace referencia a la dirección IPv4 de origen.
  • a.b.c.d—>w.x.y.z: este valor indica que la dirección de origen a.b.c.d se traduce a w.x.y.z.
  • d= – Este símbolo hace referencia a la dirección IPv4 de destino.
  • [xxxx] – El valor entre corchetes es el número de identificación IPv4. Esta información puede ser útil para la depuración, ya que habilita la correlación con otros seguimientos de paquetes realizados por los analizadores de protocolos.

3. Situación de resolución de problemas en NAT

En la Imagen 2, se muestra que los hosts de las LAN 192.168.0.0/16, la PC1 y la PC2, no pueden hacer ping a los servidores en la red externa, el Svr1 y el Svr2.

Caso estudio resolución de problemas en NAT
Imagen 2: Caso estudio resolución de problemas en NAT

Para iniciar la resolución de problemas, utilice el comando show ip nat translations a fin de verificar si actualmente hay alguna traducción en la tabla de NAT. El resultado siguiente muestra que no hay traducciones en la tabla.

R2# show ip nat translations
R2#

El comando show ip nat statistics se utiliza para determinar si se realizaron traducciones. También identifica las interfaces entre las que debe ocurrir la traducción. Como se muestra a continuación, los contadores de NAT están en 0, lo que verifica que no se realizó ninguna traducción. Al comparar el resultado con la topología de la Imagen 1, observe que las interfaces del router están definidas de forma incorrecta como NAT interna o NAT externa. También es posible verificar una configuración incorrecta con el comando show running-config.

R2# show ip nat statistics
Total active translations: 0 (0 static, 0 dynamic; 0 extended)
Peak translations: 0
Outside interfaces:
 Serial0/0/0
Inside interfaces: 
 Serial0/1/0
Hits: 0 Misses: 0

R2(config)# interface serial 0/0/0
R2(config-if)# no ip nat outside
R2(config-if)# ip nat inside
R2(config-if)# exit
R2(config)# interface serial 0/0/1
R2(config-if)# no ip nat inside 
R2(config-if)# ip nat outside

Se debe eliminar la configuración NAT actual de las interfaces antes de aplicar la configuración correcta.

3.1. Corrección del problema

Luego de definir correctamente las interfaces NAT interna y externa, otro ping de la PC1 al Svr1 falla. El uso de los comandos show ip nat translations y show ip nat statistics nuevamente verifica que no hay traducciones en curso.

Como se muestra en seguida, el comando show access-lists se utiliza para determinar si la ACL a la que hace referencia el comando NAT permite todas las redes necesarias. Al examinar el resultado, se comprueba que se utilizó una máscara de bits wildcard incorrecta en la ACL que define las direcciones que se deben traducir. La máscara wildcard solo permite la subred 192.168.0.0/24. Primero se elimina la lista de acceso y después se reconfigura con la máscara wildcard correcta.

R2# show access-lists
Standard IP access list 1
 10 permit 192.168.0.0, wildcard bits 0.0.0.255
R2#

R2(config)# no access-list 1
R2(config)# access-list 1 permit 192.168.0.0 0.0.255.255

Una vez corregidas las configuraciones, se genera otro ping de la PC1 al Svr1, y esta vez el ping es correcto. Como se muestra en el siguiente resultado, los comandos show ip nat translations show ip nat statistics se utilizan para verificar que se produzca la traducción NAT.

R2# show ip nat statistics
Total active translations: 1 (0 static, 1 dynamic; 1 extended)
Peak translations: 1, occurred 00:37:58 ago
Outside interfaces:
 Serial0/0/1
Inside interfaces: 
 Serial0/1/0
Hits: 20 Misses: 0
CEF Translated packets: 20, CEF Punted packets: 0
Expired translations: 1
Dynamic mappings:
-- Inside Source
[Id: 5] access-list 1 pool NAT-POOL2 refcount 1
 pool NAT-POOL2: netmask 255.255.255.224
start 209.165.200.226 end 209.165.200.240
type generic, total addresses 15, allocated 1 (6%), misses 0
 <se omitió el resultado> 
R2# show ip nat translations 
Pro  Inside global      Inside local     Outside local    Outside global
icmp 209.165.200.226:38 192.168.10.10:38 209.165.201.1:38 209.165.201.1:38
R2#