SQUID Proxy Transparente

listalinux en tecnocreativo.cl listalinux en tecnocreativo.cl
Mie Abr 14 14:49:17 CLT 2010


Hola a todos.
por favor, les pido su ayuda. he intentado todo lo que he encontrado en la
red, y no hay caso.
lo que quiero es hacer un proxy transparente, en el cual los que se
conecten pasen por el squid y sus reglas en cuanto a sitios denegados,
pero que tambien tengan cliente de correo como el outlook.

el squid me funciona bien, si es que por cada navegador le configuro la ip
y el puerto, pero no es la idea, ya que quiero que sea transparente.

el outlook me funciona bien, cuando le cargo reglas con iptables, pero el
trafico de internet tambien pasa por iptables, por lo que se salta el
squid y sus reglas de navegacion.

ahora probe con esta ultima configuracion de squid, que funciona cuando le
digo al navegador la ip y el puerto de conexion, pero cuando lo dejo
"automatico", que es mi idea, me envia un error de url.

si ha alguien le ha tocado configurar algo similar, le agradezco la ayuda.

aca les dejo el squid.conf y las reglas iptables que he cargado.
como dato:
ETH0:  conexion al internet (directamente al modem de VTR)
   (por si las moscas, el servidor tiene internet)
ETH1:  conexion a la red local. (ip: 192.168.100.1)

----------- SQUID.CONF -------------
http_port 3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_mem 1024 MB
cache_dir ufs /var/spool/squid 700 16 256
access_log /var/log/squid/access.log squid
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern .               0       20%     4320
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl todalared src 192.168.100.0/255.255.255.0
acl sitiosdenegados url_regex "/etc/squid/sitiosdenegados"
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 563     # https, snews
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access allow todalared !sitiosdenegados
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all
http_reply_access allow all
icp_access allow all
cache_mgr administrador en redlocal.cl
httpd_accel_host virtual
httpd_accel_port 80
# httpd_accel_single_host off
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
offline_mode on
header_access X-Forwarded-For deny all
header_access Via denyny all
header_access Accept-Language deny all
header_replace Accept-Language es,en
header_access User-Agent deny all
header_replace User-Agent Nutscrape/1.0 (CP/M; 8-bit)
coredump_dir /var/spool/squid
visible_hostname proxysvr.redlocal
------------- FIN SQUID.CONF -------------------

------------- REGLAS IPTABLES QUE APLICO -------
/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to
192.168.1.1:3128
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT
--to-port 3128
------------- FIN REGLAS IPTABLES --------------


------------- ACA DEJO LA REGLA IPTABLES QUE USE ANTERIORMENTE -----
------------- POR SI LE SIRVE A ALGUIEN. ESTA REGLA TE PERMITE -----
------------- EL TRAFICO POR INTERNET DE FORMA DIRECTA PARA LA -----
------------- RED LOCAL, Y EL OUTLOOK FUNCA BIEN TAMBIEN, PERO -----
------------- AL SQUID SE LO PASA POR ...                      -----
/sbin/iptables -F
/sbin/modprobe iptable_nat
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
------------- FIN REGLA --------------------------------------------



Más información sobre la lista de distribución Linux