Problema con la redirección de Puertos

Hola, te cuento mi problema, tengo un servidor mandriva 2006, el cual cuenta con 2 interfaces, una publica con IP fija, y la otra tengo mi LAN 192.168.1.X, la conexión a internet la trabajo a través de NAT (iptables), todo funciona de maravillas, pero el problema es que tengo un servidor Apache en una delas maquinas de mi LAN, y la redirección al puerto 80 y 8080(uso jboss) funciona bien desde afuera, pero extrañamente no me funciona desde mi lan, ¿estaré haciendo algo mal?, te paso las lineas de la redireccin: $IPTABLES -t nat -A PREROUTING -i $EXTIF -p tcp --deporte 80 -j DNAT --to 192.168.1.198
$IPTABLES -t nat -A PREROUTING -i $EXTIF -p tcp --deporte 8080 -j DNAT --to 192.168.1.198
Nota: extif es mi interfaz externa

1 Respuesta

Respuesta
1
El problema que tienes es que la regla está contemplando la interfaz. Por lo tanto, cuando los paquetes de tu LAN llegan al Linux que hace NAT, no satisfacen la condición que impusite de:
-I $EXTIF -p tcp --dport 80
Ya que en realidad satisfarían
-I $INTIF -p tcp --deporte 80
Donde $INTIF es tu interfaz interna con la IP de la red 192.168.1.0/24
Seguramente las maquinas de la red interna están usando la misma URL que usan desde internet, por lo que al no poder llegar a la interfaz externa, buscan su default gw que resulta ser la interna.
Solución:
Modifica las reglas para que no tengan en cuenta la interfaz a la hora de aplicar el DNAT. Quedaría algo así:
$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 192.168.1.198
$IPTABLES -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to 192.168.1.198
Y si quieres algo un poco más simple, puedes hacerlo con una sola regla, usando la extensión múltiple ports, que requiere un modulo en kernel que seguramente ya tienes compilado. Quedaría algo así, con una sola regla:
$IPTABLES -t nat -A PREROUTING -p tcp -m multiport --dports 80,8080 -j DNAT --to 192.168.1.198

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas