Вы находитесь на странице: 1из 4

En este tutorial vamos a explicar los conceptos bsicos de lo que conocemos

como NAT. No se pretende dar una explicacin profunda de todos los tipos de
NAT existentes, sino dar una explicacin que, de cara al usuario, sirva para
comprender el porqu de la necesidad de este mecanismo, qu tiene que ver con
lo que se conoce habitualmente como abrir puertos (como popularmente se
conoce), y entender que pasa en nuestro router cuando abrimos esos puertos.
Unas palabras sobre direcciones IP
Como seguramente muchos habrn odo hablar, hay dos tipos (en realidad ms,
pero slo nos interesan estos dos) de direcciones IP: direcciones pblicas y
direcciones privadas.
Las direcciones privadas son rangos especiales de direcciones IP que se reservan
para ser utilizadas en redes locales, y se llaman privadas (o no-enrutables)
porque no pueden ser utilizadas en Internet. Los routers intermedios que
componen todo Internet, no entienden este tipo de direcciones y no las
encaminan.
Esto da una gran flexibilidad para configurar redes locales, ya que por ejemplo, yo
puedo tener en mi red local direcciones del tipo 192.168.0.0, y mi vecino tambin,
pero como esas direcciones no salen de la red local no hay ningn conflicto. Esto
no pasa con las direcciones pblicas, que son las que se usan en Internet, y han de
pertenecer a un nico equipo (host); no puede haber varios con la misma IP
pblica.
Pero esto tiene tambin un problema. No hemos dicho antes que estas
direcciones no pueden ser usadas en Internet? Entonces, cuando nosotros
enviamos a Internet (a google, por ejemplo) algo desde nuestra red local, en el
paquete que enviamos figura como IP de origen nuestra IP privada Como va a
poder devolvernos el paquete (en ese caso google) si ha de devolverlo a una IP
que no puede ser usada en Internet?

La solucin a este problema es NAT: Network Address Translation (o Traduccin


de Direcciones de RED)
NAT: Traduccin de Direcciones de Red
La idea bsica que hay detrs de NAT es traducir las IPs privadas de la red en una
IP publica para que la red pueda enviar paquetes al exterior; y traducir luego esa
IP publica, de nuevo a la IP privada del pc que envi el paquete, para que pueda
recibirlo una vez llega la respuesta. Con un ejemplo lo veremos mejor.
Imaginemos que tenemos nuestra siguiente red:
Podra ser la tpica red casera en la que tenemos un par de PCs que salen a
Internet a travs del router. Cada PC tiene asignada una IP privada, y el router
tiene su IP privada (puerta de enlace) y su IP pblica (que es nuestra IP de
Internet).
Cuando uno de los PCs de la red local quiere enviar un
paquete a Internet, se lo enva al router (o a la puerta
de enlace o gateway), y ste hace lo que se conoce
como SNAT (Source-NAT) y cambia la direccin de
origen por si IP pblica. As, el host remoto sabr a qu
IP pblica ha de enviar sus paquetes. Cuando una respuesta o un paquete
pertenecientes a esa conexin llegue al router, ste traducir la direccin IP de
destino del paquete (que ahora es la IP del router) y la cambiar por la direccin
privada del host que corresponde, para hacer la entrega del paquete a la red local.
DNAT: Destination-NAT
Hasta ahora hemos visto como acta el software de NAT para permitir que un PC
de una red privada pueda acceder a Internet y recibir respuestas. El mecanismo
que utiliza NAT para las asociaciones entre IP pblica y IP privada es una tabla
(tabla de NAT) en la que guarda una entrada por cada conexin. Cuando un host
de la red local inicia una conexin hacia el exterior, el software de NAT asigna una
entrada en la tabla, para que a partir de ahora, todo lo que llegue perteneciente a
esa conexin sepa traducirlo hacia la IP privada que inici la conexin.

Pero qu pasa si la conexin se inicia desde el exterior? Por ejemplo, si


montamos en nuestra red local un servidor web, lo que queremos es que se
puedan iniciar conexiones hacia l. Para poder hacer esto se utiliza DNAT
(Destination-NAT).
Cuando inicibamos una conexin desde la red local, se creaba automticamente
una entrada en la tabla de NAT para que todo lo que perteneciera a esa conexin
fuera dirigido hacia el PC correspondiente. Pero si la conexin se inicia desde
fuera como y cuando se crea esa entrada en la tabla de NAT? La respuesta es que
si queremos permitir conexiones desde el exterior a un PC de nuestra red local,
hemos de aadir una entrada fija en la tabla de NAT, indicando que todo el
trfico que llegue que vaya a determinado puerto, sea dirigido al PC en cuestin.
El puerto es el nico elemento que tenemos para distinguir conexiones, ya que
todo llegar a la IP del router, pero tendrn un puerto de destino segn sea una
conexin u otra. As que, en nuestro ejemplo, deberamos crear una entrada fija
en la tabla de NAT en la que indicramos que lo que llegue al puerto 80 (web) sea
dirigido al PC en el que corre el servidor web.
Esto es lo que se conoce habitualmente como abrir puertos en el router. Al abrir
puertos, simplemente estamos aadiendo una entrada a la tabla de NAT del
router para que sepa hacer la traduccin y sepa a qu PC enviar los paquetes. Ya
que desde el exterior, aunque nuestra red tenga varios PCs, se ver como si slo
fuera uno (solo se conoce la IP del router, ste lo traduce todo) y necesitamos que
ste router al que le llega todo el trfico sepa a quin ha de entregrselo.
Conclusin
Como se puede apreciar NAT es un mecanismo muy potente que nos permite
crear redes locales con gran flexibilidad, pero tambin tiene sus inconvenientes.
Muchas aplicaciones podran no funcionar detrs de NAT. Pero eso es quiz un
tema un poco ms avanzado que queda fuera del objetivo de este tutorial. De
todos modos las funcionalidades comentadas de NAT (que son el SNAT y el DNAT)
son las ms usuales y importantes, y comprenderlas es suficiente para tener una
idea bastante buena de qu es NAT y qu es lo que pasa en los routers/gateways

que dan salida a nuestra red local.


Manual escrito por Nacx para www.adslayuda.com

Вам также может понравиться