Skip to main content

Guía de Configuración: Encaminador NAT en Debian

1. Preparación del Entorno Virtual (VMware)

Antes de iniciar el sistema operativo, debes configurar el hardware de la máquina virtual para que tenga dos tarjetas de red.

  • Adaptador 1: Se usa generalmente para la red interna (Custom/VMnet).

  • Adaptador 2: Añadir una nueva interfaz de red y configurarla en modo "Bridged" (Puente). Esto permitirá que la máquina se conecte directamente a la red física y tenga salida a internet.

2. Configuración de las Interfaces de Red

Una vez iniciado Debian, edita el archivo de configuración de red para asignar las direcciones IP estáticas.

Archivo a editar: /etc/network/interfaces

# Interfaz de Loopback
auto lo
iface lo inet loopback

# Interfaz Interna (Red Privada)
allow-hotplug ens33
iface ens33 inet static
    address 10.33.1.2/24
    # Sin gateway, ya que esta es la red interna

# Interfaz Externa (Salida a Internet - Bridged)
allow-hotplug ens37
iface ens37 inet static
    address 192.168.8.201/24
    gateway 192.168.8.254
    dns-nameservers 8.8.8.8

 Reiniciar las interfaces de red para que se actualize la ip

systemctl restart networking

3. Activar el Reenvío de Paquetes (IP Forwarding)

Para que el tráfico fluya de una interfaz a otra, debemos activar el forwarding en el kernel.

  1. Crea un archivo de configuración para hacerlo persistente.

    echo 'net.ipv4.ip_forward=1' > /etc/sysctl.d/90-override.conf
  2. Verifica que el cambio se ha aplicado (debe devolver 1):
    cat /proc/sys/net/ipv4/ip_forward

4. Configuración de NAT (Enmascaramiento)

Usaremos iptables para enmascarar el tráfico saliente, haciendo que las peticiones de la red interna parezcan venir del propio servidor Debian.

Paso A: Crear el script de reglas

Crea un script en /root/enmascarar.sh con el siguiente contenido:

echo 'iptables -t nat -A POSTROUTING -o ens37 -j MASQUERADE' > /root/enmascarar.sh

Dale permisos de ejecución:

chmod +x /root/enmascarar.sh
Paso B: Persistencia al inicio (rc.local)

Configuraremos el sistema para que ejecute el script anterior en cada arranque.

  1. Crea o edita el archivo /etc/rc.local:

    #!/bin/sh -e
    #
    # rc.local
    #
    sh /root/enmascarar.sh
    exit 0
  2. Asigna permisos de ejecución al archivo rc.local:
    chmod +x /etc/rc.local

5. Verificación Final

Reinicia el servidor para asegurarte de que todo carga correctamente al inicio. Una vez reiniciado, comprueba la tabla NAT:

iptables -t nat -L

Deberías ver una regla en la cadena POSTROUTING con el objetivo MASQUERADE, lo que indica que el NAT está activo y funcionando.