You are on page 1of 22

NAT

(Network Address Translation)

Traduccin de direcciones privadas a direcciones pblicas

e-mail: carmaygi@alumni.uv.es

Carlos Maynero, 2001

ndice de Contenidos:
1. Introduccin ............................................................................. 3 2. Razones de uso ......................................................................... 3
2.1. CIDR (Routing sin clases, superredes) ..................................... 4 2.2. Traduccin de direcciones IP .................................................... 4

3. Tcnicas NAT .......................................................................... 5


3.1. Estticas ................................................................................... 5 3.2. Dinmicas ................................................................................. 6 3.3. NAPT ....................................................................................... 7

4. Problemas generales del NAT .................................................. 8


4.1. Manteniendo informacin de estado ......................................... 8 4.2. Fragmentacin ......................................................................... 8 4.3. Posibles problemas con algunos protocolos .............................. 9

5. Ejemplos NAT ......................................................................... 10


5.1. NAT en Linux con kernel 2.4 ................................................... 10 5.2. NAT con Windows 2000 Professional ..................................... 13 5.3. NAT a travs de un router ADSL ............................................. 15 5.4. Configuracin de un router 3Com Remote 812 para NAT y NAPT .................................................................. 16

6. Bibliografa y sitios web .......................................................... 21

1. Introduccin
Da a da internet experimenta un gran crecimiento, siendo particularmente espectacular el crecimiento en estos ltimos aos. Se estima que varios miles de nuevos hosts se conectan cada da. Este crecimiento esta ocasionando serios problemas debido a que Internet como infraestructura fue diseada hace muchos aos, cuando no exista tanta necesidad de conexin a la red. Como consecuencia de este crecimiento el protocolo de red IP v4 no puede ofrecer una nica direccin para cada uno de los nuevos hosts que van apareciendo. Adems, aunque existen todava direcciones IP disponibles, hay que tener en cuenta que las tablas de routing crecen en proporcin, aumentando la latencia de la red a la hora de procesar los rutados de las tablas, que tambin ocupan memoria. Una solucin al problema es el desarrollo de un nuevo protocolo conocido como IP v6. Este resuelve las limitaciones impuestas por IP v4, adems aade otras mejoras, pero quizs lo ms importante es que aumenta el espacio de direcciones. Sin embargo, migrar de IP v4 a IP v6 cuesta un poco (aos), por lo que primero debern convivir ambos protocolos. Hay otra solucin que es usar direcciones privadas dentro de la propia red en la que uno pertenece, de forma que no se necesita una conexin directa hacia el exterior. Esta se realiza a travs de proxies para cada aplicacin/protocolo que se vaya a usar, de tal forma que slo se necesita una direccin IP pblica para toda la red local que pasa a travs del proxy. Una solucin ms global es la que trataremos en este trabajo, consiste en convertir las direcciones privadas de una red local en direcciones IP globales (pblicas) cuando cruzan la frontera que separa la parte local de internet. Solamente los hosts que se comuniquen al exterior se le asignarn una direccin IP global (oficial), est asignacin la realizar el router NAT (Network Address Translator) de forma que traduce la direccin local en una direccin global vlida en la internet. Tericamente, la traduccin ser totalmente transparente en todas las aplicaciones. Hoy en da hay muchos pruductos disponibles que realizan NAT. Ms adelante describir algunos ejemplos de configuracin sobre Linux, Windows 2000 y los routershub ADSL, que resuelven estos problemas en gran parte.

2. Razones de uso
La traduccin a direcciones IP es algo que hoy en da es ms o menos nuevo, la tecnologa y velocidad de proceso de los routers o servidores hacen que se pueda implementar NAT de forma segura aunque no libre de algn problema que otro con ciertos protocolos que se intenta solucionar. NAT fue introducido en la dcada de los 90 como una solucin a corto plazo al corto espacio de direccionamiento y de forma complementaria a la tecnologa CIDR (Classless InterDomain Routing). Para saber de dnde surgi la idea del NAT tengo que introducir algunas tecnologas que han sido puestas con el fin de solventar el gran 3

