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

Re: Problemas con un proxy transparente squid con iptables



El mié, 20-07-2005 a las 12:33 +0100, Fernando García Cabrera escribió:
> 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. 
>  

en las maquinas el default gateway es el proxy???

> Aquí tienen la configuración para proxy transparente en el squid.conf:
> --------------------
> http_port 192.168.36.254:3128
>  
> httpd_accel_host virtual
> httpd_accel_port 80
> httpd_accel_single_host off
> httpd_accel_with_proxy on
> httpd_accel_uses_host_header on
>  
> acl mired src 192.168.36.0/255.255.255.0
> 
> http_access allow mired
> -------------------
> 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
> # Borrar las reglas anteriores
> iptables -F
> iptables -t nat -F
> iptables -X
> iptables -Z
>  
> # Deshabilitar ping para la red externa.
> iptables -A INPUT -i eth1 -p icmp --icmp-type 8 -j DROP
> iptables -A FORWARD -i eth1 -p icmp --icmp-type 8 -j DROP
>  
> # Detener las conexiones entrantes desde la interfaz eth1 (exterior)
> menos ssh
> iptables -A INPUT -p tcp -i eth1 --dport 22 -j ACCEPT
> iptables -A INPUT -p all -i eth1 -j DROP
>  
> # Aceptamos que consulten los DNS
> iptables -A FORWARD -s 192.168.36.0/24 -i eth0 -p tcp --dport 53 -j
> ACCEPT
> iptables -A FORWARD -s 192.168.36.0/24 -i eth0 -p udp --dport 53 -j
> ACCEPT
>  
> # Con esto permitimos hacer forward de paquetes en el firewall, o sea
> # que otras máquinas puedan salir a traves del firewall.
> echo 1 > /proc/sys/net/ipv4/ip_forward
>  
> # Emascaramiento del trafico saliente
> iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/255.255.0.0 -j
> MASQUERADE
>  
> # Redireccionamiento de servicios ordinarios
> # FTP-data
> iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 20 -j REDIRECT
> --to-port 3128
> # FTP 
> iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 21 -j REDIRECT
> --to-port 3128
> # GOPHER 
> iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 70 -j REDIRECT
> --to-port 3128
> # HTTP 
> iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT
> --to-port 3128
> # WAIS 
> iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 210 -j REDIRECT
> --to-port 3128
> # HTTPS
> iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT
> --to-port 3128
> ----------------------------
> 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? 
No(para la primera parte) Si ( para la segunda)
Tenes que implementar la politica de dropear todo y permitir solo lo que
vas a utilizar
fijate en el man de iptables, la seccion "targets"

> 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.
es logico


-- 
Angel Claudio Alvarez
Usuario Linux Registrado 143466
GPG Public Key en http://pgp.mit.edu
key fingerprint = 3AED D95B 7E2D E954 61C8  F505 1884 473C FC8C 8AC4

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: