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.676 ]

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


Configurando o firewall e o Squid



Para que o Squid funcione corretamente precisamos configurar o iptables para aceitar conexões na porta 3128 do Squid.

Adicione no arquivo /etc/sysconfig/iptables a seguinte linha:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3128 -j ACCEPT

Obs.: esta linha deve ser adicionada antes das regras de REJECT, deste arquivo.

Atualizando as regras:

# iptables-restore /etc/sysconfig/iptables

Configurando o Squid

Precisamos criar o usuário Squid e configurar permissões para que o processo seja executado com este usuário, tendo mais segurança na instalação:

# useradd squid -s /bin/false
# chown -R squid. /usr/var/cache /usr/var/logs


Estamos configurando uma instalação básica do Squid e por isso vou mostrar um arquivo de configuração de exemplo mais simples possível, para cada necessidade devem ser adicionados outros parâmetros, a intenção com este artigo é uma instalação funcional e as particularidades podem ser feitas a partir desta instalação.

Abrindo o arquivo:

# vim /usr/etc/squid.conf

Para conseguirmos trabalhar melhor com o arquivo de configuração ao entrar no editor tecle "Esc" e digite: ":g/^#/d" e tecle "Enter". Obs.: sem aspas e depois tecle "Esc". Faça o mesmo para o comando ":g/^$/d". Estes dois comandos vão respectivamente apagar todas as linhas com comentários e remover todas as linhas em branco.

Você deve adicionar as duas primeiras linhas no arquivo o resto já vai estar no arquivo:

Obs.: se preferir pode copiar este conteúdo e jogar no arquivo squid.conf vazio.

cache_effective_user squid # Usuário que vai rodar o processo do Squid
error_directory /usr/share/errors/pt-br/ #Direcionando as páginas para o idioma Português
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7       # RFC 4193 local private network range
acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all
http_port 3128
coredump_dir /usr/var/cache/squid

refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320

Obs.: este é um arquivo o mais simples possível para que você possa ver o Squid funcionando, abaixo descreverei outros tipos de configurações, para proibir sites e para que o Squid só acesse sites permitidos em nossa configuração.

Página anterior     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

Nagios 3 + NagiosQL no Ubuntu Server 12.04

Instalação de um Servidor Web

Instalação do Fail2Ban no CentOS 7

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

Introdução ao Shell Script

Leitura recomendada

Limitando acesso ao Team Viewer com Squid e IPTables

Configurar servidor proxy Squid (Ubuntu)

Proxy Squid Transparente

Autenticando Squid utilizando MySQL

Implementação de um proxy/cache para ganho de conexão

  
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