problema de la escasez de direcciones IP y el gran tamao de las tablas de routing. Tres soluciones a tener en cuenta son CIDR, las direcciones IP privadas y NAT.

2.1. CIDR (Rounting sin clases, superredes)


A principio de los 90, ya se prevea que el nmero de direcciones IP pronto se agotara. Entonces, incluso ahora, el nmero de IPs es suficiente, pero las tablas de routing que poseen los routers no pueden crecer infinitamente ya que se ven limitadas por la memoria y tiempos de proceso en los routers. Una solucin al gran nmero de entradas en las tablas de rutado es que estas entren por bloques de forma que sea ms fcil procesarlas y no ocupen tanta memoria. Existen tres clases de direcciones IPs pblicas: la direcciones de clase A, clase B y clase C. Hay otras clases pero son de tipo multicast, reservado o privado. Para cada bloque dentro de una clase se necesita una entrada de rutado dentro de la tabla del router. Recordar por lo visto en la asignatura de redes que una clase A nos permite ms de 16 millones de hosts, lo cual puede ser demasiado segn para que. Mientras que una clase C es demasiado pequea, tan slo 254 hosts. La clase B se encuentra en un punto intermedio permitindose unos 65000 hosts. El problema viene cuando una organizacin agota sus direcciones dentro de una clase, cosa probable si dispone de una clase C, de forma que necesita otra clase C y as puede suceder que necesite 3 ms, ya que una clase B es ms difcil de obtener (una clase A se podra decir que es impensable) y que tampoco tiene porque necesitar tantos hosts como le ofrece una clase B. Por ello se introduce el routing sin clases CIDR de forma que es posible tener slo una entrada en la tabla de rutas para un bloque entero de clases C. Esto introduce una serie de reglas a la hora de crear estos bloques ya que no se puede usar redes arbitrarias. El objetivo de CIDR es reducir las entradas de rutado en el backbone de los routers que empezaban a desbordarse a consecuencia de el gran nmero de entradas que se necesitaban para las redes de clase C. Esto se consigue en los routers introduciendo una pequea modificacin en el software, se crea lo que se denomina superredes, donde no tendremos en cuenta la denominacin de redes por clases A, B y C, no tendremos clases, nos guiaremos por la mscara.

2.2. Traduccin de direcciones IP


Podemos concluir que CIDR sirve como solucin a corto plazo para los problemas de rutado en las tablas y tambin para afrontar el agotamiento de direcciones IP. Pero hay que tener en cuenta que en muchas ocasiones el espacio de direcciones IP reservado es usado solamente para un uso interno, y que no todos los hosts de esa red salen simultneamente a internet , por lo tanto, las IPs slo se deberan dar a aquellos hosts que quisieran conectarse con otros fuera de su red, en internet. Otra medida que se adopta por los proveedores de internet ISP en accesos telefnicos es la reutilizacin de direcciones IPs. Es decir, que slo haya un porcentaje pequeo de hosts comunicados a travs de la frontera de nuestra red con internet de 4

forma que estos hosts nicamente necesitarn una IP global. Esta tarea de forma automtica la puede realizar el router-NAT de forma que el router asigne una IP global dinmicamente a una conexin que salga al exterior. La desventajas a la asignacin de IPs dinmicas es que los hosts no pueden ser vistos desde fuera, lo cual tambin se puede considerar como una ventaja. El nmero de conexiones simultneas est limitado y el proceso puede llegar a no ser transparente ya que hay protocolos como FTP que transmiten su IP al otro host. Otra forma de hacer NAT es teniendo una direccin oficial IP (pblica) y usar esta direccin para todas las comunicaciones. Para permitir a ms de un host comunicarse a la vez con la misma IP tenemos que usar puertos TCP a nivel de transporte diferentes para cada conexin. El nmero de conexiones simultneas est limitado slo por el nmero de puertos disponibles para las conexiones salientes. Gran parte de estas ideas seguramente se irn al traste tan pronto est disponible el protocolo IP v6 y la migracin haya concluido. Pero, de todas formas, algunos aspectos puede que sobrevivan a largo plazo y CIDR puede que se encuentre de forma ms o menos parecida en IP v6.

