Buenas,

El Thu, Feb 19, 2004 at 05:08:28PM +0100, Eduardo Sanchez M. escribi�:
> Buenas!
> Tengo una m�quina que funciona como gateway, con iptables.
> Le puse las sgtes. reglas:
> 
> iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to [ip_publico]
> iptables -A INPUT -i eth1 -p tcp --dport 8028 -m state --state NEW -j ACCEPT
> iptables -A INPUT -i eth0 -p tcp --dport 8028 -m state --state NEW -j ACCEPT
> iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8028 -j DNAT --to
> [ip_interno]:8028
> iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
> iptables -A FORWARD -i eth0 -j ACCEPT

Supongo (por las reglas hechas nada m�s para aceptar paquetes) que el
POLICY de FORWARD y de INPUT es DROP. Tambi�n voy a suponer que ten�s
habilitado el forwarding de paquetes IP en el kernel (o sea, ten�s "1"
en /proc/sys/net/ipv4/ip_forward).

> Las primeras 4 lineas lo que hacen es un port forwarding que funciona sin
> ning�n problema, las �ltimas dos las utilizo para salir a internet , el

Hmm, antes que nada, revisemos un poco estas seis reglas para ver si
logro entender que es lo que est�s haciendo, �vale?

Si te fij�s en la primera regla, esta no hace ninguna clase de
port forwarding; m�s bien est� haciendo un NATeo de fuente, o sea,
est� cambiando la fuente de todas las conexiones cuya interfaz de salida
es eth1 a [ip_publico].

Ahora bien, la segunda regla no hace nada. Esto porque el PREROUTING
cambia la direcci�n a la que se dirigen los paquetes, antes de que
(como indica su nombre) se haga la decisi�n de ruteo, por lo que esos
paquetes se van por FORWARD (pues van para [ip_interno], no para nuestra
direcci�n) y nunca llegan a INPUT.

(Ojo que ac� estoy suponiendo que [ip_interno] es el ip de alguna
m�quina en la red interna, y no el ip de nuestra interfaz de red
interna, si no es as�, por favor avis�me).

La tercera regla est� bien. (Aunque ojo que en ese caso, las conexiones
internas al puerto 8028 no est�n siendo forwardeadas a [ip_interno], no
s� si eso es bueno o malo).

La cuarta regla si es la encargada de hacer el port forwarding.

No entiendo para qu� tienes la regla 5 si esta hace exactamente lo
mismo que la regla 1 (en una computadora donde [ip_publico] no cambia,
como supongo que es el caso ac�) solo que con m�s overhead (por tener
que calcular la direcci�n de que se va a usar como fuente cada vez que
procesa un nuevo paquete).

Y la sexta se encarga de aceptar los paquetes de la red interna que van
a ser enviados hacia afuera, eso est� bien.

Ok, si entiendo bien, lo que quer�s hacer es que todos los paquetes que
vienen desde la red externa hacia el puerto 8028 sean redirigidos a un
servidor en la red interna. Aparte de eso, hay que darle salida a la red
externa a todas las computadoras de la red interna, �estoy bien?

Si ese es el caso, pues solo con las siguientes reglas todo deber�a
funcionar sin problemas:

# Hacer port forwarding del puerto 8028
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8028 -j DNAT --to
[ip_interno]:8028

# Permitir que las m�quinas internas tengan salida a la red externa
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to [ip_publico]
iptables -A FORWARD -i eth0 -j ACCEPT

Ahora, si lo que quer�s hacer es otra cosa completamente distinta y yo
estoy hablando demasiada paja para un solo correo, entonces ignor� todo
lo que dije y m�ndame a la $%&$@" ;-).

> problema es que con linux no funciona muy bien, a ratos puedo conectarme a irc,
> bajar correo pop, navegar etc..., pero de pronto como que deja de funcionar; no
> tengo la menor idea de lo que pueda estar pasandole, lo mas curioso es que
> despues de un rato, sin tocarlo, el solito empieza a funcionar de nuevo.
> Todavia mas interesante es el hecho de que con WindowsXP la m�quina no da
> ning�n problema, se conecta a todos los servicios normalmente.

No tengo ni la menor idea de porque est� pasando eso, pero si podemos
arreglar un poco las reglas que est�s usando, a lo mejor el problema
desaparece automagicamente :-).

> normal, por el contrario en Linux le agregu� el gateway y al ver la tabla de
> ruteo tengo dos gateways(el que me asigna el DHCP y el del iptables), con

Esto se puede arreglar (en caso de que est�s usando el cliente de DHCP
de la ISC) modificando el archivo /etc/dhclient.conf (dependiendo de la
versi�n de dhclient y de la distribuci�n, puede estar en otro lugar). Lo
que hay que hacer es decirle que use el valor que nosotros le damos como
gateway, en lugar de usar el valor que le da el servidor DHCP, algo como
as�:

supersede routers ip.del.gateway;

Para m�s informaci�n, man dhclient.conf.

> route manualmente quito el gateway de DHCP y a veces funciona, pero como coment�
> anteriomente, a veces no le da la gana.

Ojo que los valores que manda el servidor DHCP son temporales, o sea,
despu�s de un cierto tiempo se renuevan, por lo que, a�n cuando ya
hab�as borrado la ruta que te dio el servidor DHCP, esta se vuelve a
crear despu�s de un rato (cuando se renueva el lease).

> cualquier consejo es bien agradecido...

Espero que esta info te sirva de algo.

> gracias de antemano..

Con gusto.

> saludos,

Idem.

-- 
Jeffrey Esquivel

"All your questions can be answered, if that is what you want. But once
you learn your answers you can never unlearn them."
                                     --Neil Gaiman, "American Gods"

--
Desuscripci�n: escriba a [EMAIL PROTECTED], tema 'unsubscribe'
Problemas a: [EMAIL PROTECTED]  http://www.linux.or.cr/listas

Responder a