Usando Squid Proxy com Raspberry Pi

Se você quer mais controle e velocidade na sua rede, uma alternativa é usar um serviço/servidor de proxy. Nesse post vamos mostrar como usar o Squid Proxy com Raspberry Pi, uma alternativa de baixo custo para o seu sistema de controle de acesso à internet.

Antes de falar da instalação do Squid, vamos falar um pouco sobre serviços de proxy.

O que é o Squid Proxy

O Squid é um sofware muito popular (e gratuito) que provê serviços de proxy para a sua rede. Mas o que é isso?

Basicamente o que um serviço desse tipo faz é realizar a conexão com a internet e “distribuir” essa conexão na rede local. Vamos dar uma olhada na imagem abaixo:

Os clientes da rede interna se conectam em um servidor proxy, e este por sua vez possui a conexão com a internet. Toda a comunicação com a internet passa pelo servidor proxy. É muito parecido com o que um roteador faz, certo?

Mas a diferença é que com um serviço de proxy como o Squid você pode limitar o acesso à determinadas páginas da internet, trazendo mais segurança para a sua rede, além de gerar um log de acesso que permite que você veja exatamente as páginas que cada usuário acessou.

Além das questões de segurança, uma característica muito interessante do Squid é o cache de páginas, ou seja, ele armazena no servidor as últimas páginas acessadas. Assim, na próxima vez que algum browser for fazer a requisição para esta mesma página, o proxy não precisa ir até a internet: ele simplesmente carrega a página a partir do cache local, retornando o resultado para o usuário com muito mais rapidez.

Instalando o Squid em uma placa Raspberry Pi

Vamos ver então como implantar o Squid Proxy com Raspberry Pi, em um procedimento que serve para qualquer placa da linha Raspberry. Nos nossos testes usamos uma placa Raspberry Pi 4.

Como pré-requisito para instalar o Squid, precisamos do sistema operacional instalado e configurado em um cartão SD, e o acesso direto à máquina ou via SSH.

Para instalação do sistema operacional no cartão utilizando o Noobs, recomendo o post Raspberry Pi: Instale o Raspbian e crie seu primeiro programa em Python e para configurar o acesso via SSH, consulte o post Tutorial Raspberry Pi com SSH.

Cumpridos os requisitos acima, vamos aos passos para instalação e configuração do Squid:

1) Instalação do squid via apt-get

Abrir uma sessão terminal (direto ou via ssh) e digitar:

apt-get install squid3

2) Criação do arquivo bad-sites.acl

O arquivo bad-sites.acl será usado para listar todos os websites que devem ser bloqueados para as máquinas que acessam a Internet via proxy. Vamos começar editando esse arquivo:

3) Configuração do arquivo squid.conf

Antes de mexer no arquivo de configuração, vamos criar uma cópia de segurança:

sudo cp /etc/squid/squid.conf /etc/squid/squid/orig

Agora vamos editar o squid.conf:

sudo vi /etc/squid/squid.conf

O arquivo squid.conf é extenso, para encontrar a seção correta para atualização, pressiona a tecla “/” e depois digite “INSERT YOUR OWN RULE(S)” e pressione ENTER.

Uma vez nessa seção insira as seguintes informações no arquivo:

http_access allow localhost  ← Permite o acesso a qualquer website desde o próprio proxy

acl internal_network src 192.168.1.1/24 ←  Define uma lista de ips internos a serem autorizados para acessar a internet. Troque o endereço IP pelo equivalente da rede onde o proxy foi instalado

acl bad_url dstdomain “/etc/squid/bad-sites.acl” ← Define uma lista de sites para serem bloqueados, nomeado como “bad_url” e faz referência ao arquivo bad-sites.acl criado anteriormente. Se você criou o arquivo .acl com outro nome, ele deve estar de acordo nessa linha

http_access deny bad_url ← Bloqueia o acesso a qualquer domínio pertencente à lista “bad_url”

http_access allow internal_network ← Autoriza o acesso à Internet para todas as máquinas incluídas na lista “internal_network”

# And finally deny all other access to this proxy

http_access deny all ← Bloqueia qualquer outro acesso não previsto nas listas anteriores.

4) Início do serviço squid

Para iniciar o Squid, abra uma janela de terminal e digite:

sudo service squid start

Dessa forma já teremos o serviço Squid rodando e pronto para conexão.

Usando o Squid Proxy com Raspberry Pi

O que precisamos fazer agora é configurar as máquinas (no nosso caso, Windows), para que a conexão com a internet seja feita através do nosso proxy Squid. Para isso, utilize os passos abaixo:

Sua tela deve ficar mais ou menos assim:

Agora basta acessar a internet normalmente, e os dados do cliente já estarão sendo registrados no servidor proxy. Você pode realizar facilmente o monitoramento do log de conexão do Squid acessando o arquivo access.log.

Para fazer isso, abra uma janela de terminal ou acesse via SSH e digite:

sudo tail -f -s 5 /var/log/squid/access.log

Gostou? Confira outros posts utilizando Raspberry Pi aqui mesmo no Arduino e Cia!

Agradeço o Sr. Maurício Thomsen pela ajuda neste post. O Maurício tem uma placa Raspberry Pi ligada a 2 anos sem interrupções, rodando o Squid Proxy. 🙂

Avalie este post!

Related posts

Como usar o AnyDesk na Raspberry Pi: acesse sua placa remotamente

by Arduino e Cia
4 anos ago

Led endereçável RGB (Neopixel) com Raspberry Pi

by Arduino e Cia
5 anos ago

Tutorial NAS com Raspberry Pi e openmediavault

by Arduino e Cia
6 anos ago
Sair da versão mobile