NAT (traducción de direcciones de red)
Sumario
Ventajas de la NAT
El uso de la NAT tiene varias ventajas: La primera y más obvia, el gran ahorro de direcciones IPv4 que supone, recordemos que podemos conectar múltiples máquinas de una red a Internet usando una única dirección IP pública.
Seguridad. Las máquinas conectadas a la red mediante NAT no son visibles desde el exterior, por lo que un atacante externo no podría averiguar si una máquina está conectada o no a la red. Mantenimiento de la red. Sólo sería necesario modificar la tabla de reenvío de un router para desviar todo el tráfico hacia otra máquina mientras se llevan a cabo tareas de mantenimiento.
Desventajas de la NAT
Recordemos que la NAT es solo un parche, no una solución al verdadero problema, por tanto también tiene una serie de desventajas asociadas a su uso: Checksums TCP y UDP: El router tiene que volver a calcular el checksum de cada paquete que modifica. Por lo que se necesita mayor potencia de computación. No todas las aplicaciones y protocolos son compatibles con NAT. Hay protocolos que introducen el puerto de origen dentro de la zona de datos de un paquete, por lo que el router no lo modifica y la aplicación no funciona correctamente.
Principio de NAT
La conversión de direcciones de red o NAT se desarrolló para resolver la falta de direcciones IP con el protocolo IPv4 (dentro de poco tiempo el protocolo IPv6 resolverá este problema). De hecho, en las direcciones IPv4 la cantidad de direcciones IP enrutables (que son únicas en el mundo) no es suficiente para permitir que todos los equipos que lo requieran estén conectados a Internet.
Por lo tanto, el principio de NAT consiste en utilizar una conexión de pasarela a Internet, que tenga al menos una interfaz de red conectada a la red interna y al menos una interfaz de red conectada a Internet (con una dirección IP enrutable) para poder conectar todos los equipos a la red.
Es cuestión de crear, al nivel de la pasarela, una conversión de paquetes desde la red interna hacia la red externa.
Por lo tanto, se configura cada equipo en la red que necesite acceso a Internet para que utilice una pasarela de NAT (al especificar la dirección IP de la pasarela en el campo
"Gateway" [Pasarela] con sus parámetros TCP/IP). Cuando un equipo de red envía una solicitud a Internet, la pasarela hace la solicitud en su lugar, recibe la respuesta y la envía al equipo que hizo la solicitud. Debido a que la pasarela oculta completamente las direcciones internas en la red, el mecanismo de conversión de direcciones de red brinda una función segura. De hecho, para un observador externo de la red, todas las solicitudes parecen provenir de la dirección IP de pasarela.
Espacio de la dirección
La organización que administra el espacio de direcciones públicas (direcciones IP enrutables) es la Agencia de Asignación de Números de Internet (IANA, Internet Assigned Number Authority). RFC 1918 define un espacio de dirección privada que permite que cualquier organización asigne direcciones IP a equipos en su red interna sin correr el riesgo de entrar en conflicto con una dirección IP pública asignada por la IANA. Estas direcciones conocidas como no enrutables corresponden a las siguientes series de direcciones:
- Clase A: desde 10.0.0.0 hasta 10.255.255.255;
- Clase B: desde 172.16.0.0 hasta 172.31.255.255;
- Clase C: desde 192.168.0.0 hasta 192.168.255.55
Todos los equipos de una red interna, conectados a Internet a través de un router y que no posean una dirección IP pública, deben utilizar una dirección que se encuentre dentro de estas series. Para redes domésticas pequeñas, generalmente se utiliza la serie de direcciones comprendidas entre 192.168.0.1 y 192.168.0.255.
Conversión estática
El principio de NAT estática consiste en vincular una dirección IP pública con una dirección IP interna privada en la red. Por lo tanto, el router (o más precisamente la pasarela) permite que una dirección IP privada (por ejemplo 192.168.0.1) esté vinculada con una dirección IP enrutable pública en Internet y lleva a cabo la conversión, en cualquier dirección, al cambiar la dirección en el paquete IP.
Por consiguiente, la conversión de direcciones de red estática permite que equipos de una red interna estén conectados a Internet de manera transparente, pero no resuelve el problema de falta de direcciones, en la medida en que n direcciones IP enrutables son necesarias para conectar n equipos a la red interna.
Conversión dinámica
La NAT dinámica permite que diversos equipos con direcciones privadas compartan una dirección IP enrutable (o un número reducido de direcciones IP enrutables). Entonces visto desde afuera, todos los equipos de la red interna prácticamente poseen la misma dirección IP. Ésta es la razón por la cual a veces se utiliza el término "enmascaramiento IP" para indicar la conversión de direcciones de red dinámica.
Para poder "multiplexar" (compartir) las diferentes direcciones IP en una o varias direcciones IP enrutables, la NAT dinámica utiliza la Conversión de direcciones por puerto (PAT, Port Address Translation), es decir, la asignación de un puerto de origen diferente para cada solicitud, de manera que se pueda mantener una correspondencia entre las solicitudes que provienen de la red interna y las respuestas de los equipos en Internet, todas enviadas a la dirección IP del router.
Habilitación de puertos
La conversión de direcciones de red sólo permite solicitudes provenientes de la red interna hacia la red externa, con lo cual es imposible que un equipo externo envíe un paquete a un equipo de la red interna. En otras palabras, los equipos de la red interna no pueden funcionar como un servidor con respecto a la red externa.
Por esta razón, existe una extensión NAT llamada "habilitación de puertos" o mapeo de puertos que consiste en configurar la pasarela para enviar todos los paquetes recibidos en un puerto particular a un equipo específico de la red interna. Por lo tanto, si la red externa necesita acceder a un servidor Web (puerto 80) que funciona en un equipo 192.168.1.2, será necesario definir una regla de habilitación de puertos en la pasarela, con lo cual se redirigirán todos los paquetes TCP recibidos en el puerto 80 al equipo 192.168.1.2.
Activación de puertos
La mayoría de las aplicaciones cliente-servidor realiza una solicitud a través de un host remoto en un puerto determinado y a su vez abre un puerto para recuperar los datos. Sin embargo, ciertas aplicaciones utilizan más de un puerto para intercambiar datos con el servidor. Éste es el caso, por ejemplo, del FTP, para el que se establece una conexión por el puerto 21, pero los datos se transfieren por el puerto 20. Por lo tanto, con NAT, después de una solicitud de conexión en el puerto 21 de un servidor FTP remoto, la pasarela espera una conexión en un solo puerto y rechazará la solicitud de conexión en el puerto 20 del cliente. Existe un mecanismo derivado de la NAT llamado "activación de puertos" que permite autorizar la conexión con determinados puertos (habilitación de puertos) si se completa una condición (solicitud).
Por lo tanto, se trata de una habilitación de puertos condicional que permite que un puerto se abra sólo cuando una aplicación lo solicita. De esta manera, el puerto no permanece permanentemente abierto.