# Cómo configurar un puente de redirección con Iptables

- Link: https://binariocero.com/linux/como-configurar-un-puente-de-redireccion-con-iptables
- Published: 2024-05-30T08:47:41+02:00
- Author: Juan José Fernández Durán

![Loading](https://binariocero.com/wp-content/plugins/page-views-count/ajax-loader-
2x.gif)

Configurar un puente de redireccionamiento con iptables en Linux implica varios 
pasos para asegurarse de que el tráfico de red sea redirigido correctamente a través
de un punto intermedio (el puente).

### 1. Preparativos Iniciales

Antes de comenzar, asegúrate de tener acceso administrativo (root) y que `iptables`
esté instalado en tu sistema. También necesitarás conocer las interfaces de red 
involucradas en la redirección.

### 2. Habilitar el Reenvío de Paquetes

Primero, debes habilitar el reenvío de paquetes en el kernel de Linux. Esto se hace
modificando el archivo `/proc/sys/net/ipv4/ip_forward`:

    ```wp-block-preformatted
    echo 1 > /proc/sys/net/ipv4/ip_forward
    ```

Para hacerlo persistente, añade o modifica la siguiente línea en `/etc/sysctl.conf`:

    ```wp-block-preformatted
    net.ipv4.ip_forward = 1
    ```

Y luego aplica los cambios con:

    ```wp-block-preformatted
    sysctl -p
    ```

### 3. Configurar las Reglas de iptables

A continuación, configura las reglas de `iptables` para redirigir el tráfico. Supongamos
que tienes dos interfaces de red: `eth0` (entrada) y `eth1` (salida).

#### Redirigir Tráfico a una Dirección IP Específica

Si deseas redirigir todo el tráfico que llega a `eth0` hacia una dirección IP específica
en `eth1`, puedes usar la siguiente regla:

    ```wp-block-preformatted
    iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-destination 192.168.1.100iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
    ```

#### Redirigir Tráfico a un Puerto Específico

Si solo necesitas redirigir tráfico a un puerto específico (por ejemplo, el puerto
80 para HTTP), usa:

    ```wp-block-preformatted
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:80iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport 80 -j MASQUERADE
    ```

### 4. Guardar las Reglas de iptables

Para asegurarte de que las reglas se mantengan después de un reinicio, guarda las
reglas de `iptables` en un archivo. En distribuciones basadas en Debian/Ubuntu, 
usa:

    ```wp-block-preformatted
    iptables-save > /etc/iptables/rules.v4
    ```

En distribuciones basadas en Red Hat/CentOS, usa:

    ```wp-block-preformatted
    service iptables save
    ```

### 5. Verificar la Configuración

Finalmente, verifica que las reglas se hayan aplicado correctamente usando:

    ```wp-block-preformatted
    iptables -t nat -L -v
    ```

Esto debería mostrar las reglas que acabas de añadir.

### Ejemplo Completo

Aquí tienes un ejemplo completo de script que puedes ejecutar como root:

    ```wp-block-preformatted
    !/bin/bash# Habilitar el reenvío de paquetesecho 1 > /proc/sys/net/ipv4/ip_forward# Configurar las reglas de iptablesiptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:80iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport 80 -j MASQUERADE# Guardar las reglas (Debian/Ubuntu)iptables-save > /etc/iptables/rules.v4# Para Red Hat/CentOS, usa en lugar:# service iptables save# Verificar las reglasiptables -t nat -L -v
    ```

### Consideraciones de Seguridad

 * Asegúrate de que las reglas `iptables` no permitan tráfico no deseado o potencialmente
   malicioso.
 * Mantén el sistema y `iptables` actualizados para proteger contra vulnerabilidades.

### Conclusión

La configuración de un puente de redirección con `iptables` en Linux permite redirigir
tráfico de red de manera eficiente. Siguiendo estos pasos, puedes configurar y verificar
correctamente las reglas de redirección en tu sistema.
