06. Squid - adrianmouzinho/ubuntu-server-tutorial GitHub Wiki

O que é o Squid?

O Squid é um proxy de cache de código aberto amplamente utilizado para melhorar o desempenho da rede e controlar o acesso a recursos da web. Ele pode armazenar em cache e filtrar conteúdo web, ajudando a economizar largura de banda e acelerando o acesso a sites frequentemente visitados. Além disso, o Squid pode ser configurado para bloquear sites indesejados e monitorar o uso da web.

Tutorial: Configurando o Squid no Ubuntu Server

Passo 1: Instalando o Squid

Primeiro, acesse o terminal com privilégios de superusuário.

sudo su

Instale o Squid usando o gerenciador de pacotes apt.

apt install squid

Passo 2: Configurando o Squid

Navegue até o diretório de configuração do Squid.

cd /etc/squid
ls -la

Faça uma cópia de segurança do arquivo de configuração original.

cp squid.conf squid.conf.bkp

Zere o conteúdo do arquivo de configuração.

echo 0 > squid.conf

Edite o arquivo de configuração do Squid.

nano squid.conf

Adicione a seguinte configuração ao arquivo:

http_port 3128

cache_mgr adrian

error_directory /usr/share/squid/errors/Portuguese

cache_mem 1024 MB

cache_dir ufs /var/spool/squid 10000 16 256

maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB

cache_swap_low 70
cache_swap_high 95

access_log daemon:/var/log/squid/access.log squid
cache_log /var/log/squid/cache.log

acl localnet src 192.168.1.0/24
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https

acl CONNECT method CONNECT

http_access deny !Safe_ports

acl sitesproibidos url_regex -i "/etc/squid/sitesproibidos"
http_access deny localnet sitesproibidos

http_access allow localnet
http_access allow all

Passo 3: Preparando o Diretório de Cache

Crie o diretório de cache e defina as permissões apropriadas.

mkdir -p /var/spool/squid
chmod 777 -R /var/spool/squid
chown www-data:www-data /var/spool/squid

Passo 4: Configurando Sites Proibidos

Crie e edite o arquivo de sites proibidos.

nano /etc/squid/sitesproibidos

Adicione os sites que deseja bloquear:

globo
r7
uol

Passo 5: Verificando a Configuração do Squid

Verifique a configuração do Squid.

squid -k check

Passo 6: Habilitando o Redirecionamento de Tráfego

Habilite o redirecionamento de tráfego IP.

echo 1 > /proc/sys/net/ipv4/ip_forward
ip a

Identifique interface e IP/máscara da rede com acesso a internet

ip a

Adicione regras do iptables para redirecionar o tráfego HTTP para o Squid.

iptables -t nat -A POSTROUTING -o enp0s3 -s 192.168.1.0/24 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128

Passo 7: Inicializando o Cache do Squid

Desligue o serviço do Squid para inicializar o cache.

squid -k shutdown
squid -z

Passo 8: Reiniciando e Verificando o Serviço Squid

Reinicie o serviço Squid para aplicar as mudanças.

systemctl restart squid

Verifique o status do serviço para garantir que está funcionando corretamente.

systemctl status squid

Conclusão

Seguindo esses passos, você configurou com sucesso o Squid no seu servidor Ubuntu. Agora, o Squid está pronto para atuar como um proxy de cache, melhorando o desempenho da rede, controlando o acesso a sites e monitorando o uso da web.