Olá, primeiramente vamos instalar o
Squid. Trabalho com servidores Ubuntu e Debian, então este artigo foi feito em cima da plataforma Debian, mas para outras distros só muda o modo de instalação. Bom, vamos continuando.
# aptitude install squid
Criando pastas e arquivos
Após a instalação vamos criar as pastas e os arquivos e já alimentarmos o que o Squid vai precisar:
# mkdir /etc/squid/mac
# touch /etc/squid/cobranca.txt; echo > /etc/squid/cobranca.txt .siteliberado.com
# touch /etc/squid/comercial.txt; echo > /etc/squid/comercial.txt .siteliberado.com
# touch /etc/squid/cpd.txt; echo > /etc/squid/cpd.txt .siteliberado.com
# touch /etc/squid/faturamento.txt; echo > /etc/squid/faturamento.txt .siteliberado.com
# touch /etc/squid/financeiro.txt; echo > /etc/squid/financeiro.txt .siteliberado.com
# touch /etc/squid/ip.txt; echo > /etc/squid/ip.txt X.X.X.X # ip bloqueado
# touch /etc/squid/juridico.txt; echo > /etc/squid/jurídico.txt .siteliberado.com
# touch /etc/squid/listabranca.txt; echo > /etc/squid/listabranca.txt .siteliberado.com
# touch /etc/squid/listanegra.txt; echo > /etc/squid/listanegra.txt .sitebloqueado.com
# touch /etc/squid/macblock.txt; echo > /etc/squid/macblock.txt 00:00:00:00:00:00
# touch /etc/squid/maccobranca.txt; echo > /etc/squid/maccobranca.txt 00:00:00:00:00:00
# touch /etc/squid/maccomercial.txt; echo > /etc/squid/maccomercial.txt 00:00:00:00:00:00
# touch /etc/squid/maccpd.txt; echo > /etc/squid/maccpd.txt 00:00:00:00:00:00
# touch /etc/squid/macfaturamento.txt; echo > /etc/squid/macfaturamento.txt 00:00:00:00:00:00
# touch /etc/squid/macfinanceiro.txt; echo > /etc/squid/macfinanceiro.txt 00:00:00:00:00:00
# touch /etc/squid/macjuridico.txt; echo > /etc/squid/macjuridico.txt 00:00:00:00:00:00
# touch /etc/squid/macrecepcao.txt; echo > /etc/squid/macrecepcao.txt 00:00:00:00:00:00
# touch /etc/squid/macvip.txt; echo > /etc/squid/macvip.txt 00:00:00:00:00:00
# touch /etc/squid/msnblock.txt; echo > /etc/squid/msnblock.txt X.X.X.X # (ip bloqueado para msn)
# touch /etc/squid/recepcao.txt; echo > /etc/squid/recepção.txt .siteliberado.com
# touch /etc/squid/semcache.txt; echo > /etc/squid/semcache.txt .sitesemcache.com
Criando a configuração do Squid
Agora vamos mover o
squid.conf para squid.conf2 e criar um novo squid.conf:
# cd /etc/squid/
# mv squid.conf squid.conf2
# nano squid.conf
Coloque a seguinte configuração:
#############################################
# -= Configuração do Squid 2.4r3 ou superior por Caio Norder =- #
############################################
### escuta somente na interface interna para evitar public proxy
http_port 3128 transparent
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin ?
acl all src 0/0
no_cache deny QUERY
visible_hostname internet
cache_mem 25 MB
cache_swap_low 90
cache_swap_high 95
#cache_replacement_policy lru
#memory_replacement_policy lru
log_ip_on_direct on
cache_replacement_policy lru
memory_replacement_policy lru
cache_access_log /etc/squid/access.log
error_directory /usr/share/squid/errors/Portuguese/
# Listas de acesso padrão
acl semcache url_regex "/etc/squid/mac/semcache.txt"
acl macblock arp "/etc/squid/mac/macblock.txt"
acl listanegra dstdomain "/etc/squid/mac/listanegra.txt"
acl listabranca dstdomain "/etc/squid/mac/listabranca.txt"
acl ipb dst "/etc/squid/mac/ip.txt"
acl localnet src 192.168.0.0/24
# Grupos
acl macvip arp "/etc/squid/mac/macvip.txt"
acl maccpd arp "/etc/squid/mac/maccpd.txt"
acl macfaturamento arp "/etc/squid/mac/macfaturamento.txt"
acl maccomercial arp "/etc/squid/mac/maccomercial.txt"
acl macrecepcao arp "/etc/squid/mac/macrecepcao.txt"
acl maccobranca arp "/etc/squid/mac/maccobranca.txt"
acl macfinanceiro arp "/etc/squid/mac/macfinanceiro.txt"
acl macjuridico arp "/etc/squid/mac/macjuridico.txt"
# Grupos de Sites
acl cpd dstdomain "/etc/squid/mac/cpd.txt"
acl faturamento dstdomain "/etc/squid/mac/faturamento.txt"
acl comercial dstdomain "/etc/squid/mac/comercial.txt"
acl recepcao dstdomain "/etc/squid/mac/recepcao.txt"
acl cobranca dstdomain "/etc/squid/mac/cobranca.txt"
acl financeiro dstdomain "/etc/squid/mac/financeiro.txt"
acl juridico dstdomain "/etc/squid/mac/juridico.txt"
# MSN
acl msn_block arp "/etc/squid/mac/msn_block.txt"
acl msn dstdomain loginnet.passport.com
acl msnmessenger url_regex -i gateway.dll
acl MSNmime req_mime_type -i ^application/x-msn-messenger$
# Lista de acesso de usuários
no_cache deny semcache
http_access allow ipb localnet
http_access deny msn_block msn
http_access deny msn_block msnmessenger
http_access deny msn_block MSNmime
http_access deny localnet listanegra
http_access allow listabranca localnet
http_access allow maccpd cpd
http_access allow macfaturamento faturamento
http_access allow maccomercial comercial
http_access allow macrecepcao recepcao
http_access allow maccobranca cobranca
http_access allow macfinanceiro financeiro
http_access allow macjuridico juridico
http_access allow all macvip
http_access deny all
# Bloqueia tudo que não estiver liberado
Feche e salve.
Criando os arquivos de log
Agora crie o arquivo access.log e o squid.log (para não dar erro na inicialização do squid):
# touch /etc/squid/access.log
# touch /etc/squid/squid.log
Agora dê permissão total a pasta Squid e arquivos:
# chmod 777 -R /etc/squid
Agora basta reiniciar o Squid:
# /etc/init.d/squid restart
Finalizando
Agora entendendo o funcionamento, dentro de cada arquivo você vai dar acesso a internet. No caso dos "siteliberado" você deve acessar o arquivo e ir liberando por setor, o "macvip" tem acesso a 0/0, ou seja, internet toda, é bem simples de configurar e adequar para sua empresa.
Bom fico por aqui, qualquer coisa envie um email para caio@caionorder.com.
Até mais.