Olá a todos, podem me chamar de Brody. Sou especialista na área de data center, também fanboy do mundo linux pelo simples fato de facilitar minha vida e trabalho. Pense nisso!
Deste ponto em diante, tratarei "você" de uma forma mais impessoal, com mais confiança. Meus tutoriais não serão apenas sobre a instalação de um serviço e agora, darei a você todo o conhecimento e as ferramentas necessárias para você aproveitar ao máximo os recursos de cada recurso de um aplicativo, qualquer dúvida envia uma mensagem para a caixa de entrada
O Squid não é apenas um serviço de proxy e cache, ele pode fazer muito mais: gerenciar acl (listas de acesso), filtrar conteúdo, ele pode até mesmo fazer a filtragem SSL mesmo em modo transparente (método proxy - sem ter que configurar nas configurações de proxy de seus navegadores, é como um homem no meio, ninguém sabe que está lá). Portanto, normalmente vejo como todo o potencial desse aplicativo é desperdiçado por não saber como configurar cada uma de suas partes.
Mas primeiro, vamos olhar para o recurso de procuração.
Instalar:
aptitude instalar squid3
Edite o arquivo de configuração:
vi /etc/squid3/squid.conf
- http_port ip: porta
Um exemplo seria http_porta 172.16.128.50:3128 O serviço será fornecido pelo IP e porta especificados, principalmente, não recomendo deixar a porta 3128 por padrão em um ambiente de produção.
- acl localnet src ip / máscara
Um exemplo seria acl rede local src 172.168.128.0/24 a lista de acesso geral (o mais macro possível) que terá acesso ao referido serviço. localnet é como o acl é chamado, mas você pode colocar qualquer nome que quiser lá.
- http_access permitir rede local
sencillo http_access permitir rede local o mesmo nome que você colocou no item anterior, aqui permitimos que esta rede navegue e use os serviços do squid
- quick_abort_min 0 KB
- quick_abort_max 0 KB
Momento em que abortamos uma solicitação. Vou explicar com mais detalhes: quando um usuário está navegando em seu proxy e cancela uma solicitação ou download, você tem 3 opções, se o download for menor que quick_abort_min 80 KB então o Squid irá baixá-lo, se o download estiver faltando mais de quick_abort_max 150 KB será então cancelado imediatamente, se ambos estiverem configurados para 0 KB como é o caso, o download termina assim que o usuário cancelar.
- read_timeout 5 minutos
Este é o momento em que uma sessão de servidor será aberta, desde que não haja nova leitura, por exemplo em uma página estática, um valor muito alto não é necessário, mas em páginas dinâmicas como o Facebook este é um valor aceitável
- request_timeout 3 minutos
Esse valor pode ser bem menor, depende da qualidade da conexão wan do seu servidor e da quantidade de clientes que você possui. Este parâmetro refere-se ao tempo máximo de espera pelos cabeçalhos http de uma solicitação, após o estabelecimento da conexão.
- half_closed_clients desligado
Impede conexões fechadas pela metade devido a erros de comunicação. Você não quer desperdiçar os recursos do servidor em nenhuma circunstância.
- shutdown_lifetime 15 segundos
Esta tag permite diminuir o tempo de espera para fechar os processos do squid ao fazer um SIGTERM ou SIGHUP
- log_icp_queries desativado
Deixo isso a seu critério, por padrão ele vem ligado, e é para logar cada consulta feita ao cache do proxy.
- servidores de nomes_dns 8.8.4.4 8 8.8.8.8
As consultas DNS serão feitas a estes ip's separados por espaço, se nenhum for definido, o DNS do seu sistema é usado por padrão
- dns_v4_first ativado
Bom depende do país ou das configurações do seu ambiente, mas no meu caso não tenho DNS IPv6, então define por default que tudo seja consultado primeiro no ipv4
- ipcache_size 2048
Número máximo de entradas no cache DNS do squid
- ipcache_low 90
O menor tamanho das entradas de cache dns.
- fqdncache_size 4096
Número máximo de entradas FQDN no cache
- memory_pools desativados
Desativamos que a memória RAM é reservada para futuros processos squid, se for um recurso muito escasso em seu servidor
- encaminhado_para fora
Se você quiser evitar que eles vejam seu ip privado do wan, as solicitações chegarão com um desconhecido, ou nesse caso ru ip wan
nós iniciamos o cache
lula3 -z
Reiniciamos o serviço
reiniciar o serviço squid3
Para finalizar basta colocar no seu navegador, nas opções de proxy o ip e a porta, pronto você deve estar navegando
Isso tudo é para essa ocasião, você sabe que com isso você terá um squid muito robusto, em posts futuros iremos cache com o squid
Excelente tutorial passo a passo. o que mais gostei foi a explicação opção por opção do repertório de configuração.
O que mais gostei foi a opção de:
quick_abort_min 0 KB
quick_abort_max 0 KB
Acho que isso é extremamente importante porque muitas vezes um usuário pode perder (cancelar) devido à situação X, um download que está para terminar e este parâmetro bem estimado de acordo com os recursos do nosso computador pode nos permitir continuar com o referido download, já que possivelmente tanto quanto o mesmo usuário ou outro poderia tentar em um curto período de tempo repetir o download do mesmo item, economizando tráfego para a internet.
Corrija-me se eu estiver errado, BrodyDalle?
Sim e não, vou explicar.
De fato, o download terminará com sucesso mesmo que o usuário o tenha cancelado, somente então quando o mesmo usuário ou outro tentar baixar o aplicativo ou página da web, o squid entregará uma cópia que já possui no cache e não irá para a Internet para baixar os dados novamente. Agora atenção aqui, o efeito de retomar é apenas um gerenciador de download que armazena os dados no cache da sua máquina por um tempo pré-determinado e permite retomar um download cancelado ou interrompido, não é o squid.
Em tutoriais futuros darei o squid como um cache completamente, para que você não desperdice os recursos WAN (Internet) de sua rede
excelente artigo estou aprendendo sobre o squid e sua implementação, muito obrigado, ele vem a calhar
Obrigado, note que em tutoriais futuros irei dar squid como um cache completamente, para que você não desperdice os recursos WAN (Internet) de sua rede
ótimo tutorial é sempre bom para expandir o conhecimento. Felicidades
Olá, antes de mais obrigado pelo tópico, pelas explicações e pelos conhecimentos que nos são disponibilizados. Tenho mais a comentar, uma pergunta. Trago para a mesa um problema que aconteceu exatamente comigo com o squid3 no Debian, acontece que um belo dia, meses atrás, atualizei o sistema e junto com essa atualização veio uma nova versão do squid, 3.5, de lá o proxy saiu passar todas as conexões HTTPS, ou seja, do bom ao primeiro já não abriu https // www.google.com.cu, https://www.facebook.com e qualquer coisa que use o protocolo HTTPS seguro. Investigando um pouco, descobri que o problema estava no manuseio do SSL, algo que o Debian parou de empacotar com o squid3 por razões legais e filosóficas. NÃO tenho que dizer o desconforto que existia na entidade nos dias que tentei resolver esse "problema" que no final não consegui resolver, mas voltei para a versão anterior do Squid3 e guardei o pacote com aptitude para evitar que ele fosse atualizado novamente. No site onde os bugs do squid são relatados, ele falou de um bug chamado "squid-in-the-middle", e avisou que todos os squid da versão 3.4.8 em diante eram vulneráveis, então eles recomendaram a atualização para a versão mais recente e compilar o squid com SSL + configurado para gerar os certificados manualmente…. POR FAVOR! Se alguém já se deparou com essa situação e resolveu, gostaria de ser gentil e me dar uma luz sobre esse assunto e se não, pelo menos comentar que aconteceu a mesma coisa ... e qual foi a solução aplicada. Obrigado.
Atualmente no Debian, Jessie está disponível apenas até a versão 3.4.8-6 + deb8u1… No entanto, posso dizer que você pode usar ssl bump se usar o squid no modo transparente. http://wiki.squid-cache.org/ConfigExamples/Intercept/SslBumpExplicit… Não questiono sua contribuição, então em breve irei instalar a versão mais recente de seu site oficial
Bom Dia,
Em termos de desempenho, valeria a pena instalar em um Raspberry Pi 2?
Agradecemos antecipadamente, saudações.
Olá,
Belo tutorial, mas tenho uma dúvida: em termos de desempenho, valeria a pena instalar em um Raspberry Pi 2?
Saudações.
A resposta curta é Não ... você pode fazer isso, mas certos recursos como interface de rede, processador, disco são muitos dos seus gargalos. Agora, se você ainda precisa agir como um proxy, acho que tinyproxy é melhor
Obrigado pela sua participação
Você tem experiência com o Squid no pfSense?
sim o que você precisa saber? para ver se posso te ajudar.
Bom tutorial, já muito bom momento. Não sei muito sobre isso, no momento estou instalando o proxy na minha empresa com o squid.conf de uma versão anterior e há coisas que mudaram a sintaxe. Isso me serviu muito. Vou continuar esperando pela parte 2.
Muito Obrigado
Obrigado pelo seu comentário, enquanto a segunda parte do squid sobre como armazenar em cache estará disponível em breve.
Excelente, há muito tempo implementei um servidor ubuntu com squid e funcionou muito bem agora estou desconectado do linux há algum tempo e gostaria de retornar à questão dos servidores em cache para dar melhor performance aos problemas do wisp, obrigado pela sua contribuição Brody!
Olá, sua ajuda é muito boa, acabei de entrar no problema de IPV6 com DNS e estou tendo problemas aí. Quando nenhum site aparece com IPV6 ele estaria funcionando para mim, então eu preciso saber se a configuração dns_v4_first on precisa ser ativada antes de quando o squid for compilado, porque em 3.3.8 ele não estaria funcionando.
Bom Dia.
Para começar, este tutorial foi muito útil. Agora apresento o meu caso, pois não sei se com o squid consigo resolver a minha necessidade ou devo procurar outra alternativa.
Tenho uma aplicação configurada em uma instância AWS EC2, que deve fazer requisições para uma API amazon, o problema surge quando essas requisições são massivas, então amazon reconhece o ip e rejeita essas requisições por um tempo, gerando problemas no aplicativo que tenho. Para resolver isso, utilizamos o serviço Proxymesh, que pega a requisição e envia de um de seus ip's, evitando assim o referido bloqueio, o fato é que para isso, ao fazermos a requisição para amazon, fazemos através de curl no php, dando como uma opção para se conectar ao proxymesh. Agora estou procurando a possibilidade de que seja a partir da instância configurável que, quando as solicitações são feitas à API amazon, elas vão diretamente para o serviço proxymesh para que seja o encarregado de enviar a solicitação ao destino final. É possível fazer esse redirecionamento com o squid ou você recomenda outra alternativa?
Muito obrigado.
Alguém tentou vários esquemas de autenticação no squid? Eu instalei a versão 3.5.22 no debian e embora eu tenha tentado diferentes variantes, ela não funciona, minha situação é que eu preciso que os usuários do meu AD e outros usuários externos sejam capazes de logar, se eles trabalharem separadamente para mim ou ntml para usuários do domínio conectado e básico (ncsa) para externo, mas não ambos ao mesmo tempo. qualquer ajuda será útil. desde já, obrigado
Caro, não sei porque, instalei o squid sem problemas, mas quando o atualizei para a versão 3.5 o arquivo access.log começou a ficar vazio, ele não armazena mais dados antes. Não sei se tenho que ver e implementar o WPAD para não usar mais a configuração transparente, bem como remover o redirecionamento da porta 80 para 3128 como normalmente é feito, já que com o wpad essa regra não é mais necessária.
é por isso que o access.log agora não registra mais atividades?
Felicidades !!
Bom guia muito bom!
Estou usando o squid há um tempo como proxy da web, mas ultimamente estou percebendo que demoro muito para pesquisar ou abrir páginas ... será que preciso limpar o cache?
Alguém configurou o squid com mkt, como funciona para eles?
lembranças
Muito boa informação, desculpe como consegui juntar o squid com diretório ativo para que na hora de entrar em uma página bloqueada ele me peça o nome de usuário e senha de uma conta do diretório ativo e se esse usuário tiver permissão para entrar na página eu lhe darei acesso.
Olá,
excelente guia, enfim e você pode me orientar já que eu simplesmente não dou, tenho uma internet de fibra de 20MB e um squid 3.1 montado em centos 6.9 e atendo aproximadamente 300 usuários antes tinha um link de 4MB e um squid 3.1 e mesmo número de Os usuários e obviamente tudo super lento e citado para o admin (I) culparam o link, finalmente consegui trocar e a internet está tão lenta, reinstalei o SO, configurei o squid 3.1 e nada mais não acelera eu faço a medição velocidade de um cliente squid e isso me dá de 18 a 20 MB, mas sempre sou mencionado porque o serviço é tão lento
Se você ou alguém que já passou por um problema semelhante pudesse me iluminar, agradecerei infinitamente.
O que acontece com os endereços, eles são alterados para o próprio endereço de rede ou os que você está usando são usados.
Estou aprendendo sobre squid debian e sua implementação, muito obrigado, vem a calhar. mas está me dando problemas com a conexão e verifico se dá erro e aparentemente está tudo funcionando bem.