From:
Fernando García Cabrera [mailto:[EMAIL PROTECTED] Buenos días a todos los usuarios. Estoy intentando configurar un proxy que actúe de forma
transparente para dar acceso a internet a los usuarios de una red local. Lo
primero que hice fue instalar y configurar el squid para que funcione el proxy.
Una vez hecho eso, sin ninguna regla en iptables, configuro un navegador de la
red interna indicando como proxy el 192.168.36.254, que es la máquina que tiene
el squid, y el puerto 3128. El cliente puede navegar perfectamente así. Cuando hago la parte de las reglas de iptables para que
funcione como proxy transparente, sin tener que ir cliente a cliente
configurandolos, es cuando deja de funcionar dando un mensaje de: conection
time out, y no entiendo por qué lo hace. Aquí tienen la configuración para proxy transparente en el
squid.conf: -------------------- http_port 192.168.36.254:3128 httpd_accel_host virtual acl mired src 192.168.36.0/255.255.255.0
Aquí mis reglas para iptables, eth0 es la tarjeta a la red
local (192.168.36.254) y eth1 es la tarjeta al router de internet (172.16.1.1): ------------------------ #!/bin/sh # Deshabilitar ping para la red externa. # Detener las conexiones entrantes desde la interfaz eth1
(exterior) menos ssh # Aceptamos que consulten los DNS # Emascaramiento del trafico saliente # Redireccionamiento de servicios ordinarios ---------------------------- Por cierto, otra pregunta, ¿con estas reglas de iptables
tengo cerrados todos los puertos que no están ahí o tengo que especificar
alguna regla para cerrar el resto de los puertos que no quiero usar? Me
explico, quiero dejar abiertos sólo los puertos 22,53,20,21,70,80,210,443; pero
no quiero que se pueda utilizar por ejemplo el telnet (puerto 23), sin embargo,
con estas reglas hago un telnet al router (que está fuera del firewall) desde
la red interna y no tengo ningún problema para acceder a él. Buenas, Un par de comentarios: 1.- Si habilitas el proxy, ten en cuenta
que también tienes que habilitar el acceso al proxy en el servidor, por lo que
necesitarías una regla como esta: Iptables –A INPUT –i
eth0 –p tcp –destination-port 3128 –j ACCEPT 2.- Como bien comentas, la filosofía más
correcta a seguir es denegar todo y luego permitir el acceso a los puertos
específicos. Para eso está el POLICY (-P) y se tiene que definir nada más
vaciar las tablas (con -F) iptables –P INPUT
DROP iptables –P OUTPUT
DROP iptables –P FORWARD
DROP Ten en cuenta de que si aplicas estas políticas
por defecto, tienes que habilitar en el OUTPUT por lo menos la salida del squid
y el ssh (que veo que son los servicios que tienes habilitados): Iptables –A OUTPUT –o
eth0 –p tcp --source-port 3128 –j ACCEPT Iptables –A OUTPUT –o
eth1 –p tcp --source-port 3128 –j ACCEPT Más información sobre iptables en http://www.netfilter.org/, y además te recomiendo el tutorial : http://iptables-tutorial.frozentux.net/ Espero que te sea de ayuda, Saioa Arrizabalaga |
Title:
- RE: Problemas con un proxy transparente squid con... Arrizabalaga, Saioa
- Re: Problemas con un proxy transparente squi... max
- Re: Problemas con un proxy transparente squi... Angel Claudio Alvarez
- RE: Problemas con un proxy transparente squi... Fernando García Cabrera
- RE: Problemas con un proxy transparente squi... Fernando García Cabrera