Network Address Translation. Tipos de NAT.

Hola a todos.  Esta vez voy a escribir un pequeño texto que estoy seguro, les servirá de utilidad. Lo voy a hacer a modo de apunte personal, pero como he dicho, seguro que les servirá a más de uno.. Empecemos…

 

1. ¿Que es NAT? ¿Y que hace exactamente?

Las siglas NAT significa Network Address Translation y fué creado para “ahorrar” direcciones IPv4 gracias al gran auge de internet. Si no hubiera sido por NAT la migración a IPv6 ya haría muchisimo tiempo que se habría completado.

Realiza la traducción para que los equipos internos de una red local puedan comunicarse con el mundo exterior.

 

 

Veamos un ejemplo:

Hemos contratado una linea ADSL, el proveedor nos a facilitado un router el cual tiene 4 bocas LAN para conectar 4 ordenadores en casa.

El router en este caso tendria 2 direcciónes IP: 99.99.99.99 (la publica) y 192.168.1.1 (la privada).

Los ordenadores conectados al router también tendrían direcciones ips privadas..

(A – 192.168.1.2), (B- 192.168.1.3), (C – 192.168.1.4), y (D – 192.168.1.5).

 

 

Lógicamente las direcciones privadas de los ordenadores conectados a ese router no son alcanzables desde internet ni ellos tampoco pueden acceder al mundo exterior. (por ahora…jeje)

Pero el caso… es que, cuando tenemos este escenario tan tipico, los pc’s internos de nuestra casa conectados al router, si pueden entrar a internet perfectamente….¿Que pasó? ¿¿¿¿ como es que funciona???  He ahí la magia de NAT.

Lo que hace en este caso es, cuando desde el pc A (192.168.1.2) se intenta conectar con un destino remoto de internet (22.22.22.22)…

El paquete es dirigido desde el pc A al router:

PC 192.168.1.2 —————> Router 192.168.1.1

– El router comprueba que la dirección IP con la que se desea establecer la conexión es de Internet, con lo que, convierte mediante un mecanimo (más adelante veremos los distintos tipos) la IP Privada del pc A 192.168.1.2 en la IP Externa 99.99.99.99.

– El router una vez hecha la traducción envía la petición al equipo de Internet (22.22.22.22) apareciendo ahora el router (99.99.99.99) como remitente de la conexión.

– Dicha conversión se guarda en una tabla internamente en el equipo enrutador.

– El equipo remoto (22.22.22.22) recibe la petición y contesta al remitente de la conexión (aparece como remitente 99.99.99.99)

– El router (que es el que contiene la ip 99.99.99.99) recibe la contestación del equipo de Internet (22.22.22.22). Ahora el router verifica los registros de la tabla NAT. Se realiza internamente la siguiente pregunta:

¿Que equipos conectados a mi quisieron contactar con 22.22.22.22? Y ahí esta en la tabla de NAT. El equipo 192.168.1.2 fué el que origino la conexión.

– El router envia desde su ip interna (192.168.1.1) la contestación del equipo remoto (22.22.22.22) al pc interno (192.168.1.2)

 

Para dicha conversión NAT juega con los puertos TCP y UDP. Depende del tipo de NAT, elije de una forma u otra la asignación de dichos puertos.

 

2. Tipos de NAT

Como he dicho anteriormente. NAT realiza asignaciones de de puerto origen/puerto destino para poder realizar esas conversiones. No siempre se realiza de la misma forma y esto depende del tipo de NAT que contenga el equipo enrutador.

 

Full cone:  Se fijan un único par  Ip puerto interno / Ip puerto router. Esta establecido desde el principio no hace falta que el cliente inicie una petición de conexión. Por ejemplo: Ya estaría establecido que el pc con IP 192.168.1.2 y puerto 80 sale por la IP 99.99.99.99 y puerto 2211.  Si el equipo de internet 22.22.22.22 envia un paquete a la IP 99.99.99.99 y puerto 2211, este paquete será reenviado automáticamente al pc interno 192.168.1.2.

No entiende de control de sesiones. Es bastante inseguro. Este tipo de NAT ya casi a desaparecido.

 

Restricted cone NAT: Conocida como NAT estricta. Se establece la IP y Puerto publico solamente cuando el cliente inicia un inicio de conexión a una máquina remota. El enrutador guarda la dirección ip de destino y solo atenderá tráfico de respuesta de esa dirección. Con este tipo de NAT un equipo remoto no podrá “responder” a una petición si primero no a realizado el inicio de conexión.

Este tipo de NAT es muy utilizado por los administradoes con Netfilter/Iptables y se basa en, aceptar conexiones pertenecientes a  una sesión (conexión) ya establecida. (RELATED en iptables). Máxima seguridad.

 

Port Restrited Cone NAT: Lo mismo que Restricted cone NAT pero añade un dato más a la asociación, el puerto. Si el destino quiere contestar al remitente y no envia su numero de puerto la información no llegará al cliente.

 

Symetric NAT:  Para cada petición de cada máquina remota se asocia un numero de puerto. Puertos aleatorios. Si el destino quisiera responder al remitente deberá saber el puerto que se le asigno para su sesión, si no, no podrá hacerlo.

 

 

Espero que lo hayan comprendido correctamente he intentado explicar cada concepto y cada escenario de la manera más amena posible.

 

Un saludo y muchas gracias por visitar este blog.

Hasta la próxima!

PD: Debo añadir, que actualmente los enrutadores comerciales, mezclan varios tipos de NAT y no se basan estrictamente en uno de los aquí listados, esto es solamente, para que sepan como trabaja por lo general NAT.

 

Share

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Anti-spam image