3. Tcnicas de NAT
La traduccin de direcciones se puede hacer de forma esttica o dinmica. Si se opta de forma esttica, la asignacin de NAT-IPs se realiza de forma no ambigua, en cambio esto no sucede de forma dinmica. En NAT esttico un IP local siempre es traducida a la misma NAT-IP y ninguna otra IP local es traducida a la misma NAT-IP, mientras que NAT dinmico la direccin NAT-IP depende de varias condiciones segn el momento de la asignacin y puede ser completamente distinta para cada conexin. Para explicar la asignacin de direcciones dinmicas y estticas har referencia a dos variables: l: nmero de IPs que necesitan ser traducidas (IPs originales o locales) g: nmero de IPs disponibles para la traduccin (NAT-IPs o globales)

3.1. Estticas
Traduccin l : g l, g > 0 l=g (l, g N) En traducciones estticas podemos traducir entre redes IP que tienen el mismo tamao (contienen el mismo nmero de IPs). Un caso especial es cuando ambas redes contienen slo una IP, por ejemplo la mscara 255.255.255.255. Para este caso la estrategia de NAT a implementar es fcil, ya que el proceso de traduccin puede escribirse en una lnea que contenga la siguiente transformacin lgica: nueva_direccin = nueva_mscara OR (vieja_direccin AND (NOT mscara)) 5

Adems, no es necesario mantener ninguna informacin sobre el estado de las conexiones que van a ser traducidas, observando cada uno de los paquetes IP es suficiente. Las conexiones que vengan del exterior no representan ningn problema, slo que la IP es diferente a la que tenemos dentro de la red. Por lo tanto se puede decir que NAT esttico es completamente transparente. Ejemplo: Podemos decir al router NAT que nos traduzca todas las IPs de la red 172.26.0.0 con mscara 255.255.255.0 a IPs en la red 217.127.34.0 con la misma mscara. De esta forma la direccin 172.26.0.12 ser traducida a 217.127.34.12, y as con todas las direcciones que estn dentro de la red definida por la mscara.

3.2. Dinmicas
Traduccin l : g l>0 l g (l, g N) Para la traduccin dinmica de direcciones es necesario que el nmero de IPs a traducir no sea igual al nmero de IPs que pueden ser traducidas. Podran ser iguales, pero que por algn motivo no se quiera realizar un mapeo esttico. El nmero de hosts comunicados esta limitado normalmente por el nmero de NAT IPs disponibles. Si todas las NAT IPs estn siendo usadas entonces no se puede aceptar ms conexiones para ser traducidas, estas sern rechazadas por el router NAT (host inalcanzable). El NAT dinmico es mucho ms complejo que el esttico ya que nos obliga a mantener un seguimiento de los hosts que se comunican e incluso en ocasiones controlar conexiones que requieren mirar la parte de informacin TCP de los paquetes. Para el caso en que tenemos suficientes NAT IPs (l = g) tambin puede ser til hacer un NAT dinmico, de forma, que se use como una medida de seguridad, ya que es imposible que alguien del exterior de la red pueda conseguir una direccin IP til viendo las conexiones que van surgiendo, ya que desde la ltima vez que se conecto un host, puede haber cambiado su IP. Conexiones desde fuera son slo posibles cuando el host que debe ser alcanzado todava tiene una NAT-IP asignada, es decir, que an tiene una entrada en la tabla dinmica del router NAT. Ejemplo: Podemos decir el router NAT que traduzca todas las IPs en una red de clase B 147.156.0.0 a IPs de una clase C con mscara 255.255.255.0 A cada conexin de dentro a fuera se le asigna una direccin IP del montn de direcciones de clase C, siempre que no estn siendo utilizadas y hayan disponibles. Si se le mapea una direccin el host puede ser alcanzado va la IP que le ha sido asignada de forma temporal. 6

3.3. NAPT (Network Address Port Translation)


