Re: squid
Caio.
As regras do squid são processadas em sequência, assim que a primeira
regra bater o processamento das regras termina.
Isso vale tanto para permitir o acesso quanto para negar o acesso.
Recomenda-se colocar as regras com maior probabilidade de acontecerem
primeiro, assim não haverá necessidade de processar regras desnecessárias.
Obs.: Caso nenhuma regra venha a bater, o resultado padrão será o oposto
da última regra.
Para isso existe aquela linha padrão http_access deny ou allow all. Para
não haver ambiguidade.
# Acesso livre, sem nenhuma restricao, na faixa de nome faixa_free
http_access allow faixa_free
# Filtragem na faixa de nome faixa_filter
http_access allow faixa_filter liberapalavra
http_access deny faixa_filter negapalavra
http_access allow faixa_filter negasite
http_access deny faixa_filter liberasite
No arquivo nega site tem o site batepapo.uol.com.br e da minha
estacao, que tem o ip 192.168.0.30, eu estou conseguindo acessar o
site mencionado acima
No exemplo acima que você deu, seu ip faz parte da acl faixa_filter
porém a segunda regra libera estes ips se uma expressão regular for
encontrada conforme a acl liberapalavra e consequentemente o resto será
ignorado.
De qualquer forma, você mesmo pode verificar o que está errado.
Para testar suas regras e saber onde está o furo você pode fazer o seguinte:
No arquivo Squid.conf alterar:
debug_options ALL,1 33,2
(Recomendo recolocar o valor que estava anteriormente após ser resolvido
o problema, a opção acima gera muito mais mensagens normalmente
desnecessárias no log referente ao cache).
Então recarregar o arquivo de configuração:
% squid -k reconfigure
No arquivo cache.log o resultado será algo assim:
2003/09/29 20:22:05| The request GET
http://images.slashdot.org:80/topics/topicprivacy.gif is ALLOWED,
because it matched 'localhost'
2003/09/29 20:22:05| The reply for GET
http://images.slashdot.org/topics/topicprivacy.gif is ALLOWED, because
it matched 'all'
Isso não te diz a linha que a regra fechou, te diz somente o nome da
regra, porém facilita bastante.
Você pode criar regras iguais com nomes diferentes para saber em qual
linha a regra fechou.
Edmundo Valle Neto
Caio Ferreira escreveu:
All
Estou com problema para configurar o squid para barrar determinados
sites em uma determinada faixa de ip. Para isso fiz o seguinte :
$ vi /etc/squid.conf
http_port 3128
cache_mem 8 MB
cache_dir ufs /var/spool/squid 100 16 256
cache_access_log /var/log/squid/access.log
cache_effective_user proxy
cache_effective_group proxy
# Proxy transparenti
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
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 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
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 Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all
icp_access allow all
# ACCESS CONTROLS
########
# Rede #
########
acl redeinterna src 192.168.0.0/24
##################
# Faixas da rede #
##################
acl faixa_free src 192.168.0.10-192.168.0.20
acl faixa_filter src 192.168.0.30-192.168.0.40
##############################
# Coletando dados das listas #
##############################
# acl pra bloquear palavras nos endereços e liberar excessoes
acl negapalavra url_regex "/etc/squid/lists/negapalavra.txt"
acl liberapalavra url_regex "/etc/squid/lists/liberapalavra.txt"
# acl pra bloquear determinados sites e liberar excessoes
acl negasite url_regex "/etc/squid/lists/negasite.txt"
acl liberasite url_regex "/etc/squid/lists/liberasite.txt"
##########
# Regras #
##########
# Acesso livre, sem nenhuma restricao, na faixa de nome faixa_free
http_access allow faixa_free
# Filtragem na faixa de nome faixa_filter
http_access allow faixa_filter liberapalavra
http_access deny faixa_filter negapalavra
http_access allow faixa_filter negasite
http_access deny faixa_filter liberasite
No arquivo nega site tem o site batepapo.uol.com.br e da minha
estacao, que tem o ip 192.168.0.30, eu estou conseguindo acessar o
site mencionado acima
Sera que alguem poderia dizer o que é que eu estou fazendo de errado ?
.''`. Caio Abreu Ferreira
: :' : GNU/Linux Debian
`. `'` Gnupg ID 0x01186BE1
`- Linux Couter 327834
Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 24/11/2004 / Versão: 4.3.20 (10.21) - Dat 4410
Proteja o seu e-mail Terra: http://www.emailprotegido.terra.com.br/
Reply to:
- References:
- squid
- From: "Caio Ferreira" <idic@terra.com.br>