Squid (squid.conf)

Squid transparente sem dor de cabeça

Categoria: Networking

Software: Squid

[ Hits: 22.945 ]

Por: Paulo Henrique


Este conf mostra como deixar seu Squid transparente funcionando redondo, fazendo bloqueios por palavras, domínio, horário e por aí vai...

Necessário criar diretório files dentro de /etc/squid, após ter criado esse diretório será necessário criar todos os arquivos conf mencionados em todas as ACLs.

E para finalizar,  a parte de http_access está toda comentada na conf, pois isso vai de cada um para ir liberando...

Versão Linux utilizada, Ubuntu 9.10.

É isso... Bom proveito!


http_port 3128 transparent

cache_effective_user proxy
cache_effective_group proxy

visible_hostname NOME_SERVIDOR   # Definir nome servidor

cache_dir ufs /var/tmp/squid/cache 8100 16 256
cache_mem 512 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 30000 KB

cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
cache_swap_log /var/log/squid/swap.log

pid_filename /var/log/squid/squid.pid
error_directory /usr/share/squid/errors/Portuguese
logformat squid %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt

# ACCESS CONTROLS
# -----------------------------------------------------------------------------

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 #miltilink http

acl CONNECT method CONNECT
acl minha_rede src 192.168.0.0/255.255.255.0   # colocar ip rede correto

acl palavras-ok url_regex -i "/etc/squid/files/palavras-ok.conf"
acl palavras-block url_regex -i "/etc/squid/files/palavras-block.conf"
acl sites-ok dstdomain "/etc/squid/files/sites-ok.conf"
acl sites-block dstdomain "/etc/squid/files/sites-block.conf"

acl acesso_padrao dstdomain "/etc/squid/files/sites-liberados.conf"
acl permitir_total src "/etc/squid/files/ips-liberado.conf"

acl mp3 req_mime_type -i ^audio/mpeg$
acl msn req_mime_type -i ^application/x-msn-messenger$
acl zip req_mime_type -i ^application/x-zip-compressed$
acl exe req_mime_type -i ^application/octet-stream$
acl jpeg req_mime_type -i ^image/jpeg$
acl bmp req_mime_type -i ^image/bmp$
acl javascript req_mime_type -i ^application/x-javascript$

acl msn-palavras url_regex -i "/etc/squid/files/msn-palavras.conf"
acl msn-permite-ips src "/etc/squid/files/msn-permitido-ips.conf"
acl downloads-permitido-ips src "/etc/squid/files/downloads-permitido-ips.conf"
acl downloads-palavras url_regex -i "/etc/squid/files/downloads-palavras.conf"


acl semiliberados src "/etc/squid/files/ips-semiliberado.conf"

acl libera-domingo-ips src "/etc/squid/files/libera-domingo-ips.conf"
acl domingo time S 00:01-23:59

# -----------------------------------------------------------------------------
# Sites por fora do Squid
 
acl sitesespeciais url_regex -i "/etc/squid/files/sitesespeciais.conf"
no_cache deny sitesespeciais
always_direct allow sitesespeciais

# -----------------------------------------------------------------------------
# 
#


#http_access deny all !minha_rede

#http_access deny manager
#http_access deny all !Safe_ports
#http_access deny CONNECT !SSL_ports

#http_access allow palavras-ok

#http_access allow acesso_padrao
#http_access allow permitir_total
#http_access allow msn-palavras msn-permite-ips
#http_access deny msn-palavras
#http_access allow downloads-palavras downloads-permitido-ips
#http_access deny downloads-palavras
#http_access allow semiliberados !palavras-block
#
#http_access deny palavras-block !palavras-ok
#http_access deny sites-block !sites-ok
#
#http_access allow all
#
# http_reply_access deny msn
# http_reply_access deny zip
# http_reply_access deny exe
# http_reply_access deny mp3

  


Comentários
[1] Comentário enviado por vandermarques em 22/11/2010 - 17:29h

Olá cardoso_ph. tenho uma dúvida cruel. eu instalei aki num pc o squid2.7.stable9, e de jeito nenhum ele fica transparente. tudo funciona legar se eu colocar o endereço do proxy nos navegadores. mas se eu retirar não funciona. se rá que pode me ajudar? minha eth0 recebe a internet e a eth1 vai pro switch (192.168.1.1)
como falei tenho de ir nos navegadores a apontar: 192.168.1.1 porta 3128. e desta forma os outlooks não funcionam.

[2] Comentário enviado por cardoso_ph em 23/11/2010 - 08:48h

Olá Vandermarques

Nas estações sem o end de proxy configurado, você consegue dar um ping para o ip do modem adsl? Se não, faz isso abaixo:
Verifica na sua configuração de rede, se existe configurado na sua eth0 o gateway padrão(nesse caso o modem adsl), e deixe sua eth1 sem Gateway.

Outra coisa tem que ter um redirecionamento da porta 80 para o porta proxy, segue um exemplo:

## iptables.conf

#Variavel
LAN="192.168.0.xxx"
P_PX="3128"

#" Habilita roteamento..."
echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -A FORWARD -i $LAN1 -p tcp --dport $P_PX -j ACCEPT
iptables -t nat -A PREROUTING -i $LAN1 -p tcp --dport 80 -j REDIRECT --to-port $P_PX

Qualquer dúvida só postar.

At,

Paulo Henrique

[3] Comentário enviado por dastyler em 17/12/2010 - 12:01h

Boa conf Paulo. simples e direta.
Mas na verdade acho que o Vander quis dizer é que se desabilita o proxy no navegador ele perde a conexão.
Bem Vander, se o problema for este, aliado a solução do iptables passada acima, se os terminais forem Windows XP pode-se criar um arquivo .reg e executar nas máquinas.
Abaixo o conteúdo do arquivo .reg que utilizo e que funciona a contenteo (configurado para uso com Speedy):

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"ProxyEnable"=dword:00000001
"ProxyServer"="IP_DO_SERVER_PROXY:3128"
"ProxyOverride"="200.201.174.*;200.221.*;200.171.*;201.56.207.*;192.168.*;200.207.77.72;200.171.222.*;speedy.zone"
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel]
"Connection Settings"=dword:00000001

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel]
"Connection Wizard"=dword:00000001

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel]
"Wallet"=dword:00000001

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel]
"ConnectionsTab"=dword:00000001

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel]
"Connwiz Admin Lock"=dword:00000001

Antes de carregar o arquivo .reg no Windows XP faça backup do registro.

[]´s

[4] Comentário enviado por azaiats em 18/08/2011 - 11:09h

Legal!


Contribuir com comentário

  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts