define('DISALLOW_FILE_EDIT', true);
define('DISALLOW_FILE_MODS', true);{"id":143,"date":"2012-08-29T23:50:44","date_gmt":"2012-08-29T22:50:44","guid":{"rendered":"http:\/\/www.monovarlinux.org\/?p=143"},"modified":"2015-10-01T23:37:33","modified_gmt":"2015-10-01T22:37:33","slug":"network-address-translation-tipos-de-nat","status":"publish","type":"post","link":"http:\/\/www.monovarlinux.org\/?p=143","title":{"rendered":"Network Address Translation. Tipos de NAT."},"content":{"rendered":"<p>Hola a todos.\u00a0 Esta vez voy a escribir un peque\u00f1o texto que estoy seguro, les servir\u00e1 de utilidad. Lo voy a hacer a modo de apunte personal, pero como he dicho, seguro que les servir\u00e1 a m\u00e1s de uno.. Empecemos&#8230;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>1. \u00bfQue es NAT? \u00bfY que hace exactamente?<\/strong><\/p>\n<p>Las siglas NAT significa Network Address Translation y fu\u00e9 creado para \u00abahorrar\u00bb direcciones IPv4 gracias al gran auge de internet. Si no hubiera sido por NAT la migraci\u00f3n a IPv6 ya har\u00eda muchisimo tiempo que se habr\u00eda completado.<\/p>\n<p>Realiza la traducci\u00f3n para que los equipos internos de una red local puedan comunicarse con el mundo exterior.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Veamos un ejemplo:<\/p>\n<p>Hemos contratado una linea ADSL, el proveedor nos a facilitado un router el cual tiene 4 bocas LAN para conectar 4 ordenadores en casa.<\/p>\n<p>El router en este caso tendria 2 direcci\u00f3nes IP: 99.99.99.99 (la publica) y 192.168.1.1 (la privada).<\/p>\n<p>Los ordenadores conectados al router tambi\u00e9n tendr\u00edan direcciones ips privadas..<\/p>\n<p>(A &#8211; 192.168.1.2), (B- 192.168.1.3), (C &#8211; 192.168.1.4), y (D &#8211; 192.168.1.5).<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>L\u00f3gicamente 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&#8230;jeje)<\/p>\n<p>Pero el caso&#8230; es que, cuando tenemos este escenario tan tipico, los pc&#8217;s internos de nuestra casa conectados al router, si pueden entrar a internet perfectamente&#8230;.\u00bfQue pas\u00f3? \u00bf\u00bf\u00bf\u00bf como es que funciona???\u00a0 He ah\u00ed la magia de NAT.<\/p>\n<p>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)&#8230;<\/p>\n<p>El paquete es dirigido desde el pc A al router:<\/p>\n<p>PC 192.168.1.2 &#8212;&#8212;&#8212;&#8212;&#8212;&gt; Router 192.168.1.1<\/p>\n<p>&#8211; El router comprueba que la direcci\u00f3n IP con la que se desea establecer la conexi\u00f3n es de Internet, con lo que, convierte mediante un mecanimo (m\u00e1s adelante veremos los distintos tipos) la IP Privada del pc A 192.168.1.2 en la IP Externa 99.99.99.99.<\/p>\n<p>&#8211; El router una vez hecha la traducci\u00f3n env\u00eda la petici\u00f3n al equipo de Internet (22.22.22.22) apareciendo ahora el router (99.99.99.99) como remitente de la conexi\u00f3n.<\/p>\n<p>&#8211; Dicha conversi\u00f3n se guarda en una tabla internamente en el equipo enrutador.<\/p>\n<p>&#8211; El equipo remoto (22.22.22.22) recibe la petici\u00f3n y contesta al remitente de la conexi\u00f3n (aparece como remitente 99.99.99.99)<\/p>\n<p>&#8211; El router (que es el que contiene la ip 99.99.99.99) recibe la contestaci\u00f3n del equipo de Internet (22.22.22.22). Ahora el router verifica los registros de la tabla NAT. Se realiza internamente la siguiente pregunta:<\/p>\n<p>\u00bfQue equipos conectados a mi quisieron contactar con 22.22.22.22? Y ah\u00ed esta en la tabla de NAT. El equipo 192.168.1.2 fu\u00e9 el que origino la conexi\u00f3n.<\/p>\n<p>&#8211; El router envia desde su ip interna (192.168.1.1) la contestaci\u00f3n del equipo remoto (22.22.22.22) al pc interno (192.168.1.2)<\/p>\n<p>&nbsp;<\/p>\n<p>Para dicha conversi\u00f3n NAT juega con los puertos TCP y UDP. Depende del tipo de NAT, elije de una forma u otra la asignaci\u00f3n de dichos puertos.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>2. Tipos de NAT<\/strong><\/p>\n<p>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.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Full cone:<\/strong>\u00a0 Se fijan un \u00fanico par\u00a0 Ip puerto interno \/ Ip puerto router. Esta establecido desde el principio no hace falta que el cliente inicie una petici\u00f3n de conexi\u00f3n. Por ejemplo: Ya estar\u00eda establecido que el pc con IP 192.168.1.2 y puerto 80 sale por la IP 99.99.99.99 y puerto 2211.\u00a0 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\u00e1 reenviado autom\u00e1ticamente al pc interno 192.168.1.2.<\/p>\n<p>No entiende de control de sesiones. Es bastante inseguro. Este tipo de NAT ya casi a desaparecido.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Restricted cone NAT:<\/strong> Conocida como NAT estricta. Se establece la IP y Puerto publico solamente cuando el cliente inicia un inicio de conexi\u00f3n a una m\u00e1quina remota. El enrutador guarda la direcci\u00f3n ip de destino y solo atender\u00e1 tr\u00e1fico de respuesta de esa direcci\u00f3n. Con este tipo de NAT un equipo remoto no podr\u00e1 \u00abresponder\u00bb a una petici\u00f3n si primero no a realizado el inicio de conexi\u00f3n.<\/p>\n<p>Este tipo de NAT es muy utilizado por los administradoes con Netfilter\/Iptables y se basa en, aceptar conexiones pertenecientes a\u00a0 una sesi\u00f3n (conexi\u00f3n) ya establecida. (RELATED en iptables). M\u00e1xima seguridad.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Port Restrited Cone NAT<\/strong>: Lo mismo que Restricted cone NAT pero a\u00f1ade un dato m\u00e1s a la asociaci\u00f3n, el puerto. Si el destino quiere contestar al remitente y no envia su numero de puerto la informaci\u00f3n no llegar\u00e1 al cliente.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Symetric NAT:\u00a0<\/strong> Para cada petici\u00f3n de cada m\u00e1quina remota se asocia un numero de puerto. Puertos aleatorios. Si el destino quisiera responder al remitente deber\u00e1 saber el puerto que se le asigno para su sesi\u00f3n, si no, no podr\u00e1 hacerlo.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Espero que lo hayan comprendido correctamente he intentado explicar cada concepto y cada escenario de la manera m\u00e1s amena posible.<\/p>\n<p>&nbsp;<\/p>\n<p>Un saludo y muchas gracias por visitar este blog.<\/p>\n<p>Hasta la pr\u00f3xima!<\/p>\n<p>PD: Debo a\u00f1adir, que actualmente los enrutadores comerciales, mezclan varios tipos de NAT y no se basan estrictamente en uno de los aqu\u00ed listados, esto es solamente, para que sepan como trabaja por lo general NAT.<\/p>\n<p>&nbsp;<\/p>\n<div class=\"be-social\" data-url=\"http:\/\/www.monovarlinux.org\/?p=143\" data-base=\"\" data-title=\"Network Address Translation. Tipos de NAT.\" data-track=\"true\" data-via=\"\" data-show=\"{&quot;facebook&quot;:true,&quot;twitter&quot;:true,&quot;google&quot;:true,&quot;reddit&quot;:true,&quot;linkedin&quot;:true,&quot;meneame&quot;:true}\" ><h2 class=\"be-social-title\">Share<\/h2><\/div>","protected":false},"excerpt":{"rendered":"<p>Hola a todos.\u00a0 Esta vez voy a escribir un peque\u00f1o texto que estoy seguro, les servir\u00e1 de utilidad. Lo voy a hacer a modo de apunte personal, pero como he dicho, seguro que les servir\u00e1 a m\u00e1s de uno.. Empecemos&#8230; &hellip; <a href=\"http:\/\/www.monovarlinux.org\/?p=143\">Sigue leyendo <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[8],"tags":[],"_links":{"self":[{"href":"http:\/\/www.monovarlinux.org\/index.php?rest_route=\/wp\/v2\/posts\/143"}],"collection":[{"href":"http:\/\/www.monovarlinux.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.monovarlinux.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.monovarlinux.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.monovarlinux.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=143"}],"version-history":[{"count":8,"href":"http:\/\/www.monovarlinux.org\/index.php?rest_route=\/wp\/v2\/posts\/143\/revisions"}],"predecessor-version":[{"id":194,"href":"http:\/\/www.monovarlinux.org\/index.php?rest_route=\/wp\/v2\/posts\/143\/revisions\/194"}],"wp:attachment":[{"href":"http:\/\/www.monovarlinux.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=143"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.monovarlinux.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=143"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.monovarlinux.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}