[LUG.ro] Problema con Proxy transparente.
Sebastian Dominguez
sebaminguez en gmail.com
Lun Dic 1 17:28:27 ART 2008
Mariano Benedettini escribió:
> On Fri, Nov 28, 2008 at 10:15 AM, Jeremías _ <superjere2 en hotmail.com> wrote:
>
>> Buenas. Estoy teniendo un problema con un fedora 4 que uso como proxy trasparente.
>> Tengo montado un Squid y un Script Firewall-2.4 (tooodas Iptables) como firewall (Ejem!)
>> El problema lo tengo al hacer forwarding a un puerto especifico dentro de la red.
>> Yo estoy haciendo lo siguiente... (Pongo solo parte del código)
>>
>> $IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 8000 -j ACCEPT
>> $IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 8000 -j ACCEPT
>>
>> $IPTABLES -t nat -A PREROUTING -p tcp -i $EXTIF --dport 8000 -j DNAT --to 192.168.10.xxx:8000
>> $IPTABLES -t nat -A PREROUTING -p upd -i $EXTIF --dport 8000 -j DNAT --to 192.168.10.xxx:8000
>>
>> En que le estoy pifiando?. Puedo acceder solo por tunel pero no con el forwarding transparente.
>>
>> Muchas Gracias
>>
>> Jeremías Palazzesi
>>
>
> Hola:
>
> En primer lugar el FORWARD lo estás aceptando desde $INTIF hacia
> $EXTIF cuando el nateo lo estás haciendo exactamente al revés.
> Segundo, no recuerdo el circuito de Iptables, si es que necesita un
> ACCEPT en INPUT además de esto que mandaste para que deje entrar los
> paquetes. Creo que no, que PREROUTING aplica antes que INPUT, pero
> confirmalo por las dudas.
> Y tercero, supongo que lo habrás hecho, chequeá que esté habilitado el
> forwarding de paquetes en el kernel.
>
> HTH,
> Mariano.
>
Cálculo que lo estará solucionado porque no hubo mas mensajes... pero
recien leo el mensaje...
Si el squid lo tenes en la misma maquina del firewall no va a andar
nunca el forward. El proxy es transparente para los usuarios, pero no
para las conexiones. La conexión a internet es generada desde el squid..
a ver si puedo ser mas claro..
Cuando un cliente pide navegar utilizando el proxy, squid "consume" esa
conexion y genera una nueva hacia internet. Por eso si haces un tcpdump
en la interfaz de salida vas a ver que todas las conexiones se generan
en el squid.
Si el squid y el firewall no estan en el mismo equipo, tene en cuenta lo
anterior para habilitar el forward desde la ip que corresponda.
En definitiva, necesitas un prerouting similar al que tenes pero con la
interfaz de entrada correcta (como menciono Mariano) para hacer "la
transparencia". Luego un input en el equipo donde corra squid (una
obviedad) y un output si squid y el firewall estan en el mismo equipo o
un forward -s ipDelSquid si estan en equipos separados.
Por ahi enredo mas, no se. Comentanos como te fue.
Más información sobre la lista de distribución Lugro