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: 99.608 ]

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

Instalação do Docker no CentOS 7

Debian Linux 4 iniciando o Windows como terminal server

Instalação do WordPress no CentOS 7

Instalação de um Servidor Web

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

Leitura recomendada

Servidor proxy (Squid)

Proxy com autenticação em servidores Samba ou Windows NT

Administrando usuários do Squid via web como o Admuser

Proxy Squid Transparente

Fazendo controle no Proxy Squid por MAC ADDRESS

  
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