esdras_laroque
(usa Debian)
Enviado em 08/06/2010 - 00:38h
Olá Renato,
Esqueci de mencionar um detalhe.. Estou usando Squid+Dansguardian
Os usuários são liberados de filtros no proxy através do dansguardian, que na realidade é quem faz todo o meu controle de conteúdo. Não implemento praticamente nada no squid.conf, apenas a autenticação em banco mysql.
Agora com essa minha necessidade, gostaria de continuar com a minha integração, sem repetir informação, ou seja, quero usar a lista de usuários liberados do dansguardian para dizer quem não pegará o controle da delay_pools. Explicando melhor: O dansguardian tem um arquivo filtergrouplist, onde eu coloco o nome do usuário, e o filtro a qual esse usuário pertence, ex: esdras=filtro1. Daí a intenção de usar ACL externa, pois utilizo um script que testa o usuário autenticado no squid, trata de limpar e pegar somente o "campo" do usuário neste arquivo do dansguardian e imprimir OK/ERR se o usuário estiver listado:
server:/etc/squid3# /usr/lib/squid3/user_free.sh
esdras
OK
fulano
ERR
Segundo o que li na documentação do Squid, para usar delay_pools neste caso, teria que usar a delay_class tipo 5, que é quem trata de acl externa, porém, não encontrei exemplos. Já tentei inventar de tudo pra fazer isso funcionar, e desisti.
Se você souber de uma forma mais simples de fazer isso, seria uma ótima ajuda.
Obrigado por responder.
Segue meu squid.conf .....
##############################################################
auth_param basic program /usr/lib/squid3/mysqlt_auth
auth_param basic children 15
auth_param basic realm Internet Restrita
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl auth_users proxy_auth REQUIRED
external_acl_type user_free %LOGIN /usr/lib/squid3/user_free.sh
acl usuario_livre external user_free
acl extensoes url_regex -i ftp .exe$ .mp3$ .wav$ .mpeg$ .flv$ .mov$ .zip$ .rar$ .mp4$ .3gp$ .rmvb$ .iso$
.mpg$ .avi$ .wmv$ .nrg$
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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
delay_pools 1
#delay_class 1 5
#delay_parameters 1 -1/-1 -1/-1
#delay_access 1 allow usuario_livre
delay_class 1 2
delay_parameters 1 -1/-1 500/5000
delay_access 1 allow extensoes
http_access allow auth_users
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all
icp_access deny all
htcp_access deny all
http_port 3128
hierarchy_stoplist cgi-bin ?
cache_mem 1536 MB
maximum_object_size_in_memory 80 KB
cache_dir ufs /var/spool/squid1 3000 16 256
cache_dir ufs /var/spool/squid2 3000 16 256
cache_dir ufs /var/spool/squid3 3000 16 256
cache_dir ufs /var/spool/squid4 3000 16 256
cache_dir ufs /var/spool/squid5 3000 16 256
cache_dir ufs /var/spool/squid6 3000 16 256
cache_dir ufs /var/spool/squid7 3000 16 256
cache_dir ufs /var/spool/squid8 3000 16 256
cache_swap_low 95
cache_swap_high 98
access_log /var/log/squid3/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern . 0 20% 4320
pconn_timeout 120 seconds
icp_port 3130
error_directory /usr/share/squid3/errors/Portuguese
coredump_dir /var/spool/squid3
visible_hostname Proxy