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