Buckminster
(usa Debian)
Enviado em 18/11/2013 - 02:53h
http_port 3128 intercept
cache_mem 128 MB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid3 2048 16 256
cache_access_log /var/log/squid3/cache.log
visible_hostname sphnetserver
cache_mgr victor@equipeinfo.com.br
coredump_dir /var/spool/squid3
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
error_directory /usr/share/squid3/errors/pt-br
# Acl da rede interna
acl redelocal src 192.168.200.0/24
#################################################################
# Acls Padrao
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
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
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
# Acls Personalixadas para PROXY Transparente
#acl acessobasico src "/etc/squid3/ips.basic"
#acl acessocompleto src "/etc/squid3/ips.full"
# Bloqueios Sites/Arquivos/Palavras
#acl palavras url_regex -i "/etc/squid3/palavras.deny"
#acl sitesproibidos url_regex -i "/etc/squid3/sites.deny"
#acl downloadsproibidos url_regex "/etc/squid3/downloads.deny"
#http_access allow acessocompleto
#http_access deny downloadsproibidos
#http_access deny palavras
#http_access deny sitesproibidos
#http_access allow acessobasico
http_access allow redelocal
http_access allow localhost
http_access allow all
Fiz umas alterações na ordem das ACLs. Teste o squid.conf acima.
Veja bem, no começo do squid.conf não precisa #!/bin/sh e não precisa dar permissão de execução (não sei se você fez isso, só estou falando porque tinha #!/bin/sh no começo).
Se teu Squid for versão 3.0 ainda é transparent para proxy transparente, se for versão 3.1 e acima o certo é intercept. No Squid 3 todas as versões ainda funciona o parâmetro transparent, meia boca mas funciona, porém não sei até quando.
Para ver a versão execute squid -v ou squid --version.
A última ACl, "http_access allow all" permite tudo, teste primeiro com ela como allow e veja se os clientes navegam. Não esqueça de reiniciar as máquinas clientes a serem testadas e teste em pelo menos duas com navegadores diferentes. Se navegar troque para "http_access deny all" e teste de novo. Caso continuar navegando (DEVE continuar navegando) deixe como deny.
Acredito que você poderia aumentar o cache_mem, mas para isso verifique quanto de memória RAM total tem na máquina e quais os serviços instalados nela. Se você tem 2 GB ou mais de RAM no servidor com Squid, o normal é colocar um terço do total de memória RAM caso tenha instalado no servidor somente o Squid com DHCP e Iptables e mais algum outro serviço que não consuma muita memória.
Se você for configurar um servidor DNS para tua rede interna aconselho a instalá-lo em outra máquina.
Após cada alteração no squid.conf você deve reiniciar o Squid.
Aconselho você também a refazer o cache. Pare o Squid e execute squid -z e inicie o serviço e teste.
E no teu dhcpd.conf troque esta linha
option broadcast-address 255.255.255.255; << isso aqui NÃO é o endereço de broadcast da tua rede, é o chamado "broadcast limitado".
por
option broadcast-address 192.168.200.255; << isso aqui é teu endereço de broadcast.
Cada vez que você for configurar uma rede, utilize esta ferramenta para cálculo de endereços IP:
http://www.subnet-calculator.com/
E acrescente authoritative; logo depois de log-facility local7;
No dhcpd.conf também não precisa de #!/bin/sh no início. Salve, saia do arquivo e reinicie o DHCP.
No Iptables, esta linha
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 80 -j REDIRECT --to 3128
deixe assim
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to 3128
No script do Iptables PRECISA #!/bin/sh no início e precisa dar permissão de execução. Salve, saia do arquivo e reinicie o Iptables.
Isso tudo irá resolver teu problema, que, basicamente era o endereço de broadcast que estava errado, mas agora chega, escrevi quase um artigo inteiro.
http://www.vivaolinux.com.br/artigo/Redes-de-Computadores-IPtables-Enderecos-IPs-Explicacoes-basicas...
http://www.vivaolinux.com.br/artigo/Squid-Entendendo-um-pouco-as-configuracoes/?pagina=4