Entrando en materia, decir que he configurado un "clásico" proxy-firewall con Debian GNU/Linux 5.0.3 Stable, nada de historias. He instalado todo el software vía apt-build y de momento el resultado es más que aceptable. Esta es la primera edición en la que durante todo el evento los routers adsl está n balanceados, y se puede decir que la conexión hacia Internet ha mejorado con respecto a años anteriores.Iptables con DROP, Bind9 cacheando las consultas DNS y Squid ayudan bastante. Ni que decir tiene que el direccionamiento es vía DHCP, y claro, necesitabamos (Organización) "algo" que nos diese un "canuto extra" de salida a Internet. ¿Cómo? Facil! Asignando las direcciones ips fijas vía DHCP y con un script que se ejecuta cada 300 segundos, inserte estas direcciones en un ACL ede Squid que nos llame a un Delay Pool. Suena un poco enrevesado, pero con este script...
#!/bin/bash
FICHERO_SQUID=/etc/squid/canuto
rm -rf $FICHERO_SQUID
touch $FICHERO_SQUID
for ip in `cat /etc/dhcp3/dhcpd.conf|grep fixed-address|awk '{ print $2 }'|cut -d ";" -f1`
do
echo $ip >> $FICHERO_SQUID
done
/etc/init.d/squid reload 2>&1 > /dev/null
#################################################
#
#FICHERO CONFIGURACION SQUID KERNEL 2009
#
#################################################
#Parametros basicos
visible_hostname sauron.kernel2009
http_port 3128 transparent
httpd_suppress_version_string on
#
#
#Pametros de la cache
cache_mem 256 MB
cache_dir aufs /cache 2048 512 128
cache_mgr info@comunidadeozulo.org
coredump_dir /var/spool/squid/coredumpdir
acl manager proto cache_object
maximum_object_size 65535 KB
cache_access_log /var/log/squid/access.log
#
#
#Parametros varios
half_closed_clients off
ftp_user anonymous@nospam.com
error_directory /usr/share/squid/errors/Spanish
#
#
##############################################
# #
#TUNNIG DE TIEMPOS DE REFRESCO DE FICHEROS #
# #
##############################################
#Refresco de la cache MIN PORCENTAJE MAX(MIN)
#
#1440 = 1 dia
#2880 = 2 dias
#10080 = 7 dias
#20160 = 14 dias
#30240 = 21 dias
#
#Ficheros comunes en parties
refresh_pattern \.iso$ 2880 80% 10080
refresh_pattern \.deb$ 2880 80% 10080
refresh_pattern \.tar.gz$ 2880 80% 10080
refresh_pattern \.gz$ 2880 80% 10080
refresh_pattern \.bz2$ 2880 80% 10080
refresh_pattern \.exe$ 2880 80% 10080
#
#
#Ficheros de imagenes
refresh_pattern \.jpg$ 1440 50% 2880
refresh_pattern \.jpeg$ 1440 50% 2880
refresh_pattern \.gif$ 1440 50% 2880
refresh_pattern \.bmp$ 1440 50% 2880
refresh_pattern \.png$ 1440 50% 2880
refresh_pattern \.svg$ 1440 50% 2880
refresh_pattern \.tif$ 1440 50% 2880
refresh_pattern \.tiff$ 1440 50% 2880
#
#
#Documentos
refresh_pattern \.xls$ 1440 80% 2880
refresh_pattern \.doc$ 1440 80% 2880
refresh_pattern \.odt$ 1440 80% 2880
refresh_pattern \.rtf$ 1440 80% 2880
refresh_pattern \.jpeg$ 1440 80% 2880
refresh_pattern \.pdf$ 1440 80% 2880
#
#
#Ficheros comprimidos
refresh_pattern \.zip$ 2880 80% 10080
refresh_pattern \.rar$ 2880 80% 10080
refresh_pattern \.arj$ 2880 80% 10080
####################################
#
#LISTAS CONTROL ACCESO -ACLs
#
####################################
#Definicion de puertos seguros
acl SSL_ports port 443 563 8080
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 20
acl Safe_ports port 443
acl Safe_ports port 563
acl Safe_ports port 777
acl Safe_ports port 1024-65535
acl CONNECT method CONNECT
#############################
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl lan src 192.168.2.0/255.255.255.0
acl canuto src "/etc/squid/canuto"
acl denywords url_regex "/etc/squid/denywords"
acl denydomains dstdom_regex "/etc/squid/denydomains"
acl sincache dstdom_regex "/etc/squid/sincache"
####################################
#
#CONTROL ANCHO BANDA
#
####################################
delay_pools 2
#
#
#Para otros
delay_class 2 1
delay_parameters 2 407000/1048576
delay_access 2 allow canuto
#Para todos
delay_class 1 1
delay_parameters 1 256000/1048576
delay_access 1 allow lan !canuto
#
#
#
#
http_access deny denydomains
http_access deny denywords
http_access allow localhost
http_access allow manager localhost
http_access allow lan
http_access deny CONNECT !SSL_Ports
http_access deny CONNECT !Safe_Ports
http_access deny all