Traduccin l : g l>0 g = 1 (l, g N) Es un caso especial de NAT dinmico (l:1) y es muy utilizado hoy en da. Este routing es capaz de hacerlo Linux, Windows 2000 y los routers-hub ADSL que hoy en da instala telefnica. Aqu muchas direcciones IP estn escondidas detrs de una nica IP global. Esto no significa que slo pueda haber una conexin a la vez. En NAPT un nmero arbitrario de conexiones es multiplexado usando informacin del puerto TCP o UDP. El nmero de conexiones simultneas estn limitadas por el nmero de puertos TCP o UDP disponibles. El problema que tiene est tcnica es que algunos servicios en ciertos hosts slo aceptan conexiones que vengan por unos puertos determinados. Esto hace que algunos programas no pueden ser usados con NAPT. En implementaciones Linux NAPT recibe el nombre de masquerade y no usa puertos determinados por el uso de otras aplicaciones para no interferir conexiones con esos puertos. Masquerade normalmente usa puertos en un rango superior a los que normalmente usan las aplicaciones, por ejemplo, si los puertos 0 a 1024 tericamente estn reservados por otras aplicaciones, se podran usar puertos a partir del 60000 (para curarse en salud), siempre que no nos excedamos en el nmero de puertos 65535. Con masquerade las conexiones entrantes son imposibles. Pero podemos adoptar medidas para resolver este problema y permitir conexiones entrantes (aunque esto no forma parte del concepto masquerade). Por ejemplo, podramos configurar el NAT de forma que cualquier conexin que entre a un determinado puerto vaya a un determinado host especificado, as como puertos hayan se pueden hacer tantas entradas en una tabla de forma que asigne IP:puerto host puerto_host. El NAT se encargar de escuchar cada puerto que le venga del exterior para saber a qu host encaminarlo dentro de su red. Pero el problema es que muchas aplicaciones usan puertos conocidos y esto no se puede cambiar de forma transparente, sobre todo en aplicaciones pblicas que usan siempre los mismos puertos. La nica solucin para solucionar esto es tener tantas IPs externas como nmero de servicios (aplicaciones) que se quieren proveer a nuestra red. Ejemplo: Podemos usar el NAT masquerade la direccin interna 172.26.0.0 con mscara 255.255.0.0. Para cada paquete saliente la IP origen es cambiada por los routers por una IP externa, y el puerto origen es cambiado por uno que no est siendo usado del rango reservado exclusivamente para realizar masquerade en el router. Si la IP destino de un paquete entrante es la direccin IP del router y el puerto destino est dentro de del rango de puertos usado por el router para masquerade, entonces el router mira en su tabla la direccin IP destino y nmero de puerto a mandar dentro de su red, la informacin es insertada en el paquete y enviada al host de la red.

Hoy en da la gran ventaja del maquerade/NAPT es que slo se necesita una IP externa (oficial) y tener un acceso directo a internet por parte de toda una red local. Esto tambin es importante desde el punto de vista que tener una nueva direccin IP puede resultar caro.

4. Problemas generales del NAT


La caracterstica especial de todos los tipos de NAT es las cinco tuplas que identifican de forma inequvoca una conexin: protocolo, IP origen y puerto, IP destino y puerto. Esta informacin la debe mantener el sistema o router en una de sus tablas, es algo parecido a cmo se comporta un firewall (cortafuegos), para ambos casos tambin se controlan los flujos de datos para cada conexin as como saber todo sobre sus propias conexiones, es por ello que hay que mantener una informacin de estado. Esto conlleva un overhead mayor que en el routing de paquetes simples.

4.1 Manteniendo la informacin de estado


Excepto con NAT esttico, necesitamos almacenar y gestionar dinmicamente informacin sobre los clientes actuales en el sistema y sus posibles conexiones. Adems, esta informacin de estado debe estar marcada por un time-out, de forma que los hosts que estn durante mucho tiempo desconectados o no transmitan paquetes puedan ser borrados de la lista del router para que sus direcciones puedan ser reutilizadas. Este timeout es una de las razones por lo cual se recomienda observar las cabeceras TCP, ya que el timeout puede ser ms corto para conexiones TCP que se acaben de cerrar mientras que debe ser ms alto para conexiones TCP que todava estn establecidas. Por ejemplo, muchas sesiones telnet pueden estar paradas durante mucho tiempo sin que haya trfico de paquetes. En este caso, si disponemos de suficientes NAT-IPs no hace falta que dejemos el timeout para esta conexin, pero tenemos que asegurarnos de que la conexin ha finalizado cuando tenemos muchas peticiones de nuevas conexiones que necesitan NAT-IPs. Por otro lado, si no se mantiene informacin de estado y slo miramos las IPs que necesitan que les sea asignada una direccin NAT-IP, es mucho ms fcil implementar el NAT, y funcionar en la mayora de casos de igual forma que lo descrito en el prrafo anterior.

