La traducción de direcciones IP, comúnmente conocida como NAT (Network Address Translation), es una técnica fundamental en la gestión de redes informáticas. Con la proliferación de dispositivos conectados y la limitación de direcciones IPv4 disponibles, se ha convertido en una herramienta indispensable para optimizar la asignación de estas direcciones. Examinemos cómo funciona este proceso y sus diversas formas de implementación.
¿Qué problemática soluciona NAT?
La principal preocupación que aborda NAT es la escasez de direcciones IPv4 únicas. En un mundo ideal, cada dispositivo conectado a Internet dispondría de una dirección IP única. Sin embargo, la cantidad limitada de direcciones IPv4 hace que esto sea inviable. NAT permite que múltiples dispositivos en una red local compartan una única dirección IP pública para conectarse a Internet.
Optimización de direcciones: Permite que múltiples dispositivos usen una dirección IP pública única.
Seguridad mejorada: Al ocultar las direcciones IP internas de los dispositivos, NAT añade una capa de protección contra accesos no autorizados.
¿Cuáles son las funciones principales de NAT?
NAT se utiliza principalmente de dos maneras: SNAT (Source NAT) y DNAT (Destination NAT).
SNAT (Source NAT): Traduce múltiples direcciones IP locales a una sola dirección IP pública. Por ejemplo, si tienes tres dispositivos conectados a un enrutador configurado con NAT, este asignará un puerto específico para cada solicitud de conexión, permitiendo así que todas las solicitudes salgan a Internet a través de la misma dirección IP pública.
ip nat inside source list 1 interface Serial0/1 overload
DNAT (Destination NAT): Se centra en la traducción de las direcciones de destino. Es especialmente útil cuando se gestionan servicios específicos dentro de una red interna. Por ejemplo, un enrutador puede dirigir una solicitud HTTP hecha a un puerto específico hacia un servidor interno configurado para manejar solicitudes HTTP.
¿Cómo se configura NAT en un enrutador?
Configurar NAT en un enrutador es crucial para permitir que los dispositivos internos accedan externamente. En el caso de un laboratorio configurado con VirtualBox, típicamente se establece usando comandos específicos en la CLI del enrutador:
ip nat inside source list 1 interface GigabitEthernet0/1 overload
Pasos básicos:
Define una lista de direcciones IP que usarán SNAT.
Asigna la interfaz de salida que usará la dirección IP pública.
Utiliza parámetros como overload para permitir que múltiples dispositivos compartan la misma IP pública.
¿Qué ventaja tiene usar NAT dinámico?
El beneficio del NAT dinámico, especialmente cuando se utiliza con servidores DHCP, es que no requiere que una dirección IP se asigne de forma estática. Esto significa que puedes agregar o remover dispositivos sin preocuparte por asignaciones de direcciones IP específicas.
Flexibilidad: Imprescindible para redes donde los dispositivos cambian frecuentemente.
Automatización: Combinado con DHCP, permite la asignación automática y eficiente de direcciones.
A medida que las redes se expanden y se diversifican, es importante comprender las herramientas que facilitan y optimizan la conectividad y seguridad, como es el caso de NAT. Ahora que hemos explorado el fundamento y configuración de NAT, el siguiente paso lógico es investigar cómo los nombres de dominio colaboran con este sistema para ofrecer la experiencia fluida que esperamos de Internet.
Para los que no tienen conectividad, a mi me funcionó hacer lo siguiente, luego de haber configurado todo según los videos.La configuración de RIPD se pierde.
En Router 1:
telnet localhost 2602
enable
configure terminal
router rip
network 192.168.10.0/24
network 192.168.120.0/24
network enp0s8
network enp0s3
echo “1” > /proc/sys/net/ipv4/ip_forward (importante)
(Acordate que a partir de una clase de Análisis de NAT tendrás que agregar el siguiente comando)
iptables -A POSTROUTING -t nat -o enp0s8 -j MASQUERADE
Luego de eso, no tocas tocas nada.
(+) Cada vez que quieras apagar los routers, te recomiendo guardar el estado, porque sino se pierde la configuración de RIPD.
(+) Si en algún momento pierdes la conectividad, aplica los comandos devuelta.
Voy a probar todo esto. Desde ya muchas gracias! Crack
Mi problema sigue siendo que Kali no se conecta con la internal-10. Los routers estan conectados entre sí, y router 1 recibe internet, la ip 192.168.10.254 de router 1 tiene conexión pero no conecta con 192.168.10.100 que es la máquina Kali.
No me está funcionando dhclient -r eth0
Ayer apague mi notebook, hoy al encender e iniciar mi laboratorio, me encontré que mi Kali no tenia conexión a Internet, en la verificación, me di cuenta de que no salía a Internet desde el Router2 (es decir el que tiene el NAT configurado), recordé que colocamos estos comandos 'iptables' pero al reiniciar es muy probable que se pierdan, por lo tanto es necesario hacerlos persistentes.
.
Configuré nuevamente el NAT en el Router2.
Y Listo! ya con este puedes Reiniciar todo tu Laboratorio y al encender todo estará bien!.
Saludos.
Fuentes:
Gracias por el aporte, luego del segundo comando para instalación me funciono el primero y luego si guarde, gracias gracias.
Yo por eso mejor guardo el estado de las máquinas sin apagarlas
por¿
A mi me pasaba que desde la maquina kali no podia hacer ping al router 2, pero si al router 1.. lo que pasaba es que el router 1 no redirigía el trafico hacia el router 2, hasta que cambie en los dos routers el archivo /proc/sys/net/ipv4/ip_forward, que por defecto tiene 0, lo cambie a 1(aparte de agregarle las lineas que muestra en el video del archivo /etc/sysctl.conf). Ahi si me funciono bien
Gracias ! Ese mismo error ocurria en el curso de funadmentos de Pentesting pero no me acordaba jajaj gracias.
Este curso esta muy interesante, igual que otros y existe algo que debemos analizar y entender.
Cada uno de nosotros por X o por Y aveces no tenemos el mismo ambiente de prueba que utiliza el instructor, o simplente nos ha faltado dar un paso clave de las instrucciones para que todo nos salgo como los escenarios de prueba.
Les cuento aque aveces he tenido capitulos en que las cosas no me salen y por mi experiencia en otros cursos es clave completar cada detalle de las configuraciones, ya que serian utilizadas en lo adelante, me he estancado dias con problemas de la distribucion Linux, o cosas que no logro resolver porque no se me presentan como el ambiente ideal, pero al final encuentro el valor de esto.... DESPUES DE ESTOS CHARCOS SALGO SIENDO UN SER MAS CAPACITADO Y CON MAS EXPERIENCA NO SOLO EN LA CLASE EN CUESTION, TAMBIEN EN LA FORMACION GENERAL.
Asi que no se desanimen cuando se les presenten estos baches, busque ayuda en fuentes externas, ya que de eso se trata la formación, esta platafora de Platzi nos abre la puerta, pero la casa es grande debemos caminarla y abrir ventanas..... Vamos muchach@s...
Es probable que les arroje un error de command not found para iptables. En dicho caso, deben instalar iptables. Si da un error de la dependencia libxtables12, deben instalar esa dependencia primero. Es posible que arroje un error de la versión de libxtables12 que ya esté instalada, entonces el comando debe ser apt install libxtables12=1.8.2-4
Gracias por el aporte.
OTRA VEZ 1 hora configurando todo y llegado a este punto otra vez NO TIRA PING AL ROUTER 2 LA MAQUINA KALI. Por favor una respuesta oficial del curso. No puede ser esto. Probé reconfigurando ripd otra vez y reiniciando networking, pero nada. No hay caso.
En Kali volví a poner dhclient -r eth0 y luego dhclient eth0 y nada no conecta siquiera.
El comando /etc/init.d/networking restart no funciona en Kali no resolvió nada.
Mismo problema.
Mi consejo ante esto, es que al finalizar la configuración de las máquinas y probar que están funcionando utilizar la opción de tomar una instantánea o snapshot con la configuración en perfecto estado, así en caso de fallo solo debemos restaurar la instantánea y evitarnos estos líos . Podemos crear instantáneas en varias partes de los cambios de nuestros sistemas.
les comento que Juan Pablo en los videos no se le ve usar el comando
echo “1” > /proc/sys/net/ipv4/ip_forward
este comando es importante, sin ello es como si no hubieras hecho nada. Se utiliza al terminar la configuración en RIP, además, el ultimo paso del comando
iptables -t nat -A POSTROUTING -o enp0s8 -j MASQUERADE debe hacerse y también en cada router al termino del uso del comando anterior, yo tuve muchos problemas pero finalmente lo conseguí, siguiendo paso a paso los videos, para ambos enrutadores, pero añadiendo ese comando que se encuentra en una documentación que nos compartieron en la clase 5 y que a mi parecer debía estar después de esta clase. En esa misma documentación se menciona además, como evitar que desparezcan las configuraciones.
Saludos
me sale que la orde no encontrada
Poniendo el comamando de nat como lo haces en el video no me funciona, pero si lo pongo asi si:
iptables -A POSTROUTING -t nat -o enp0s8 -j MASQUERADE
Aun no puedo hacer los ejercicios en paz debido a los problemas de configuración. No sé que pasa, hago todo lo que dice en los videos, y las recomendaciones de los compañeros. Aún así, después de tener masomenos controlado que haya conexión, no hay traducción de DNS, simplemente no funcionan los comandos. Kali no tiene internet. Solamente si edito el archivo /etc/resolv.conf agregando nameserver 1.1.1.1 y 8.8.8.8 funciona, pero solo google, despues nada. y en menos de un minuto deja de funcionar. Estoy desesperado ya no sé qué más hacer y no puedo seguir el curso hace 1 mes de tantos problemas en configuraciones y que se desconfigura todo.
Para quien no le funcione iptables en debian Router 2: pongan "su -" para acceder a root que carga todas las carpetas incluyendo /sbin donde está instalado iptables.
kali se me conecta a ningún router pero los routers si se me conectan entre si, he hecho todos los procedimientos 3 veces mas todas las soluciones que ponen los compañeros pero nada me funciona
Hola, para los que tengan problemas con esto, a mí me funciono así.
/sbin/iptables -t nat -A POSTROUTING -o enp0s8 -j MASQUERADE
para los que no tienen ping de kali a router 1 y 2 editar los archivos de los routers 1 y 2 en los siguientes path
/etc/sysctl.conf en la linea donde dice
net.ipv4.conf.all.accept_redirects = 1
cambiar el cero por el uno
esto esta editado osea con el # para prevenir MITM attacks (ataques de hombre en el medio)
ademas en kali si no tienen coneccion a internet pero si a los routers deben editar el archivo
/etc/resolv.conf
nameserver 8.8.8.8
y listo por favor hacer un snapshot de las maquinas por si en el futuro tienen un error solo ejecutan las maquinas desde el ultimo snapshot que les funciono
Muy bien explicado.
Configuración de NAT y redireccionamiento
Network Address Translation (NAT)
Protocolo para traducción de direcciones IP en un dispositivo intermedio.
Existen dos tipos de NAT:
• Source NAT (SNAT)
• Destination NAT (DNAT)
Direccionamiento IPv4 y Subredes (Explicado)
Hola profe una pregunta,
En un esquema tradicional donde tenemos conexión a internet mediante el modem de nuestro ISP, el nateo lo hace el modem de manera automática o como funciona eso?
otro detalle si no hay comunicacion entre los dos router y ustedes siguieron todos los pasos, verifiquen en Virtualbox en la configuracion de red, aparece la opcion "cable conectado" activada,
Utilice una versión actual de debian para realizar la configuración y tengo un problema con iptables
-bash: sudo: command not found
La versión es debian-11.2.0-amd64
En algunas versiones de debian el paquete "sudo" no esta instalado, solo hay que hacer lo siguiente como root: