Inicio Tutorial: NAT estático, NAT dinámico y PAT en Packet Tracer
Artículo
Cancelar

Tutorial: NAT estático, NAT dinámico y PAT en Packet Tracer

Objetivos

  • Controlar el acceso a redes privadas desde Internet.
  • Hacer uso de un proveedor de acceso a Internet (ISP) para que los equipos de una red privada accedan a la Nube (Internet).
  • Configurar en el router de Borde de un Sistema Autónomo al proceso NAT estático, NAT dinámico y NAT dinámico con sobrecarga (PAT).

Parte 1: Preparación de la topología base

Paso

Implementar ahí la siguiente topología:

img-description Topología base

En esta práctica se usan subredes VLSM explicadas en el artículo VLSM. Este tipo de subredes pueden tener máscaras de red diferentes unas de otras.

Los comandos en el CLI de los nodos de red se pueden acortar. Por ejemplo, el comando configure terminal es el mismo que configure ter y que configure t.

Paso

Proceda a realizar la configuración de cada router indicada a continuación.

Configuración para Empresa1:

1
2
3
4
5
6
7
8
9
10
Router#configure terminal
Router(config)#hostname Empresa1
Empresa1(config)#interface f0/0
Empresa1(config-if)#ip address 192.168.1.1 255.255.255.0
Empresa1(config-if)#no shutdown
Empresa1(config-if)#exit
Empresa1(config)#interface s0/0
Empresa1(config-if)#ip address 168.243.3.130 255.255.255.252
Empresa1(config-if}#no shutdown
Empresa1{config-if)#exit

Configuración para Empresa2:

1
2
3
4
5
6
7
8
9
10
11
Router#configure terminal
Router(config)#hostname Empresa2
Empresa2(config)#interface f0/0
Empresa2(config-if)#ip address 172.18.0.65 255.255.255.192
Empresa2(config-if)#no shutdown
Empresa2(config-if)#exit
Empresa2(config)#interface s0/0
Empresa2(config-if)#ip address 168.243.3.134 255.255.255.252
Empresa2(config-if)#no shutdown
Empresa2(config-if)#exit
Empresa2#copy running-config startup-config

Configuración para ISP:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Router#configure terminal
Router(config)#hostname ISP
ISP(config)#interface f0/0
ISP(config-if)#ip address 10.0.0.1 255.255.255.0
ISP(config-if)#no shutdown
ISP(config-if)#exit
ISP(config)#interface s0/0
ISP(config-if)#ip address 168.243.3.129 255.255.255.252
ISP(config-if)#clock rate 9600
ISP(config-if)#no shutdown
ISP(config if)#exit
ISP(config)#interface s0/1
ISP(config-if)#ip address 168.243.3.133 255.255.255.252
ISP(config-if)#clock rate 9600
ISP(config-if)#no shutdown
ISP(config-if)#exit
ISP#copy running-config startup-config

Paso

Configure las estaciones de trabajo y los servidores con el siguiente direccionamiento IP:

 Dirección IPMáscara de subredGateway
PC11192.168.1.2255.255.255.0192.168.1.1
FTPserver172.18.0.66255.255.255.192172.18.0.65
WebServer10.0.0.2255.255.255.010.0.0.1

Paso

Comprobación de direccionamiento IP

  • Visualice la tabla de enrutamiento de los enrutadores Empresa1 y Empresa2, ejecutando el comando show ip route.
  • Verificar la tabla de enrutamiento del enrutador ISP. Observe que debido al carácter de redes privadas que tienen las redes de sus 2 clientes (Empresa1 y Empresa2), la red 192.168.1.0/24 y el conjunto de redes 172.18.0.0/20 no deben aparecer en la tabla de ISP.

Paso

Realizar las siguientes pruebas con el comando ping (usando el Command Prompt del Desktop de cada PC) desde las estaciones de trabajo y el web server.

Se anotan a continuación de cada prueba el resultado que debería obtenerse, compárelo con sus propios resultados:

Ping desdehaciaresultado
PC11192.168.1.1prueba exitosa ✅
FTPserver172.18.0.65prueba exitosa ✅
PC1110.0.0.2host de destino inaccesible ❌
FTPserver10.0.0.2host de destino inaccesible ❌
WebServer10.0.0.1prueba exitosa ✅
WebServer168.243.3.129prueba exitosa ✅
WebServer168.243.3.133prueba exitosa ✅
WebServer192.168.1.2host de destino inaccesible ❌
WebServer192.168.2.2host de destino inaccesible ❌

Nuevamente se hace la aclaración. Los fallos al realizar las pruebas ping entre las estaciones de trabajo y el servidor, y viceversa, son un comportamiento normal, ya que el enrutador ISP desconoce la existencia de las redes locales privadas de Empresa1 y Empresa2. La comunicación entre estas redes se logrará usando NAT o PAT.

Parte 2: Configuración de NAT estático en enrutador Empresa1

Paso

Asignación de una red IP pública para realizar el proceso de traducción. Las direcciones de carácter público (globales) para su cliente 1 (Empresa1) que configurara el proveedor en su equipo ISP serán las IP host contenidas en la red: 199.6.13.8/29.

Estas IP globales serán configuradas en los siguientes pasos.

Paso

Proceda a crear en ISP a la siguiente ruta estática, dirigida al rango de ip público asignado para Empresa1 (ver paso anterior) y referenciando a la ip del próximo paso (La ip 168.243.3.130, configurada en la interfaz de conexión con su cliente Empresa1).

1
ISP(config)# ip route 199.6.13.8 255.255.255.248 168.243.3.130

Paso

Configure una ruta estática por defecto en el enrutador Empresa1:

1
Empresa1(config)#ip route 0.0.0.0 0.0.0.0 serial 0/0

Este comando crea una entrada en la tabla de enrutamiento del enrutador Empresa1. Este comando define la puerta de enlace predeterminada de el enrutador Empresa1, es decir, TODOS los mensajes que vayan a una dirección IP destino que no conozca los enviará por la interfaz serial 0/0. Un enrutador SOLO conoce las redes a las que está directamente conectado, es decir, las que aparecen con letra C en la tabla de enrutamiento cuando ejecutamos el comando show ip route.

Paso

Ejecute el siguiente código para configurar NAT estático en Empresa1, que permitirá que la dirección privada de PC11 se traduzca a la primera IP global (199.6.13.9) del rango asignado por ISP para este Cliente 1 (Empresa1). Además, se definen aquí a las interfaces de entrada y de salida para el proceso de traducción NAT:

1
2
3
4
5
6
7
8
9
Empresa1#configure terminal
Empresa1(config)#ip nat inside source static 192.168.1.2 199.6.13.9
Empresa1(config)#interface f0/0
Empresa1(config-if)#ip nat inside
Empresa1(config-if)#exit
Empresa1(config)#interface s0/0
Empresa1(config-if)#ip nat outside
Empresa1(config-if)#exit
Empresa1(config)#do write

Con los comandos anteriores se logra que cada vez que un paquete de la ip local de host PC1 llegue a la interface f0/0 de Empresa1, y este necesite ser enviado a redes externas (por medio de la s0/0), se traducirá su dirección privada a la ip pública 199.6.13.9.

Paso

Pruebas de conectividad.

Realizar las siguientes pruebas y evaluar sus resultados.

Ping desdehaciaresultado
PC11dirección del WebServer (10.0.0.2)prueba exitosa ✅
WebServerip privada de PC1 (192.168.1.2)host de destino inaccesible ❌
WebServerip publica asignada a PC1 (199.6.13.9)prueba exitosa ✅

Tal como se ve en las pruebas anteriores, con el uso de NAT ya no es posible hacer ping directamente a direcciones locales (este es uno de los objetivos de la práctica), por lo que, si desea acceder a la PC11 desde Internet, deberá hacer referencia a su dirección pública asignada con NAT.

Paso

Finalmente, desde el enrutador Empresa1, revise el estado de la traducción de direcciones IPs privadas publicas, ejecutando el comando:

1
Empresa1#show ip nat translations

Parte 3: Configuración de traducciones dinámicas en enrutador Empresa1

Paso

Desconecte a PC11 de Empresa1. En su lugar, agregue un Hub a la red local del Cliente1 y conecte uno de sus puertos a la Fa0/0 de Empresa1. Conecte a PC11 a uno de los puertos libres del Hub. Agregue una nueva PC (llamada PC12) a la red del Cliente1 y configure la siguiente dirección IP: 192.168.1.3/24. Luego conectarlo al HUB, para expandir así a la red local de Empresa1.

Paso

Desde el nuevo host, repita las pruebas de conectividad del último paso de la parte anterior de este procedimiento.

Notará que aun es imposible acceder a redes externas desde otra dirección local que no sea la IP 192.168.1.2.

Paso

Si se mantiene este esquema de traducción estática de direcciones, se haría necesario crear una traducción para cada dirección privada de manera manual e individual.

Para solventar esta situación, activaremos una traducción basada en un grupo de direcciones públicas (pool), que serán asignadas dinámicamente por orden de llegada con respecto a las direcciones privadas.

Paso

Elimine las traducciones desarrolladas por NAT y luego vuelva a ver los procesos de traducción de IPs:

1
2
3
4
Empresa1#clear ip nat translation *
Empresa1#show ip nat translations
Pro  Inside global     Inside local       Outside local      Outside global
---  199.6.13.9        192.168.1.2        ---                ---

El comando clear ip nat translation * elimina el contenido actual de la tabla de traducción NAT. Al ejecutar el comando show de la última línea podrá verificar que la traducción anterior aun existe, porque esta traducción ha sido definida de manera estática.

Paso

Cree el siguiente pool1 (grupo1), que reservara las próximas 2 de las direcciones públicas disponibles para usarlas en un futuro proceso NAT dinámico:

1
2
3
Empresa1#configure terminal
Empresa1(config)#ip nat pool grupo1 199.6.13.10 199.6.13.11 netmask 255.255.255.248
Empresa1(config)#do write

Paso

Crear la lista de acceso estándar 1 a continuación, que permite comparar las direcciones de origen (privadas), para decidir si luego estas serán traducidas a direcciones públicas (globales). En esta demostración, incluiremos en el derecho a ser traducidas a todas las direcciones IP de la red 192.168.1.0/24.

1
2
Empresa1#configure terminal
Empresa1(config)#access-list 1 permit 192.168.1.0 0.0.0.255

En el comando access-list usamos máscaras de red inversas que se obtienen cambiando los unos por ceros y viceversa.

Paso

La lista de acceso anterior NO SE DEBE APLICAR a ninguna interface del router. Recuerde que esta ACL 1 se usa solo para efectos de comparar el origen de los paquetes y tomar la decisión sobre la traducción. No se usa la lista de acceso para afectar al tráfico entrante o saliente en las interfaces involucradas en la traducción.

Paso

Ahora se configurará la traducción dinámica con base en el pool y la lista de acceso creada previamente.

1
Empresa1(config)#ip nat inside source list 1 pool grupo1

No es necesario volver a definir el sentido de la traducción (inside/outside), ya que si recuerda eso ya se ha configurado en la traducción estática y no debe cambiarse (f0/0 inside; s0/0 outside).

Paso

Haga una prueba con el comando ping desde PC12 hacia la ip 10.0.0.2. En este caso la traducción se llevará a cabo correctamente y se obtendrá una respuesta exitosa. Revise de nuevo el estado de las traducciones usando el comando:

1
Empresa1#show ip nat translation

Paso

Veamos que sucede cuando las traducciones requeridas exceden el número de direcciones públicas que comprenden el pool. Hacer los siguientes cambios en la red local de Empresa1:

  • Expanda la red, agregando 3 PCs más. Asignarles las direcciones IP 192.168.1.4, 192.168.1.5 y 192.168.1.6, respectivamente.
  • Desde host 192.168.1.4, haga ping a la ip 10.0.0.2.
  • Desde host 192.168.1.5, haga ping a la ip 10.0.0.2.
  • Revise las traducciones nat en Empresa1. Notará que por cada ip privada de los host anteriores, se crea un a nueva traducción para acceder a redes externas.
  • Desde el host con ip 192.168.1.6; haga ping a: 10.0.0.2. En este último caso podrá notar que el comando ping no tiene éxito. Esto se debe a que el pool de direcciones públicas (de 199.6.13.10 hasta 199.6.13.11) se ha agotado.
  • Espere unos 10 segundos, para intentar nuevamente la comunicación desde el host 192.168.1.6 hacia la ip 10.0.0.2. La prueba deberá ser exitosa, debido a que el router Empresa1 retiro la asignación de la ip publica a uno de los primeros host que accedieron a Internet y que ya no la volvieron a utilizar.

Paso

Limpie las traducciones nat en Empresa1 con el comando siguiente:

1
Empresa1#clear ip nat translation *

Paso

Ejecute nuevamente el comando ping desde la PC que dio resultado no exitoso en el paso anterior. Ahora si se tendrá éxito. Revise el estado de las traducciones, para confirmar que las anteriores fueron eliminadas y ahora solo queda la ip publica que se utilizo para el host de esta prueba.

Paso

Guarde los últimos cambios de configuración en Empresa1 y reinicie su IOS (Internetwork Operating System), con el comando reload.

Parte 4: Configuración de NAT Sobrecargado en enrutador Empresa2

Paso

Modificar router Empresa2 con las siguientes características y configuraciones:

  • Conectar una nueva interface FastEthernet, configurarle la dirección 172.18.0.129/27 y levantarla. Conectar a esta interface un nuevo host, asignándole la ip 172.18.0.130/27 y su respectiva ip de gateway.
  • Crear una red de manera virtualizada con la Loopback32, asignándole la dirección 172.18.0.161/28.
  • Desde FTPserver, comprobar con ping que saluda exitosamente al nuevo host y también a la ip de Lo3.
1
2
3
4
5
6
7
8
9
Empresa2(config)#interface loopback 3
Empresa2(config-if)#ip add 172.18.0.161 255.255.255.240
Empresa2(config-if)#no shutdown
Empresa2#show ip inter br
Interface              IP-Address      OK? Method Status                Protocol 
FastEthernet0/0        172.18.0.65     YES manual up                    up 
FastEthernet1/0        172.18.0.129    YES manual up                    up 
Serial6/0              168.243.3.134   YES manual up                    up 
Loopback3              172.18.0.161    YES manual up                    up

Paso

Ahora analice el siguiente escenario que describirá la topología de red privada del Cliente2 a implementar en los pasos restantes.

  • Este Cliente2, tendrá un router de borde denominado Empresa2 y usará el mismo ISP.
  • Se expandirá su red interna mostrada en la Figura del principio a un total de 3 redes diferentes:
    • Red 1: 172.18.0.64/26 (de FTPserver, ya configurada)
    • Red 2: 172.18.0.128/27
    • Red 3: 172.18.0.160/28
  • El server FTPserver debe ser alcanzado desde el exterior (Internet).
  • El host de la red 3, implementado en la Lo 3, virtualizará a un Server, el cual deberá ser visto desde Internet.
  • Solamente la mitad superior del rango de ip de los host de la red 2 tendrán acceso a Internet. Al resto de host se les permitirá solamente comunicación interna con el resto de redes privadas del mismo cliente.
  • Este cliente ha comprado de su ISP solamente 3 direcciones públicas (100.0.0.33/28 100.0.0.34/28 y 100.0.0.35/28).

Paso

Según el escenario anterior, las condiciones se vuelven muy críticas, ya que las direcciones públicas adquiridas, deben ser distribuidas entre los 2 servidores y las estaciones de trabajo de la LAN que deberán acceder a Internet por medio de router Empresa2.

Paso

Para iniciar la solución, a continuación, se describe la configuración de NAT estático en Empresa2, que asigna la primera ip publica (100.0.0.33/28) al FTPserver, para que este pueda tener acceso hacia/desde Internet.

Y de igual manera, se asigna la segunda ip publica (100.0.0.34/28) al server virtualizado con la Lo3.

Y se definen las interfaces de entrada (direcciones privadas) de NAT y la interface de salida (direcciones públicas).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Empresa2(config)#ip nat inside source static 172.18.0.66 100.0.0.33
Empresa2(config)#ip nat inside source static 172.18.0.161 100.0.0.34
Empresa2(config)#interface fastEthernet 0/0
Empresa2(config-if)#ip nat inside
Empresa2(config-if)#exit
Empresa2(config)#interface fastEthernet 1/0
Empresa2(config-if)#ip nat inside
Empresa2(config-if)#exit
Empresa2(config)#interface Lo 3
Empresa2(config-if)#ip nat inside
Empresa2(config-if)#exit
Empresa2(config)#interface serial 0/1
Empresa2(config-if)#ip nat outside
Empresa2(config-if)#do write
Empresa2(config-if)#exit

Observe como la Lo 3 se convierte en una interface de entrada de NAT.

Paso

Configure una ruta por defecto en Empresa2, que utilice la interface de salida Serial 0/1 con la que se conecta al ISP. Es decir, debes configurar la tabla de enrutamiento del enrutador Empresa2 como ya se hizo con el enrutador de Empresa1.

