Squid configurado como proxy no Ubuntu Server

O artigo retrata a instalação do Squid para atuar como proxy em uma rede de computadores. Será descrito no artigo o passo a passo sobre como configurar este servidor e estabelecer sua rede de forma rápida e simples. Deparar com pequenos macetes que ajudam a manter a gerência da rede e controle, sem perder tempo em buscar novos procedimentos e erros que não ficam claros na sua instalação.

[ Hits: 70.764 ]

Por: Wesley de Toledo Costa em 10/07/2012


Passo II: mão na massa



Entre no diretório do Squid:

cd /etc/squid

Obs.: Você verá um arquivo chamado squid.conf. Antes de editá-lo (ou antes de editar qualquer arquivo no GNU/Linux) crie um backup.

Exemplo:

sudo cp squid.conf squid.conf.ori

Onde:
  • O comando cp cria uma cópia;
  • squid.conf é o arquivo a ser copiado;
  • squid.conf.ori foi o nome que dei ao arquivo de backup.

Agora, edite o squid.conf:

Obs.: O mcedite é um editor de textos instalado anteriormente no comando:

# apt-get install mc

sudo mcedit squid.conf

Exemplo:

#Inicio
http_port 192.168.2.1:3128 transparent #3128 porta do direcionamento e transparente

visible_hostname nome_do_servidor
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?

cache_mem 400 MB #Quantidade de Cache que deseja permitir
maximum_object_size 512 KB #tamanho Maximo de cache
minimum_object_size 0 KB # arquivo mínimo de uso do HD
cache_swap_low 50 #em porcentagem – quanddo começar a liberar espaço de cache ele manterá até esse valor
cache_swap_high 90 #em porcentagem – começa a liberar o espaço de cachê (apagando cache mais antigos)
cache_access_log /var/log/squid/access.log #armazena os logs
cache_dir ufs /var/spool/squid 2048 16 256 # Cache no HD (espaço em disco para cache das páginas)
#2048 MG de espaço para cachê- 16 pastas e dentro e das 16 temos mais 256 pastas dentro delas.

refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

acl all src 192.168.2.0/255.255.255.0
#acl – all é o nome da acl – src é o tipo de acl – o IP identifica a rede local/ mascará padrão

acl manager proto cache_object
acl SSL_ports port 443 563
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443 563
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl bloqueio url_regex -i "/etc/squid/bloqueados" # arquivos de palavras bloqueadas
acl CONNECT method CONNECT
acl redelocal src 192.168.2.0 # rede que se atribui as ACl’s

http_access allow redelocal # libera acesso da rede local
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny bloqueio
http_access allow all


Tecle F2 para salvar o arquivo e F10 para sair do editor.

Crie um arquivo com todas as palavras para bloquear:

sudo mcedit bloqueados

E dentro do arquivo insira as palavras. Salve e saia do editor.

Página anterior     Próxima página

Páginas do artigo
   1. Passo I: Configuração e Instalação
   2. Passo II: mão na massa
   3. Passo III: Script do firewall
   4. Passo IV: Finalizando com BIND
Outros artigos deste autor

Samba - Instalação e configuração descomplicada

Autenticar estação de trabalho GNU/Linux no Windows Server - Instalação e configuração do Centrify

Instalação, configuração do Samba e utilização de quota

Leitura recomendada

Debian Squeeze para Desktops

Tranformando Ubuntu Breezy em Ubuntu Dapper

Instalando impressora do Windows XP usando CUPS

Remasterizando o Ubuntu

Balanceamento e alta disponibilidade com Bonding

  
Comentários
[1] Comentário enviado por danniel-lara em 11/07/2012 - 09:05h

Parabéns pelo artigo muito bom mesmo

[2] Comentário enviado por andrefreire em 11/07/2012 - 10:40h

Wesley,

Acho que você se confundiu em algumas coisas.
1) A rede ALL deve ser qualquer rede que não a sua rede local ou seja 0/0.

2) Quando você permite o tráfego para sua rede local logo como primeira regra nada mais será bloqueado.

3) Na sua definição de redelocal faltou a máscara.

Sua regra funcionaria se fosse algo assim:

http_access allow redelocal !bloqueio

mais ainda assim eu faria algo do tipo:

acl all src 0/0

http_access deny !redelocal "o que não for rede local será bloqueado"
http_access allow redelocal !bloqueio "o que for rede local e não estiver em bloquei passa"
http_access deny all "outras redes serão bloqueadas"