4.2. Fragmentacin
La fragmentacin IP est relacionada con el problema de mantener la informacin de estado sobre conexiones TCP y UDP. En ocasiones hay que tomar la decisin de no slo traducir un paquete a nivel de direccin IP, sino tambin a nivel de direcciones (puertos) TCP/UDP. El problema lo tenemos si el paquete ha sido fragmentado, ya que el router NAT no puede saber el puerto excepto en el primer fragmento que contiene la cabecera TCP/UDP. Esto es un motivo por el cual debemos mantener informacin del estado de los fragmentos. Debemos guardar todos los datos del primer fragmento incluyendo si es 8

un puerto TCP o UDP, para saber a qu puerto van a ir los fragmentos que siguen. Hay que tener en cuenta que IP no garantiza un orden de llegada de los paquetes. Por lo que si nos llega un fragmento que no sea el primero, que contiene la informacin del puerto, entonces deberemos esperar a que llegue el primero para saber si tenemos que traducir el paquete o no. En estos casos ya no slo tenemos una traduccin IP, sino tambin tenemos unta traduccin de direcciones UDP/TCP (protocolos a nivel de transporte y no de red, un router a priori trabaja a nivel de red).

4.3. Posibles problemas con algunos protocolos


La traduccin de direcciones no resulta siempre tan transparente como debera ser. Esto se debe a que no siempre IP es el protocolo que nicamente lleva la informacin de direccionamiento IP. Hay algunos protocolos que envan IPs como parte de los datos que transmiten, y si slo traducimos la parte IP el receptor que reciba el paquete tendr un problema con los datos que reciba. La nica forma de solucionar esto es observar los datos transmitidos para determinados protocolos conocidos que incluyan informacin IP. Esto naturalmente supone una mayor complejidad y un overhead adicional. Algunos ejemplos de protocolos son: FTP: El comando PORT del FTP y la respuesta a PASV, ambos comandos, envan una IP y un puerto hacia el otro lado de la conexin. Para que funcione el FTP sobre NAT tenemos que sustituir la IP del mensaje. La parte ms complicada de esto es que la IP y puerto son transmitidas en su formato decimal ASCII, por ejemplo, cada nmero representado en decimal de una IP es un byte en el paquete. Por este motivo la IP no tiene un longitud fija en estos paquetes FTP. Cuando intentamos sustituir la IP por otra que tiene ms o menos dgitos en su representacin decimal el paquete crece o decrece en su longitud. Esto hace necesario ajustar los nmeros de secuencia del TCP de forma acorde, por lo que tenemos que mantener ms informacin sobre estas conexiones con el fin de ajustar los nmeros en cada paquete que sigue en esa conexin. Esto no es un problema nicamente del FTP, si no que tambin afecta a todos aquellos protocolos que cambiado la IP cambian la longitud del paquete. ICMP: Algunos mensajes ICMP, dependiendo del tipo de mensaje, incluyen parte de la cabecera del paquete original que caus este mensaje ICMP. Si el paquete ha sido traducido, esta cabecera contendr preferentemente la NAT-IP antes que la IP local real del host que tiene este mensaje ICMP. Dependiendo si es utilizada esta informacin extra en la cabecera y cmo se utiliza esto puede representar un problema o no. DNS:

Este servicio puede ocasionar un gran problema. Una solucin es tener dos servicios DNS, uno con IPs internas a nuestra red para resolucin de direcciones internas y otro externa con NAT-IPs. Decir que las IPs resueltas por el servidor externo no deben formar parte del espacio de direcciones que pueda asignar un NAT dinmico. BOOTP: No tiene porque ser un problema en la mayora de ocasiones, ya que no es muy comn que este protocolo atraviese la frontera de una red con NAT. Protocolos de Routing (RIP, EGP,...): Los protocolos de routing representan un problema, donde la soluciones son: No usarlos, y usar slo rutado esttico. Usar una puerta de enlace a nivel de aplicacin Rescribir los paquetes.

5. Ejemplos de uso NAT


A continuacin tratar de explicar un poco cmo se puede hacer NAT sobre los sistemas operativos Linux y Windows 2000 Professional. Tambin explicar como se puede hacer NAPT usando un router ADSL que acta como hub de la red interna o local. Para todos los casos se realizar un NAT dinmico donde tendremos una direccin IP global con la que saldremos al exterior y l direcciones IP locales con l>0.

5.1. NAT en Linux con kernel 2.4


Se parte del supuesto de que tenemos una conexin telefnica con nuestro ISP a travs de un PC Linux usando el ppp0 (point to point protocol), y que conectado a este ordenador tenemos una red local. Una forma de configurar el Linux para realizar NAT es configurarlo como masquerade. Esta opcin est integrada en la ltima versin (hasta la fecha) del ncleo de Linux. Ello lo podemos hacer ejecutando las X-Windows y desde una terminal ejecutar make xconfig y elegiremos la opcin Networking options tal y como se muestra en la figura 1:

10

Figura 1. Men principal configuracin kernel 2.4.

A continuacin se nos abrir otra ventana como la de la figura 2, deberemos asegurarnos que tenemos todos los mdulos activados (y) para que funcione el protocolo TCP/IP y el NAT, obsrvese que para esto ltimo activamos el mdulo IP: fast network address translation .

Figura 2. Opciones de red.

Ahora slo resta, antes de compilar el ncleo, configurar el IP: Netfilter Configuration. Vase la figura 3; todas las opciones de NAT y masquerade tienen que estar activas (y) para que se carguen los mdulos una vez se compile el ncleo

11

Por ltimo compilamos el ncleo, con los nuevos mdulos elegidos, para ello ejecutaremos la siguiente secuencia de comandos: make dep make clean make bzImage Una vez compilado arrancaremos de nuevo el sistema asegurndonos as que las nuevas modificaciones se han tomado, y desde una terminal haremos: echo 1 > /proc/sys/net/ipv4/ip_forward de sta forma habilitamos a Linux a reencaminar trfico IP v4. Luego ejecutamos: iptables t nat A POSTROUTING o ppp0 j MASQUERADE con esto indicamos que aada en la tabla nat del ppp0 la regla de postrouting, y que cuando se cumpla esto se le aplique el masquerade, es decir, que todos los paquetes, sin entrar al PC que ejecuta el NAT tengan que ser reencaminados a ppp0 se les haga masquerade.

12

Figura 3. Opciones del IP Netfilter.

5.2. NAT con Windows 2000 Professional


Aqu el supuesto es el mismo que en caso Linux, tenemos una red local y un ordenador conectado va mdem a un ISP. El caso de Windows 2000 es algo especial y tiene menos opciones de configuracin que Linux, pero resulta ms fcil de configurar. El PC que actuar como NAT tendr instalado el Windows 2000 y tendr asignada forzosamente la direccin IP local 192.168.0.1, el resto de host debern respetar la mscara de red 255.255.255.0 para la red 192.168.0.0. 13

Accederemos a propiedades de nuestra conexin de acceso telefnico a redes, para ello podemos ir a Inicio Configuracin Conexiones de red y de acceso telefnico a redes, sobre el nombre de nuestra conexin pulsaremos el botn derecho del ratn y accederemos a propiedades. En propiedades elegimos la pestaa de Compartir y marcamos la casilla de Habilitar Conexin compartida a Internet, tal y como se ve en la figura 4:

Figura 4. Propiedades acceso telefnico.

Este ordenador ser el servidor de la conexin internet y ser el que acte como NAT, ahora falta configurar al resto de ordenadores de la red local para que puedan tener acceso al exterior. Para ello tendremos que agregar a cada cliente una puerta de enlace predeterminada al servidor NAT que acabamos de configurar en 192.168.0.1. Si los clientes corren bajo Windows 2000 accederemos a propiedades de la red local, podemos realizar las mismas acciones para acceder al acceso telefnico a redes pero esta vez elegimos la Conexin de rea local con el botn derecho del ratn. A continuacin elegimos Protocolo Internet (TCP/IP) y le damos a propiedades, se nos abrir una ventana como la de la figura 5:

