[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Off topic]:Ayuda con iptables



Bueno, es que yo soy a veces muy espeso en mis explicaciones....
El Martes, 26 agosto, 2003, a las 02:25 PM, Pere Castañer escribió:

On Tue, 26 Aug 2003 13:55:40 +0200
Victor Calzado <vcalzado@cnio.es> wrote:

Hola :))

---snip--

Por loque me dices, el problema és que las reglas de nat están en el sitio equivocado no? Es decir que no dependen de INPUT, sinó de forwarding, por lo que deberia ser el fichero..como sigue?:


Realmente es una consecuencia del diseño de la pila TCP/IP y de como se integra netfilter en ella y de como vemos nosotros las cosas, me explico:

En nuestro caso resulta bastante común llegar a la conclusión de que todo lo que entra por un interface de red pasa primero por el gancho de INPUT pero a nivel de nucleo el enrutamiento va a seguir caminos distintos si el paquete es local ( que si será tratado por INPUT ) que si va a ser redirigido a un sistema no local ( una traducción algo libre de FORWARD ) Así la decisión de enrutamiento de un paquete entrante se bifurca si es local sigue un camino (y nosotros podremos actuar sobre él con reglas de INPUT) y si está o va a estar dirigido (cuando reescribamos la dirección con nuestras reglas de Destination NAT) a un sistema no local seguirá otro y para actuar sobre él deberemos aplicar nuestros filtros sobre el "gancho" o "cadena" de FORWARD.

Si le echas un ojo al howto de netfilter verás un grafiquillo ascii muy explicativo (http://www.netfilter.org/documentation/HOWTO/es/packet-filtering- HOWTO.txt)


De esta forma si no permites (como ocurre en tu configuración) reenvio de paquetes estás actuando sobre todas las reglas de PREROUTING que utilices impidiendo que puedan aplicarse (ya que dependen de la capacidad del sistema para reenviar paquetes) ¿cómo lo corriges? una vez que has visto el error de concepto es sencillo piensa sin más que lo que tu considerabas INPUT en el caso del DNAT es FORWARD ya que realmente los paquetes son reenviados, tendrías que rehacer tu configuración para permitir el reenvio de paquetes en vez de su entrada, como conceptualmente los paquetes que se envían entran y salen por el interface necesitarías permitir esto tanto en la entrada como en la salida de los interfaces implicados ( en tu caso que no permites reenvío de paquetes que tengan como entrada eth0 deberías permitirlo para los puertos de los que quieras hacer DNAT, lo que es posible que sólo te suponga sustituir en esas reglas INPUT por FORWARD )


Espero haberme explicado algo mejor pero es evidente que al mejor manera de aclararse con todas estas cosas es pasarse por netfilter.org y aprovechar la gran cantidad de información (desde mi punto de vista de una categoría excepcional) que tienen.

un saludo
Victor



Reply to: