Clase 5: Tarea - Configuración de un router (SNAT y DNAT)
¿Qué vas a aprender en esta clase?
- Realiza la configuración de un router Linux
- Activar el reenvío de paquetes.
- Configurar reglas SNAT y DNAT.
Teoría
-
¿Para qué se usa un router Linux?
- Para conectar dos o más redes y permitir el enrutamiento de paquetes entre ellas.
- Útil en redes domésticas, laboratorios o firewalls personalizados.
- Puede realizar funciones como:
- NAT (traducción de direcciones).
- Filtrado de paquetes.
- Redirección de puertos.
- Compartir conexión a Internet.
- Habilitar el reenvío de IPs (IP Forwarding): Permite que el kernel reenvíe paquetes entre interfaces de red.
- Comando temporal:
echo 1 > /proc/sys/net/ipv4/ip_forward
- Para hacerlo persistente: Editar el archivo
/etc/sysctl.conf
y añadir o descomentarnet.ipv4.ip_forward = 1
. Y ejecutar:sysctl -p
.
- Comando temporal:
-
SNAT (Source NAT): Se usa para salir a Internet desde una red local con IPs privadas. Cambia la IP de origen de los paquetes por la IP pública del router.
- Con
iptables
:
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to-source 192.0.2.1
eth0
: interfaz de salida (por ejemplo, hacia Internet).-s
: Se indica la red desde la que queremos tener acceso a internet.-
192.0.2.1
: IP pública del router. - Alternativa más sencilla (masquerade) si se usa IP dinámica:
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
- Con
- DNAT (Destination NAT): Se usa para redirigir tráfico entrante desde el exterior a una máquina interna. Cambia la IP de destino de los paquetes.
-
Con
iptables
:iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:80
-
Redirige el puerto 80 entrante a una máquina interna con IP 192.168.1.100.
-
- Hacer reglas
iptables
persistentes: Las reglas deiptables
no sobreviven a un reinicio, se deben guardar. Lo más sencillo para hacerla persistente es usar el paqueteiptables-persistent
(Debian/Ubuntu):- Guarda las reglas actuales:
iptables-save > /etc/iptables/rules.v4
- Se restauran automáticamente al iniciar el sistema.
Recursos
- El Ejemplo 3: Configuración de un router/NAT del curso de virtualización.
Ejercicio
Crea un escenario similar al que encuentras en el Ejemplo 3:
Llamaremos a las máquinas de la siguiente manera:
- La máquina router/nat la llamaremos
router.tunombre.org
. - La máquina interna la llamaremos
interna.tunombre.org
.
Realiza las siguientes tareas:
- Configura de forma estática las interfaces de red de las máquinas que están conectas a la red muy aisladas, comprueba que hay conectividad entre ellas.
- Configura el FQDN de forma correcta en las dos máquinas.
- Crea un usuario llamado
tunombre
que tenga permisos para ejecutarsudo
sin que te pida contraseña en las dos máquinas. - Configura el acceso a las dos máquinas por shh con tu clave pública para acceder con el usuario que has creado. Investiga el uso de
ssh -A
para acceder a la máquina interna desde el exterior. - Configura la máquina router para que permita que la máquina interna tenga acceso a internet. Las reglas que has configurado deben ser persistentes.
- Instala un servidor web en la máquina interna:
sudo apt install apache2
. Crea la regla necesaria para acceder desde el exterior al servidor web con un navegador. Usa resolución estática para acceder a la página web usando el nombrewww.tunombre.org
.
Entrega
- Configuración de red de las dos máquinas. Comprobación de que las máquinas hacen ping.
- Comprobación de que el nombre FQDN está bien configurado.
- Comprobación de que al ejecutar sudo no se pide la contraseña.
- Comprobación del acceso a las dos máquinas con ssh.
- Comprobación de que la máquina interna tiene acceso a internet y resolución DNS.
- Comprobación del acceso a la página web con un navegador desde el exterior.