1
Empresa2(config)#ip route 0.0.0.0 0.0.0.0 serial 0/1

Paso

En ISP, configure la manera de cómo este dispositivo deberá alcanzar la red privada de su cliente 2, referenciando con rutas estáticas a solamente las 3 ip publicas que este proveedor le vendió.

1
ISP(config)#ip route 100.0.0.32 255.255.255.252 168.243.3.134

El rango de direcciones 100.0.0.32/30 (máscara de 255.255.255.252) abarca desde la dirección IP 100.0.0.32 a la dirección 100.0.0.35. Esta es una manera de indicar rangos de direcciones IP

Paso

Haga pruebas de ping desde WebServer dirigidos a la ip pública (100.0.0.33) asignada al FTPserver. La prueba debe ser exitosa.

De igual forma, desde host PC11, ejecute el comando ping dirigido a la ip pública (100.0.0.34) asignada para la Lo3. La prueba también debe ser satisfactoria.

Paso

Hasta este momento, ya solo queda disponible una ip publica (100.0.0.35) adquirida al proveedor ISP, y con ella debe darse acceso a Internet a solamente a la mitad superior de las direcciones IP de la Red2 (172.18.0.128/27).

Este rango de ip que tendrán Internet incluye desde la ip 172.18.0.144 hasta la 172.18.0.158. Veamos cómo es posible solventar este problema usando PAT.

Paso

Ejecute la siguiente configuración de PAT (NAT Overloaded) en Empresa2. Analice los comentarios previos en cada bloque.

Configura una pila, formada por una “única dirección” 100.0.0.35 como inicio y final del rango de ip publicas aun disponibles para NAT.

1
Empresa2(config)#ip nat pool cliente2 100.0.0.35 100.0.0.35 netmask 255.255.255.240

Crea la ACL 2 para determinar las redes que tendrán acceso al proceso NAT y alcanzar así Internet. En este caso, solo se aceptarán IPs de la mitad superior del rango de IPs de la Red 2.

1
2
Empresa2(config)#access-list 2 permit 172.18.0.144 0.0.0.15
Empresa2(config)#access-list 2 deny any
¿Cómo se entiende esto?

La máscara inversa de 255.255.255.240 (/28) es 0.0.0.15. Te recuerdo que estábamos usando la subred 172.18.0.128/27 (255.255.255.224).

Por asi decirlo, estamos “creando” dos subredes sobre la subred original y diciéndole al router que la segunda subred (subred 172.18.0.144/28) la permita y el resto (subred 172.18.0.128/28) no.

Crea a NAT de manera sobrecargada (overload), utilizando la pila de direcciones públicas cliente2 y como filtro a la ACL 2.

1
Empresa2(config)#ip nat inside source list 2 pool cliente2 overload

Paso

Desde el PC de la Red 2 ejecute un ping hacia la ip 10.0.0.2; resultado: falla, porque su ip actual (172.18.0.130/27) no tiene acceso a Internet.

Cambiar su ip asignada a 172.18.0.153/27 y repetir la prueba de comunicación. Esta vez si se le permitirá acceder a Internet.

Paso

Notará que al usar la sobrecarga en la traducción de direcciones de forma dinámica, ya no hay mayores problemas si nuestro pool de direcciones públicas es más pequeño que el número real de direcciones privadas a traducir.

Añade un PC más a la red 2 y haz dos ping al mismo tiempo con ambos PCs. Debería funcionar.

Es importante resaltar que aunque la red 10.0.0.0/24 forma parte del rango de direcciones privadas en esta práctica funciona como una red pública ya que el enrutador ISP no tiene la funcionalidad de NAT configurada.

A continuación se muestra la topología final a la que se debe llegar.

img-description Topología final

Bibliografía

  1. Asociación de personas o entidades con un fin común. 

  2. Un loopback es una interfaz lógica que permite asignar direcciones IP a un router que no están ligadas a una interfaz física. De esa forma sabes que siempre podrás administrar el router en esa IP, aunque se caiga la interfaz física desde la que te conectabas habitualmente al router (y siempre que tengas conectada otra interfaz física, claro). 

Este artículo está licenciado bajo CC BY 4.0 por el autor.

Práctica: NAT con Packet Tracer

NAT estático, NAT dinámico y PAT en Packet Tracer (Parte 2)