14

Figura 5. Propiedades TCP/IP.

Al estar configura ya una red local slo tendremos que aadir los campos Puerta de enlace predeterminada con la IP del PC con Windows 2000 que acta como NAT, forzosamente (cosas de Microsoft), tendr que ser la 192.168.0.1 (su IP). Para que funcione correctamente tendremos que aadir los servidores DNS que nos ofrezca nuestro ISP de internet (en la figura aparecen los de Terra ADSL). Toda esta configuracin hay que repetirla para todos los hosts de la red local. NAT acta en cierta manera como un proxy genrico, y no hace falta configurar ninguna opcin de proxy en ninguna de las aplicaciones.

5.3. NAT a travs de un router ADSL


Esta opcin tiene la ventaja de que no hace falta que ningn ordenador actu como NAT y por tanto no hace falta tener encendido este PC durante todo el da para que haga de servidor a los dems hosts de la red local, adems se obtiene todos los beneficios de ADSL como un mayor ancho de banda (hasta 2Mbps y pronto hasta 8Mbps) teniendo conexin permanente a internet por el mismo cable de telfono. Podr usarse telefona por voz e internet a la vez gracias a un dispositivo de filtrado (splitter) que separa las frecuencias que se usan por voz de las que se usan para internet por el mismo cable.

15

El router ADSL es un dispositivo externo y configurable que acta como hub. A l se conectar nuestra red local a travs de la Ethernet por cable RJ-45. Telefnica actualmente suministra 4 entradas 10BASE-T para sus dispositivos ASDL, pero siempre se pueden conectar ms equipos haciendo una configuracin en cascada con otros hubs. Aqu el NAT ya no tienen porque hacerlo el sistema operativo, por lo tanto la configuracin en los host de nuestra red local es an ms sencilla. Para Windows 2000 se configura la red local de forma idntica para todos los hosts que la mostrada y explicada en la figura 5, ahora la puerta de enlace ser la direccin IP con la que se haya configurado el router, los DNS seguirn siendo los de tu ISP, mientras que las direcciones de nuestra red local ya no tienen que pertenecer forzosamente a la red 192.168.0.0. Tendr que ser una red privada, y el router tendr una IP de esa red privada que ser la utilizada como puerta de enlace. En Linux se configura fcilmente, a los hosts se le aadir como puerta de enlace la IP del router, ello se puede hacer ejecutando el comando: route add default gw ip_local_router luego aadir los DNS de nuestro ISP editando el fichero /etc/resolv.conf poniendo en una lnea la IP del DNS precedida de la palabra clave nameserver, pondremos tantas lneas como servidores DNS queramos poner. De esta forma los host de nuestra red local ya estn configurados, slo tenemos que ver que el router est bien configurado, que su IP local y global sean correctas, y que la opcin de NAP est activada. La configuracin del router suele ser sencilla y similar entre los distintos routers ADSL que existen en el mercado, adems podemos encontrar mucha documentacin en internet de cmo configurar determinados modelos. Como ejemplo, voy a mostrar cmo se puede configurar el NAT y NAPT para un router 3Com, concretamente el 3Com OfficeConnect Remote 812.

5.4. Configuracin del router ADSL 3Com Remote 812 para NAT y NAPT
Hay tres opciones de configuracin: Haciendo hyperterminal con el router enchufado al ordenador por el puerto serie. Haciendo un telnet a la IP del router dentro de la red local. Ejecutando un cliente web de la red local y haciendo un http://IP_del_router

Naturalmente hace falta un nombre de usuario y contrasea que ms tarde se deber modificar, ya que de fbrica salen todos con la misma autenticacin, para poder entrar en cualquiera de los modos de configuracin.

16

