La cosa es que quien instalase los otros 2 Squids que tenemos corriendo en cada SuSE, ni trabaja aqui ni documentó nada. Le daría a "aceptar, aceptar, aceptar" y el último que arree. Al menos uno de ellos tengo que reemplazarlo porque está hecho mierda y la última vez que intenté actualizarle los paquetes, casi me lo cargo.
He copiado punto por punto la configuración de Iptables y Squid en el servidor Debian Lenny que he montado, y no veo donde está el fallo. De momento puedo usar el nuevo equipo como gateway y navegar a través de él, pero el Squid no hace ni puto caso y permite ver cualquier web. Ni siquiera se va llenando el /var/log/squid/access.log
Tiene 3 ethernets:
eth0: 192.168.1.C (LAN 1)
eth1: AA.AA.AA.AA (externa, gateway)
eth2: 192.168.2.C (LAN 2)
Configuración del Squid: (las lineas comentadas estan asi porque daban error)
http_port 192.168.1.C:3128
http_port 192.168.2.C:3128
# http_port AA.AA.AA.AA:3128
dns_nameservers XX.XX.XX.XX
dns_nameservers YY.YY.YY.YY
# Hay 3 DNS más...
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl domain_name src 192.168.0.0/255.255.0.0
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 SSL_ports port 443 563
acl Safe_ports port 80 21 563 70 210 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl Safe_ports port 9696
acl CONNECT method CONNECT
# acl DIRECT method DIRECT
acl negadas dstdomain "/etc/squid/url_negadas.txt"
http_access deny negadas
http_access allow manager localhost
http_access allow aragondigital
# http_access allow DIRECT
http_access allow SSL_ports
http_access allow CONNECT
http_access allow localhost
http_access deny all
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
icp_access allow all
miss_access allow all
# httpd_accel_host virtual
# httpd_accel_port 80
# httpd_accel_with_proxy on
# httpd_accel_uses_host_header on
snmp_port 0
icp_port 0
maximum_object_size 150000 KB
error_directory /usr/share/squid/errors/Spanish
Iptables:#Borramos todas las iptables creadas en el inicio
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
#Hacemos enmascaramiento de red externa,interna y dmz para que un paquete enviado a traves de una ip local, y sea devuelto a traves #de una ip externa, se enmascare con la ip del firewall y sea este el encargado de devolvernosla. Le damos el paquete y el se encarga de # todo. SNAT y DNAT optimizan mas las iptables.
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth3 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth2 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE
#Activamos el forward
echo 1 > /proc/sys/net/ipv4/ip_forward
#Ponemos politica por defecto para todas las I/O en aceptar todo
iptables -P OUTPUT ACCEPT
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
#Redirigimos los puertos de la red local a internet para que sean gestionados por squid (ahora es por el puerto 3128)
#iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24 -d 192.168.1.C -m multiport --dport 80,8080 -j REDIRECT --to-ports 3128
iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24 -d AA.AA.AA.AA -m multiport --dport 80,8080 -j REDIRECT --to-ports 3128
#Activamos el mantenimiento en la comunicacion entre puertos para la politica input, por si hacemos peticion por un puerto y nos devuelven por otro
iptables -A INPUT -j ACCEPT -s 0.0.0.0/0 -d 0.0.0.0/0 -m state --state RELATED,ESTABLISHED
#Filtrado de puertos para la politica INPUT, encargada de paquetes con destino firewall.
iptables -A INPUT -p tcp -s 192.168.1.0/24 -d 0.0.0.0/0 -j ACCEPT
iptables -A INPUT -p tcp -s 194.143.215.32/26 -d 0.0.0.0/0 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 25 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 20 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 110 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 143 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 993 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 995 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 8888 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 443 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 53 -j ACCEPT
iptables -A INPUT -p udp -s 0.0.0.0/0 --dport 53 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 1433 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 12840 --j ACCEPT
iptables -A INPUT -p icmp -s 0.0.0.0/0 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 10000 -j ACCEPT
#Dropeamos al final ya que teniamos aceptar por defecto(si sabes lo que haces puedes quitar el accept)
iptables -P INPUT DROP
#Hacemos lo mismo para la politica FORWard, encargada del redireccionamiento de paquetes de nuestra red a otra.
iptables -A FORWARD -j ACCEPT -s 0.0.0.0/0 -d 0.0.0.0/0 -m state --state RELATED,ESTABLISHED
iptables -A FORWARD -s 192.168.1.0/24 -d 0.0.0.0/0 -j ACCEPT
iptables -A FORWARD -s 0.0.0.0/0 -d 192.168.1.0/24 -j ACCEPT
#iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -p tcp --dport 8080 -j ACCEPT
#iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -p tcp --dport 1863 -j ACCEPT
#iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -p tcp --dport 20 -j ACCEPT
#iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -p tcp --dport 21 -j ACCEPT
#iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -p tcp --dport 443 -j ACCEPT
#iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -p tcp --dport 25 -j ACCEPT
#iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -p tcp --dport 53 -j ACCEPT
#iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -p udp --dport 53 -j ACCEPT
#iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -p tcp --dport 1433 -j ACCEPT
#iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -p icmp -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -p tcp -j DROP
(He editado las IPs y demas datos importantes para no comprometer nada de mi curro)