Espero que não se chateie...

Grande abraço.

[3] Comentário enviado por toledocosta em 11/07/2012 - 11:56h


[2] Comentário enviado por andrefreire em 11/07/2012 - 10:40h:

Wesley,

Acho que você se confundiu em algumas coisas.
1) A rede ALL deve ser qualquer rede que não a sua rede local ou seja 0/0.

2) Quando você permite o tráfego para sua rede local logo como primeira regra nada mais será bloqueado.

3) Na sua definição de redelocal faltou a máscara.

Sua regra funcionaria se fosse algo assim:

http_access allow redelocal !bloqueio

mais ainda assim eu faria algo do tipo:

acl all src 0/0

http_access deny !redelocal "o que não for rede local será bloqueado"
http_access allow redelocal !bloqueio "o que for rede local e não estiver em bloquei passa"
http_access deny all "outras redes serão bloqueadas"

Espero que não se chateie...

Grande abraço.


Boa Tarde andrefreire.
Agradeço as considerações, claro este artigo foi desenvolvido de forma básica para deixar a rede funcionando, não inseri todas as formalidades e regras que usei em minha rede para não torna-lo extenso, mas considero suas observações cabiveis e excelentes.

Muito obrigado e ate mais...

[4] Comentário enviado por defabio em 11/07/2012 - 13:13h

Wesley,

poque colocar estes servers?

nameserver 8.8.8.8
nameserver 8.8.4.4

[5] Comentário enviado por johnnyb em 11/07/2012 - 15:04h


[4] Comentário enviado por defabio em 11/07/2012 - 13:13h:

Wesley,

poque colocar estes servers?

nameserver 8.8.8.8
nameserver 8.8.4.4


Amigo se vc colocar no squid e melhor bom eu particularmente prefiro la, Porque vc nao inclui o dhcp :D e muito melhor
e mais pratico do que vc fica setando ip nas maquinas :D e la tambem tem como coloca ip fixo :D

[6] Comentário enviado por dalveson em 11/07/2012 - 17:46h

Parabens pelo artigo, ajudara sem duvida nenhuma a muitos que tenham duvidas sobre o squid e o bind.
PS: como o colega andrefreire falou tem algumas regras que estao um pouco confusa, lembramos que o squid é top dow e ler as regras de cima para baixo, ou seja se vc liberar o acesso em uma regra, nao adianta tentar bloquear em outra que vem logo abaixo que nao dara certo.
Minha contribuição é apenas no metodo de organização das acls, por exemplo minhas acls safe_ports organizo assim com a finalidade de economizar espaço na leitura do meu arquivo:
acl SSL_ports port 443 563 873
acl Safe_ports port 80 21 443 70 210 280 488 591 777 631 873 901
a outra contribuição é com relação ao padrao dos arquivos que ficarao em cache no disco, eu prefiro usar aufs ao inves de ufs, pois o aufs é bem mais rapido a consulta no disco, ficaria assim:
cache_dir aufs /var/cache/squid 2048 64 128
no mais como ja frisei anteriormente o artigo está otimó, o mais importante vc já fez que é compartilhar o que vc sabe com os demais colegas da comunidade.
abraços

[7] Comentário enviado por glaubernicassio em 18/07/2012 - 15:03h

Preciso muito de uma ajuda.

E montei um linux com o samba e o squid (servidor proxy), mas depois disso existem alguns sites que não abrem como:

globo.com

yahoo.com.br

hotmail.com

Não sei o que fazer já fiz varias alterações no linux mas não resolve.SOCORRO!!!!

[8] Comentário enviado por toledocosta em 18/07/2012 - 15:30h


[7] Comentário enviado por glaubernicassio em 18/07/2012 - 15:03h:

Preciso muito de uma ajuda.

E montei um linux com o samba e o squid (servidor proxy), mas depois disso existem alguns sites que não abrem como:

globo.com

yahoo.com.br

hotmail.com

Não sei o que fazer já fiz varias alterações no linux mas não resolve.SOCORRO!!!!


Boa Tarde, glaubernicassio.
Você pode verificar no seu script de firewall se não tem nenhuma regra bloqueando esses sites ou portas de acesso. Se você criou um arquivo de palavras ou sites para bloquear de uma olhadinha nele também...
Se após isso ainda estiver bloaqueado poste mais detalhes....


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts