Linux slogan
Visite também: BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: slackware 10
Por kisuki
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Servidor proxy com Squid - Instalação e configuração
Linux user
rik_99
28/07/2012
Esse artigo é voltado para os iniciantes em TI, portanto, procurei escrevê-lo o mais didático possível para ajudar a galera. Tratando-se de uma pequena iniciação ao Squid.
[ Hits: 30175 ]
Conceito: 10.0   4 voto(s)4 voto(s)4 voto(s)4 voto(s)4 voto(s) + quero dar nota ao artigo

Incorporando - Adicionando o cache

Incorporando um pouco

Bem, depois que entendemos como funciona e para que serve essas linhas de configurações, vamos incorporar um pouco o nosso Squid.

Adicione as seguintes linhas em seu arquivo:

# Esta opção manda o Squid buscar os dados diretamente na origem, ela é referente ao conteúdo dinâmico, se a URL conter algum padrão aqui especificado ela irá direto a origem buscar o conteúdo.
hierarchy_stoplist CGI-bin ?

# Define o caminho das páginas de erro do squid.
error_directory /usr/share/squid/errors/Portuguese

# Define o e-mail que vai aparecer na página de erro do Squid, assim o usuário terá mais informações para interagir com o responsável.
cache_mgr admin@seu_dominio.com.br

# Esta ACL é responsável por não armazenar conteúdo CGI em cache.
acl QUERY urlpath_regex cgi-bin ?
no_cache deny QUERY


Adicionando o cache

As próximas linhas são referentes às configurações do cache.

# Define a quantidade de memória RAM reservada para o uso do Squid.
cache_mem 64 MB

# Esta linha é responsável por limitar o tamanho dos arquivos que serão armazenados no cache da memória RAM.
maximum_object_size_in_memory 64 KB

# Aqui definimos o tamanho máximo e mínimo respectivamente dos arquivos que serão armazenados no cache do HD.
maximum_object_size 512 MB
minimum_object_size 0 KB

# Com essas duas linhas podemos definir a porcentagem de atualização do cache, estamos dizendo que quando o cache chegar em 95% o Squid irá apagar os arquivos mais antigos até chegar a 90%.
cache_swap_low 90
cache_swap_high 95


# Nessa linha conseguimos definir o tamanho e alguns parâmetros do cache feito em HD, a linha é composta por quatro valores, o 1º define o caminho do cache (/var/spool/squid), o 2º o tamanho que será alocado em MB para o cache (2Gb), o 3º a quantidade de diretórios criados para o cache (16) e o 4º é o numero de subdiretórios que serão criados. Se você possuir bastante espaço em disco e quiser armazenar os arquivos por mais tempo, aumente a opção do tamanha do cache.
cache_dir ufs /var/spool/squid 2048 16 256


# Define onde serão armazenados os registros de log do Squid.
cache_access_log /var/log/squid/access.log


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


Essas três últimas linhas definem o intervalo de atualização do cache, ou seja, de quanto em quanto tempo o Squid irá aguardar antes de verificar se algum arquivo em cache foi alterado em seu local original (um download ou uma pagina Web, por exemplo).

Mas é importante lembrar que estas três linhas sempre terão que ser usadas em conjunto, se você omitir uma delas, a configuração não entrará em vigor.

O Squid faz uso destes valores para verificar se os objetos armazenados são os mais recentes, ou há a necessidade de atualizá-los. Não há necessidade de mudança nestes valores.

Depois, reinicie o Squid para ativar as configurações:

# /etc/init.d/squid restart

<< Página anterior Próxima página >>




Páginas do artigo
   1. Instalação e configuração básica
   2. Incorporando - Adicionando o cache
   3. Criando e entendendo as ACLs
   4. Configuração final

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por Thalysson S em 28/07/2012 - 12:03h:

Muito bom o artigo !


[2] Comentário enviado por tiago1 em 28/07/2012 - 12:38h:

Olá,

Você está explicando a instalação do pacote Squid, mas já existe o Squid3, mais recente. Esse mais antigo ainda pode ser usado?


[3] Comentário enviado por danniel-lara em 29/07/2012 - 11:17h:

bom esse artigo
Parabéns


[4] Comentário enviado por david fonseca em 29/07/2012 - 12:13h:

Muito bom , tirei varias duvidas com esse artigo,

uma outra duvida , 1 pc da minha rede quer estar liberado nao consegue conectar ao servidor de muonilne , o quer devo fazer?


[5] Comentário enviado por rik_99 em 30/07/2012 - 01:25h:

Thiago a respeito da versão do squid a mais usada atualmente é a 2.7 pela sua estabilidade, outras versões como a 3.0 ou 3.1 não são tão aplicáveis quando você precisa usar o patch do zph ou o tproxy, em breve irei postar outro artigo sobre o tproxy e zph. Resumindo, ao meu ver a verão 2.7 é a "melhor" ate o momento.


[6] Comentário enviado por rik_99 em 30/07/2012 - 01:28h:

David esse problema provavelmente é o seu firewall que deve estar segurando alguma coisa, precisamos de mais alguns detalhes para tentar lhe ajudar...


[7] Comentário enviado por rik_99 em 30/07/2012 - 01:30h:

Valeu pelo alógio Daniel, baaaaaaaa tchê bom saber que gostou..... rrsrrsrsrsrrsrsr


[8] Comentário enviado por rik_99 em 30/07/2012 - 01:31h:

Valeu Thalysson... obrigado!!!


[9] Comentário enviado por david fonseca em 30/07/2012 - 08:43h:


[6] Comentário enviado por rik_99 em 30/07/2012 - 01:28h:

David esse problema provavelmente é o seu firewall que deve estar segurando alguma coisa, precisamos de mais alguns detalhes para tentar lhe ajudar...


Certo , quais informações ?

tentei liberar a porta 44405 com o comando iptables -A FORWARD -p tcp --dport 44405 -j ACCEPT , quer teoricamente e a porta de comunicação do muonline
e coloquei o ip 10.75.0.254 ( estar fora da minha range dhcp ) para passar por fora do proxy

tem algum comando ou software quer mim mostre a porta quer o usuário esta tentando abri quando inicia o game?



[10] Comentário enviado por rik_99 em 30/07/2012 - 10:00h:

David você pode usar o tcpdump para analisar o trafego dessa máquina,
instalar:

# aptitude install tcpdump

Analisar trafego

# tcpdump -i interface host ip


[11] Comentário enviado por david fonseca em 30/07/2012 - 10:45h:


[10] Comentário enviado por rik_99 em 30/07/2012 - 10:00h:

David você pode usar o tcpdump para analisar o trafego dessa máquina,
instalar:

# aptitude install tcpdump

Analisar trafego

# tcpdump -i interface host ip


No caso teria quer fazer

tcpdump -i eth0 host 10.75.0.254

ou

tcpdump -i eth1 host 10.75.0.254

eth0 = INTERNET
eth1 = LAN


[12] Comentário enviado por rik_99 em 30/07/2012 - 14:42h:

David pode ser pela sua interface de lan mesmo.


[13] Comentário enviado por david fonseca em 30/07/2012 - 21:47h:


[12] Comentário enviado por rik_99 em 30/07/2012 - 14:42h:

David pode ser pela sua interface de lan mesmo.


Amigo deu isso

[root@SRVHOST ~]# tcpdump -i eth1 host 10.75.0.254
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
21:45:12.346894 IP 10.75.0.254.52084 > 10.75.0.0.domain: 37871+ A? onmu.zapto.org. (32)
21:45:12.441966 IP 10.75.0.0 > 10.75.0.254: ICMP 10.75.0.0 udp port domain unreachable, length 68
21:45:13.348596 IP 10.75.0.254.52084 > 10.75.0.0.domain: 37871+ A? onmu.zapto.org. (32)
21:45:13.348613 IP 10.75.0.0 > 10.75.0.254: ICMP 10.75.0.0 udp port domain unreachable, length 68
21:45:14.362685 IP 10.75.0.254.52084 > 10.75.0.0.domain: 37871+ A? onmu.zapto.org. (32)
21:45:14.362712 IP 10.75.0.0 > 10.75.0.254: ICMP 10.75.0.0 udp port domain unreachable, length 68
21:45:16.375128 IP 10.75.0.254.52084 > 10.75.0.0.domain: 37871+ A? onmu.zapto.org. (32)
21:45:16.375143 IP 10.75.0.0 > 10.75.0.254: ICMP 10.75.0.0 udp port domain unreachable, length 68
21:45:17.346682 arp who-has 10.75.0.254 tell 10.75.0.0
21:45:17.346894 arp reply 10.75.0.254 is-at e8:9a:8f:cc:b6:fe (oui Unknown)
21:45:20.384615 IP 10.75.0.254.52084 > 10.75.0.0.domain: 37871+ A? onmu.zapto.org. (32)
21:45:20.384630 IP 10.75.0.0 > 10.75.0.254: ICMP 10.75.0.0 udp port domain unreachable, length 68


obs: antes tinha dado um netstart -n no pc do usuario e disse q a porta era a 55903 , porem liberei no iptables e nada


[14] Comentário enviado por rik_99 em 31/07/2012 - 09:05h:

David muda o ip da máquina pra faixa da sua rede.... e vê o que o resultado do tcpdump, aqui ele so ta tentando uma conexão no dominio onmu, e esta mandando um broadcast nessa faixa 10.75.0.0 para saber quem o server dns, não sei como esta sua infra ai, qual dns vc colocou nessa máquina, existe algum dns nessa faixa? coloca o ip na faixa normal ai pra ver o que acontece e posta o resultado.


[15] Comentário enviado por david fonseca em 03/08/2012 - 17:27h:

Amigo muito obrigado , meu problema foi resolvido , o problema era quer eu estava colocando o " option domain-name-servers " da minha rede interna , depois quer mudei para o quer seu artigo mostra funcionou perfeito , muito obrigado


[16] Comentário enviado por marcelinoti em 09/08/2012 - 10:09h:

bom dia, galera alguem sabe me dizer qual a diferenca em configuracao do squid 2.7 e squid 3.1? pois estou usando Ubuntu Linux 12.04 serve com squid 3.1 tem hora que da alguns erros que me tira do serio. até mais....


[17] Comentário enviado por rik_99 em 09/08/2012 - 11:16h:

Marcelo pessoalmente não gosto do squid 3.1 pois não tem ou da um trabalho de outro mundo para você utilizar patch como o ZPH ou Tproxy, o squid 2.7 é tipo mãe de todos... estável e compatível com a maioria das "expansões" que você desejar usar com ele, mas já que você esta usando abre um topico la no forum pra gente poder te ajudar, posta as mensagens de erro ou o que esta acontecendo... :)


[18] Comentário enviado por rommelinux em 01/12/2012 - 20:18h:

Ótimo, ótimo, ótimo o artigo, gostaria de adicionar uma dica para aproveitar esse artigo e configurar o squid como transparente e lembrando que terá que configurar no iptables também pois a porta que o artigo utiliza é a 3128 segue abaixo a linha que deve ser alterada:

http_port 3128 transparent

E para as estações utilizarem o squid como gateway sem precisar configurar o proxy nos browser, deve ser executado esse comando do iptables, segue abaixo:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128

Só achei que seria bom adicionar essa informação ao artigo, se o proprietário se encomodar, perdão por favor, mas está de parabéns o artigo, só gostaria de ajudar mais aos nossos colegas mesmo.

Abs a todos e uma ótima noite!


[19] Comentário enviado por rik_99 em 01/12/2012 - 20:21h:

pow rommelinux vlw, na verdade eu esqueci de adicionar essa informação, hehehe
obrigado pelo elogio tbm, isso ajuda muito a incentivar o nosso trabalho...



Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.