Segunda tentativa:
Eu configurei o Firefox para usar o proxy IP e a porta, e funcionou, então minha hipótese está correta: por alguma razão, a máquina onde o Squid está rodando não envia as petições recebidas. Mas de qualquer forma, a ACL não funciona, então tentarei resolver esse problema mais tarde.
Atualmente, tenho isto:
acl our_networks src 192.168.0.0/24 192.168.0.1/24 192.168.0.2/24
acl superuser src 192.168.0.5
acl blocked_sites regex_url "/etc/squid/blocked_sites"
http_access allow superuser
http_access deny blocked_sites
http_access deny all
E todas as palavras listadas em blocked_sites estão bloqueadas, mesmo para o IP 192.168.0.5 (o superusuário ACL).
Eu leio e leio, e não consigo entender o que estou fazendo de errado.
Pergunta original:
Eu tinha o Squid funcionando sem problemas, o que filtrava sites por regex_url
. Mas quando modifiquei o ACL para conceder acesso a alguns sites em determinadas horas, ele parou de funcionar.
O demônio é executado sem nenhum problema, no entanto, qualquer tentativa de bloquear o acesso, seja apenas a alguns sites ou a toda a rede, é em vão. Se eu parar o demônio, todo PC da rede continua a ter acesso à internet, o que me faz pensar que mesmo que o Squid esteja instalado e funcionando, as petições da rede não são filtradas por ele.
Este é o meu squid.conf
, o único arquivo que editei.
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 to_localhost dst 127.0.0.0/8
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
# My rules
acl our_networks src 192.168.1.0/24 192.168.2.0/24 192.168.0.0/24
acl laboratorio src 192.168.0.101-192.168.0.130
acl acceso_completo src "/etc/squid/acceso_completo"
acl almuerzo time 13:15-14:00
acl tarde time 4:30-19:00
acl sitios_bloqueados url_regex -i "/etc/squid/sitios_bloqueados"
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
http_access allow our_networks !sitios_bloqueados
http_access deny all
#Allow ICP queries from everyone
icp_access allow all
# Squid normally listens to port 3128
http_port 3128 transparent
#We recommend you to use at least the following line.
hierarchy_stoplist cgi-bin ?
#We recommend you to use the following two lines.
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
#Suggested default:
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
# Apache to signal ETag correctly on such responses
acl apache rep_header Server ^Apache
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow all !sitios_bloqueados
http_access allow localhost
http_access deny all
broken_vary_encoding allow apache