A continuacin mostrar cmo se puede configurar de la forma ms sencilla, a nivel de ejemplo, que seria usando la opcin de configuracin por web. Para ello abriremos nuestro navegador y entraremos en la IP de nuestro router por http, no importa que se use la IP local o la IP global, eso si, debemos estar dentro de la misma red local. Ejemplo: http://176.26.0.1 Lo primero que aparecer una ser una ventana pidindonos nuestro nombre de usuario y contrasea, una vez introducidas nos saldr el men de opciones del router tal y como muestra la figura 6:

Figura 6. Men para gestionar el router ADSL 3Com.

A continuacin elegimos el enlace u opcin de configuracin en la parte izquierda de la pantalla. Nos saldr el men de configuracin, ver figura 7. Hay una gran diversidad de opciones y protocolos de configuracin, as como la posibilidad de configurar filtros.

17

Figura 7. Opciones de configuracin.

A nosotros nos interesa configurar el NAT, por lo que nos situaremos encima del botn de Remote Site Profiles y lo pulsaremos, nos deber aparecer la conexin que tenemos a internet, pulsaremos el botn de Modify. Se nos cargar una pgina con una serie de parmetros que no nos interesan para NAT, por lo que cargaremos la siguiente pantalla dndole al botn de Next. No saldr la pantalla que muestra la figura 8:

18

Figura 8. Remote Site IP.

La casilla de NAT deber estar activada para que funcione, adems tenemos la opcin de dar un host por defecto para resolver aquellas peticiones entrantes sobre un host determinado, es decir, sino hay configurado NAPT y no hay un host determinado si alguien hace un telnet o netmeeting desde fuera el host que se encargar de atender y establecer la conexin ser aquel que est por defecto, si no la conexin se establecer de forma aleatoria entre cualquier host de la red local que est escuchando el puerto por donde se pide la conexin, el resultado puede ser inesperado. Se puede introducir la opcin NAPT tanto para los protocolos TCP como UDP de forma que se pueden asignar de forma esttica puertos que provienen a la direccin IP del exterior a una determinada IP local y puerto local de nuestra red. Para ver un cmo se puede hacer NAPT pulsemos el botn TCP y modificamos uno de los puertos pulsado Modify, vemos la figura 9. Los puertos ya los haba configurado previamente.

19

Figura 9. Pantalla para asignar puertos a direcciones locales.

Aqu todo lo que venga a nuestra direccin global en internet por el puerto 21, es decir, nos hagan un FTP, ser reencaminado al host de nuestra red privada 172.26.0.2 y adems le especificamos que sea por el puerto 21 del host, no tenemos porque enviar el paquete por el mismo puerto que nos viene, pero en este caso, para que sea ms sencilla la gestin del protocolo FTP usamos el mismo puerto. En la siguiente figura se muestran algunos de los puertos sobre los que se hace NAPT y han sido configurados como el caso anterior:

20

Figura 10. Puertos TCP configurados para NAPT.

Esta configuracin lo que nos permite es que determinados servicios que vengan por los puertos 21, 23, 80 y 323, vayan dirigidos a determinados hosts locales especificando el puerto para cada IP local por donde quiere que se escuche. De esta manera, si nuestra red local es la 172.26.0.0, podemos tener puesto un servidor telnet sobre un host, por ejemplo el 172.26.0.2 por el puerto 23, un servidor web sobre otro host diferente, por ejemplo el 172.26.0.3, y por qu no, podemos cambiar el puerto 80 y que escuche por el 8080. Y por ltimo podemos configurar un host 172.26.0.4 para netmeeting que est en la entrada de una casa vigilando la puerta a travs de una cmara por el puerto 323, de esta forma cuando reciba desde la internet una peticin de netmeeting ser enviada a este host, y si tiene la opcin habilitada de aceptar llamadas automticamente y enviar vdeo podremos ver qu pasa a travs de la puerta de nuestra casa.

6. Bibliografa y sitios web


Andrew S. Tanenbaum. Computer Netwoks. Prentice Hall 3rd edition. Apuntes de la asignatura de Redes. Ingeniera Informtica. Universitat de Valencia. http://www.csn.tu-chemnitz.de 21

http://www.linux-es.com http://www.internautas.org http://adsl4ever.com http://support.efficient.com

................................................................................................ Carlos Maynero

22

You might also like