NAT robby

Embed Size (px)

Citation preview

  • 5/26/2018 NAT robby

    1/8

    NAT

    Dentro de la interminable lista de trminos, abreviaciones y nomenclaturas de lastelecomunicaciones NAT es una de las que ms se repite. Antes de ver como seimplementa NAT en una red primero veamos de que se trata.

    NAT (Network Address Translation) es uno de los mecanismos utilizados en la Internetactual para hacer frente a la escacez de direcciones IPv4 pblicas junto con elenrutamiento sin clase CIDR (Classless Interdomain Routing) y la utilizacin demscaras variables VLSM (Variable Lenght Subnet Mask). Hoy en da solamentequeda cerca de un 5% de direcciones IPv4 pblicas, con lo cual se hace cada vez msnecesario comenzar con la implementacin de IPv6. Sin embargo an son muchas lasorganizaciones que no cuentan con IPv6 en sus redes y deben trabajar con laslimitaciones de IPv4. Es ah donde entra a funcionar NAT.

    Para resumir, casi groseramente, la utilidad de NAT podramos decir que sirve paraconectar a una o ms redes LAN internas a Internet mediante una sola IP pblica (o un

    grupo de ellas). En realidad NAT provee dos funcionalidades bsicas que es la raznpor la cual se ha seguido preferiendo este mecanismo para el funcionamiento de lamayora de las LAN: Ahorro de direcciones pblicas (y por ende, mucho dinero) yseguridad.

    Bsicamente podemos decir que las redes utilizan un direccionamiento IP privado yque las mquinas que tienen una direccin de este tipo NO pueden ser alcanzadasdesde Internet. Tcnicamente, estas direcciones IP no son enrutables en la Internetpblica.

    El rango de direcciones IP privadas est definido en elRFC 1928 y corresponde a lossiguientes bloques:

    - 10.0.0.0/8 (10.0.0.010.255.255.255)

    - 172.16.0.0/12 (172.16.0.0172.31.255.255)

    - 192.168.0.0/16 (192.168.0.0192.168.255.255)

    Todas las direcciones IP que no estn en ese rango ni en los dems rangos especiales(APIPA, Loopbacks, Clase E, Clase D, etc.), son direcciones IP pblicas.

    Dicho esto entonces ahora podemos comprender mejor como opera NAT. Para esovamos a ver la siguiente red de ejemplo.

    http://www.rfc-es.org/rfc/rfc1918-es.txthttp://www.rfc-es.org/rfc/rfc1918-es.txt
  • 5/26/2018 NAT robby

    2/8

    La red LAN con los PC y el router utilizan el bloque 192.168.0.0/24 mientras que el ISPha asignado la IP pblica 200.1.1.1/29 al router en su puerta WAN. En esta red se haimplementado NAT para que todos los PC puedan salir a Internet y sean reconocidosmediante la IP 200.1.1.1. De no existir esto, cada uno de los PC necesitara una

    direccin IP pblica nica para poder acceder a Internet, encareciendo el costo de losservicios.

    Por ahora vamos a describir 4 tipos de NAT bsicos. Hay otras implementaciones mscomplejas como NAT-T que por lo general se utiliza para resolver problemas deconectividad con VPNs y acceso a redes detrs de un NAT.

    1. NAT dinmico

    El NAT dinmico es el ms bsico de todos los mtodos de traduccin de direccionesprivadas a pblicas. Consiste en tener un bloque IP pblico e ir asignandodinmicamente una de esas IP a cada mquina de la LAN interna para que salga a

    Internet. Si tenemos 3 mquinas en nuestra LAN, como la imagen, necesitaremosentonces 3 IP pblicas extra (aparte de la necesaria en la interfaz WAN del router) paralograr conectividad. En este tipo de NAT, las IP reservadas para el bloque pblico sevan utilizando y se crea un mapping 1:1 entre las IP internas y las externas. Sidefinimos solo 3 IP pblicas entonces solamente podrn conectarse 3 mquinasinternas hacia Internet. Esta asociacin se crea en forma dinmica.

  • 5/26/2018 NAT robby

    3/8

    Configuracin:

    Router(config)# ip nat pool RANGOPUBLICO 200.1.1.2 200.1.1.4 netmask255.255.255.248Router(config)# access-list 1 permit 192.168.0.0 0.0.0.255Router(config)# ip nat inside source list 1 pool RANGOPUBLICORouter(config)# interface FastEthernet0/0Router(config-if)# ip nat insideRouter(config-if)# exitRouter(config)# interface FastEthernet0/1Router(config-if)# ip nat outside

    El comando ip nat poolpermite crear el rango de direcciones IP pblicas que vamos aasignar al NAT dinmico y asociarlo a un nombre. En este caso RANGOPUBLICO.

    Luego se crea una ACL estndar donde seleccionamos el rango completo de nuestrobloque LAN. Esta ACL no se utiliza para implementar bloqueo de direcciones, si nosimplemente se utiliza para seleccionar cuales IP de la LAN sern traducidas.

    Luego el paso ms importante es definir el sentido del NAT. Siempre la LAN ser la redde adentro e Internet ser la red de afuera. Por lo mismo se declara laFastEthernet0/0 de nuestro router como interna con el comando ip nat insidey sehace lo propio en la interfaz que apunta hacia Internet con el comando ip nat outs ide.

    Mucho cuidado con no invertir este orden por que NAT nunca funcionar. En todos lostipos de NAT se debe definir las interfaces inside y outside.

    La desventaja de implementar NAT dinmico es que se debe contar con una IP pblicapara cada PC de la LAN interna que se quiera conectar a Internet. En un entorno conms de 100 equipos, que es lo habitual, esto encarecera enormemente los costosmensuales del acceso a Internet. Por esta razn no es muy fcil encontrar NATdinmico actualmente.

  • 5/26/2018 NAT robby

    4/8

    2. NAT esttico

    El NAT esttico es el ms simple de configurar y permite asociar estticamente unadireccin pblica a una direccin IP privada. Es ideal para permitir el acceso desdeInternet a un servidor que alojamos en una DMZ por ejemplo o en la red LANinstitucional.

    En nuestra LAN se ha instalado un servidor Web al cual se le ha asignado la direccinIP privada 192.168.0.10, pero es requisito que desde Internet tambin se puedaacceder. Ya que tenemos direcciones IP privadas, este servidor no puede seralcanzado desde una red pblica, por lo tanto creamos una forma de asociar unadireccin IP pblica nica al servidor. Ac hemos asignado la IP 200.1.1.5/29. Esta IP

    no puede ser utilizada en otro NAT al mismo tiempo ya que queda reservada para la IP192.168.0.10. En otros sistemas, como OpenBSD, se suele utilizar el nombre de NAT1:1 (one-to-one).

    Configuracin :

    Router(config)# ip nat inside source static 192.168.0.10 200.1.1.5Router(config)# interface FastEthernet0/0Router(config-if)# ip nat insideRouter(config-if)# exitRouter(config)# interface FastEthernet0/1Router(config-if)# ip nat outside

    Basta con la declaracin del mapeo en la lnea ip nat inside sou rce stat ic192.168.0.10 200.1.1.5, declarar las interfaces inside y outside y listo. Claro, si ya setiene otro mtodo de NAT en el mismo router entonces no es necesario volver aredeclarar las interfaces. Es as de simple.

  • 5/26/2018 NAT robby

    5/8

    3. PAT

    El nombre PAT proviene de Port Address Translation y es el mtodo de NAT msutilizado probablemente. A diferencia de los dos mtodos anteriores donde cada IPprivada se mapea en forma directa con una nica IP pblica, en el PAT se asociandinmicamente todas las conexiones originadas en la LAN con una nica IP pblica,

    identificando cada sesin con un puerto de dicha IP (Por eso se llama Port AddressTranslation).

    Habitualmente PAT se conoce tambin como Sobrecarga u Overload, ya que se leda todo el trabajo de traduccin a una sola IP o interfaz de red.

    En este caso hemos habilitado PAT en la interfaz f0/1. As, todas las mquinas delbloque 192.168.0.0/24 podrn salir a Internet a travs de la IP 200.1.1.1. Para lograresto el router mapea dinmicamente cada sesin con un puerto de la IP pblica. Estees el tipo de NAT que ms se usa, adems de venir implementado de manerapredeterminada en los routers de tipo SOHO (domsticos). Noten que adems del PATdel router, tambin hay una entrada esttica que definimos anteriormente para elservidor Web en la IP 192.168.0.10. Cuando se genere una solicitud desde/hacia esteservidor, el router inmediatamente aplicar su NAT esttico y no meter la IP192.168.0.10 en la asociacin dinmica de puertos.

    Configuracin:

    Router(config)# access-list 1 permit 192.168.0.0 0.0.0.255Router(config)# ip nat inside source list 1 interface f0/1 overloadRouter(config)# interface FastEthernet0/0Router(config-if)# ip nat insideRouter(config-if)# exitRouter(config)# interface FastEthernet0/1Router(config-if)# ip nat outside

  • 5/26/2018 NAT robby

    6/8

    En este caso tambin creamos una ACL estndar para seleccionar las IP de la red LANque sern traducidas en el PAT y luego con el comando ip nat inside so urce l is t 1interface f0/1 overloadasociamos esa ACL (que le dimos el nmero 1) con la interfazWAN donde haremos la sobrecarga. La palabra OVERLOAD es clave para activar PATcorrectamente.

    4. PAT con mltiples IP

    Aunque hemos mencionado que PAT es el mecanismo ms ampliamente configuradoen las redes actuales, lo cierto es que tiene una tremenda limitacin en entornos dondela cantidad de mquinas en la LAN es de gran tamao. Si se fijan bien, en el PAT cadavez que hay una conexin originada en la red LAN, al pasar por el router este asigna unpuerto de la IP 200.1.1.1 para mapear esa conexin. Sabes cuanto es el total depuertos que existe en TCP/IP?. 2 elevado a 16 puertos: 65536.

    Imagnense que hay 300 mquinas en una LAN donde se est haciendo PAT y cadaPC est generando una gran cantidad de conexiones simultneas hacia Internet, comopor ejemplo, la descarga de msica mediante una aplicacin P2P o est siendo vctima

    de un ataque DoS. Solo por ejemplificar, supongamos que cada mquina genera 200conexiones simultneas. Ya habrn problemas porque 200 conexiones por 300 PC son75000 sesiones que deber manejar el router en su asociacin PAT, pero acabamos dedecir que solamente se pueden establecer un mximo de 65536 traduccionessimultneas en una direccin IP, por lo que 9464 conexiones no tendran xito yexpiraran. Ha experimentado el hecho de intentar abrir una pgina Web esperandouna gran cantidad de tiempo y al segundo intento abre en forma instantnea? Bueno,esto es un sntoma de una saturacin en el PAT de un Router.

    Para solucionar ese problema simplemente podemos asociar una nueva IP pblica a lasobecarga o un rango de ellas, multiplicando las cantidades de sesiones simultneas

    que se permitan en la traduccin de puertos.

  • 5/26/2018 NAT robby

    7/8

    Esta vez hemos ampliado la capacidad del PAT agregando un pool de direcciones ala sobrecarga de la traduccin. Ya no solamente se utiliza la IP 200.1.1.1 para conectara todos desde Internet, si no que se utilizan tambin las direcciones 200.1.1.2 a la200.1.1.4.

    Router(config)# ip nat pool RANGO_PAT_PUBLICO 200.1.1.1 200.1.1.4 netmask

    255.255.255.248Router(config)# access-list 1 permit 192.168.0.0 0.0.0.255Router(config)# ip nat inside source list 1 pool RANGO_PAT_PUBLICO overloadRouter(config)# interface FastEthernet0/0Router(config-if)# ip nat insideRouter(config-if)# exitRouter(config)# interface FastEthernet0/1Router(config-if)# ip nat outside

    Ac hemos creado un rango de direcciones pblicas que utilizaremos para lasobrecarga y lo hemos llamado RANGO_PAT_PUBLICO. Luego creamos una ACL

    estndar para seleccionar el bloque LAN que vamos a traducir. Luego con elcomando ip n at inside so urce l is t 1 p ool RANGO_PAT_PUBLICOover loadasociamos esa ACL al pool de direcciones pblicamos y hacemossobrecarga.

    Nuevamente no hay que olvidarse de definir las interfaces inside y outside.

    Eso es todo. No es tan complicado como se ve. Claro, hay cierta terminologa que seaplica dentro de NAT que no hemos cubierto en los ejemplos mostrados queexplicamos ahora. Vale la pena detenerse un poco a comprender bien estos trminosporque por lo general causan confusin entre los alumnos e instructores (me incluyo).

    - Inside Local: Se conoce como Inside Local a la direccin IP interna privada de algnPC de la red LAN.

    - Inside Global: Es la direccin IP pblica que est siendo utilizada para traducir las IPprivadas. La IP WAN del Router en la interfaz f0/1 es considerada Inside Global, asmismo como todas las IP de los rangos pblicos.

    - Outside Local: Corresponde a la direccin IP de un host ubicado en la red externa(Internet) tal como se muestra en la red LAN interna. No necesariamente tiene que seruna IP pblica legtima.

    - Outside Global: Es la direccin IP pblica de un host de destino en la red externa.

    Comandos tiles:

    show ip nat translation

    show ip nat static

    debug ip nat

  • 5/26/2018 NAT robby

    8/8

    Para deshabilitar NAT en el router:

    1. Desactive las interfaces inside y outside

    Router(config)# interface FastEthernet0/0Router(config-if)# no ip nat inside

    Router(config-if)# exitRouter(config)# interface FastEthernet0/1Router(config-if)# no ip nat outside

    2. Limpie la tabla de traducciones:

    Router# clear ip nat translations

    3. Elimine las ACL y los comandos NAT creados anteponiendo la palabra no.Ejemplo:

    Router(config)# no ip nat pool RANGO_PAT_PUBLICO 200.1.1.1 200.1.1.4 netmask255.255.255.248

    Router(config)# no access-list 1 permit 192.168.0.0 0.0.0.255outer(config)# no ip nat inside source list 1 pool RANGO_PAT_PUBLICO overload

    Para ms informacin puede consultar los siguientes enlaces: