Tutorial de instalação do Squid no CentOS

Irei descrever neste artigo como fazer a instalação de um servidor proxy Squid para controle de acesso à internet em um servidor CentOS.

[ Hits: 98.754 ]

Por: Renato Diniz Marigo em 12/06/2013 | Blog: http://www.renatomarigo.com.br


Instalação e configuração do Squid no CentOS



Irei descrever neste artigo como fazer a instalação de um servidor proxy Squid para controle de acesso à internet em um servidor CentOS. Neste artigo iremos fazer a instalação compilada, existem muitos artigos na internet que ensinam a fazer a instalação e configuração através de repositórios, o problema neste caso é que às vezes precisamos de recursos mais específicos que a versão pré-compilada não vem habilitada.

Geralmente as máquinas da rede local não possuem endereços válidos na internet para navegação por isso precisamos de um servidor proxy para que as máquinas da rede local tenham acesso à internet.

Para quem não conhece, um servidor proxy é um host intermediário entre a sua rede local e a internet. Ele tem muitas funções, entre elas, controle de conteúdo, controle de acesso por usuário ou de forma anônima, além disso ele pode filtrar conteúdos conforme você especificar.

Irei descrever uma instalação e configuração simples com controle de conteúdo e acesso para rede local. Se você pesquisar vai encontrar muitos tipos de configurações e vai descobrir que é uma excelente ferramenta para controle de acesso a internet.

Tipos de configurações:
  • Web proxy :: faz o armazenamento de páginas na internet para navegação mais rápida. É a forma mais simples de configuração do proxy.
  • Proxy transparente :: funciona obrigando a rede local a utilizarem o proxy para acesso à internet de forma transparente para o usuário. Podendo impor políticas de utilização e colher dados estatísticos para controle do acesso à internet.
  • Proxy aberto :: é um servidor que não pede autenticação e pode liberar o acesso a internet anonimamente.

Mais informações em: https://pt.wikipedia.org/wiki/Proxy.

As informações deste artigo foram tiradas do meu site pessoal:

Instalando as dependências do sistema

Vamos instalar alguns pacotes importantes para o sistema, alguns são opcionais e outros facilitam nossa vida:

# yum install libssh2 libssh2-devel openssh libcurl curl libcurl-devel make MAKEDEV gcc wget mlocate libnfnetlink-devel gcc-c++ gcc-objc++ cppunit gc telnet

Instalando o Squid a partir do código fonte

Baixando o código fonte do Squid:

Vamos fazer o download do Squid na página oficial e vamos compilar, entre no site:
E baixe a última versão. Copie o arquivo para um diretório de sua escolha. Ou encontre o link pela página e execute o seguinte comando:

# wget http://www.squid-cache.org/Versions/v3/3.3/squid-3.3.5.tar.gz

Criando um diretório de instalação em /srv/installsquid:

# mkdir /srv/installsquid

Copiando o arquivo baixado para este diretório:

# mv squid-3.3.5.tar.gz /srv/installsquid/
# cd /srv/installsquid/


Extraindo o arquivo:

# tar -xvzf squid-3.3.5.tar.gz
# cd squid-3.3.5


Instalando o Squid a partir do código fonte:

Dentro do diretório extraído, existe o arquivo configure, que também possui um "help", para instalações específicas que podemos verificar as opções de instalação:

# ./configure --help

Em nosso caso vamos usar a seguinte configuração:

# ./configure --prefix=/usr --enable-shared --enable-icmp --enable-delay-pools --enable-sll --enable-linux-netfilter --enable-auth --enable-basic-auth-helpers=NCSA,LDAP,SMB

Explicando a instalação:
  • --prefix=/usr :: local de instalação do Squid
  • --enable-shared :: habilita o compartilhamento de bibliotecas
  • --enable-icmp :: habilita o protocolo ICMP
  • --enable-delay-pools :: habilita delay pools para controle de banda de internet
  • --enable-sll :: habilita o suporte ao SSL, troca de informações com segurança
  • --enable-linux-netfilter :: habilita o uso do proxy transparente com o iptables
  • --enable-basic-auth :: habilita autenticação
  • --enable-basic-auth-helpers=NCSA,LDAP,SMB :: determina os tipos de autenticações

Se tudo estiver OK e não houver erros de dependência:

# make
# make install


Agora vamos fazer um backup do arquivo de configuração do Squid. Neste arquivo conseguimos visualizar muitos tipos de configurações e como utilizá-las:

# cp /usr/etc/squid.conf /usr/etc/squid.conf.old

    Próxima página

Páginas do artigo
   1. Instalação e configuração do Squid no CentOS
   2. Configurando o firewall e o Squid
   3. Configurando a inicialização do sistema
   4. Testando a aplicação e bloqueando sites
Outros artigos deste autor

Instalação de um Servidor Web

Zabbix Server 2.0 no CentOS - Instalação e configuração

Nagios 3 + NagiosQL no Ubuntu Server 12.04

Instalação do WordPress no CentOS 7

Instalação do CentOS Atomic para Gerenciamento de Containers Docker

Leitura recomendada

Fazendo hierarquia proxy/Squid

Squid avançado + OpenLDAP

Integrando autenticação do Squid ao Active Directory

Liberando vídeos específicos do YouTube com e2guardian + Squid utilizando interceptação SSL

A verdade sobre as ACLs do Squid

  
Comentários
[1] Comentário enviado por geraldozys em 24/06/2013 - 17:06h

Muito interessante seu artigo.

Com ele é possível que qualquer pessoa (tanto os que possuem conhecimento do squid, quanto quem está vendo pela primeira vez a ferramenta) possa criar um controle de internet funcional. Meus parabéns

[2] Comentário enviado por renizgo em 27/06/2013 - 13:29h

Que bom que conseguiu, obrigado pelo comentário.


[1] Comentário enviado por geraldozys em 24/06/2013 - 17:06h:

Muito interessante seu artigo.

Com ele é possível que qualquer pessoa (tanto os que possuem conhecimento do squid, quanto quem está vendo pela primeira vez a ferramenta) possa criar um controle de internet funcional. Meus parabéns



[3] Comentário enviado por cgsp1989 em 22/08/2013 - 16:26h

Boa tarde sou novo no Linux achei muito simples o seu Squid funcionou certinho agora queria saber como eu faço para liberar 2 maquinas da rede para acesso total nesse caso seria os diretores da Empresa.

[4] Comentário enviado por rique.euler em 19/12/2013 - 16:49h

Meus parabéns, muito bom seu Tutorial....

Funcionou tudo direitinho...valeu!!!!

Abração....

[5] Comentário enviado por jottapp em 18/04/2014 - 14:01h

Ola. Desculpem, estou com um probleminha. Quando tento iniciar o serviço, retorna a seguinte mensagem:

/etc/init.d/squid: line 5: 6876 Illegal instruction squid

É como se o parâmetro que chama o processo do squid (serviço) não existisse.
Obs.: Instalei a versão 3.4.4-20140414-r13119

[6] Comentário enviado por dnagamachi em 09/06/2014 - 13:03h

boa tarde, renizgo utilizei o seu tutorial para criar o squid no centos. está funcional obrigado. Porem tenho algumas duvidas. Estou utilizando uma adsl da vivo fibra, conectado diretamente na eth1. Na maquina onde se encontra instalado o centos 6.5 consigo navegar a 100mb, porem ao utilizar o proxy, ele está me limitando a 20MB. Pesquisei algumas informações e cheguei a ver que existe como limitar a banda pelo squid. A minha pergunta é : por default o squid limita a banda? e como consigo liberar a banda para 100% de utilização ..

obrigado

att.
Denis

[7] Comentário enviado por trestivo em 16/06/2014 - 11:01h

Tenho uma dúvida quando você executa o comando:

useradd squid -s /bin/false

eu entendi que você esta criando um usuário de nome squid, mas não entendi por que você coloca o caminho /bin/false ao final do comando =/

[8] Comentário enviado por Vicasonic em 18/08/2016 - 22:09h

Boa noite, Galera.

Quero contribuir com minha experiência ao usar esse tutorial. Antes de mais nada, ótimo conteúdo!!
No meu estudo usei o CentOS 7 versão mínima, essa primeira etapa tive algumas dificuldades devido está usando o VirtualBox e não poder usar o CNTL + C e CNTL+V. kkkk... depois de muito persistir deu certo. Só acrescentar que antes do comando
( # ./configure --prefix=/usr --enable-shared --enable-icmp --enable-delay-pools --enable-sll --enable-linux-netfilter --enable-auth --enable-basic-auth-helpers=NCSA,LDAP,SMB )
foi preciso instalar o perl, usando da seguinte forma " yum install perl ", com isso esse primeiro passo funcionou muito bem.

agradeço pela grande ajuda, abraço!

[9] Comentário enviado por marcoschikoski em 07/10/2016 - 16:34h

Parabéns pelo tutorial, comecei agora no linux estou usando o CentOS 6.8 basico, apenas samba, firebird e agora tentando o squid, deu certinho pelo seu tutorial, agora só falta adaptar as regras que estava utilizando no windows.
Muito obrigado.

[10] Comentário enviado por rogeriospessoa em 30/11/2016 - 16:07h

Boa tarde!

Tudo bem?

Instalei e apareceu o seguinte erro:

chkconfig --add squid
o serviço squid não suporta o chkconfig

Por favor, o que fazer ?

Outra coisa, como fazer para administrar o SQUID utilizando o webmin ?

Grato,

Rogério

[11] Comentário enviado por hugobaur em 11/01/2017 - 15:40h

Boa tarde amigo,

Estou configurando em um cluster da minha empresa, pra ver se consigo usar o yum para fazer download dos pacotes pra atualização do CentOS 6.5 para o 7.0.

Deu esse erro pra mim:

[root@cl-endesa squid-3.5.23-20161226-r14129]# ./configure --prefix=/usr --enable-shared --enable-icmp --enable-delay-pools --enable-sll --enable-linux-netfilter --enable-auth --enable-basic-auth-helpers=NCSA,LDAP,SMB
-bash: ./configure: Permission denied

Pq permisão negada? =///

Pode me ajudar?


[12] Comentário enviado por hugobaur em 11/01/2017 - 15:51h

Consegui, dei permissão "x" para o arquivo! =)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts