Servidor proxy web com o Squid integrado com servidor Mikrotik
O Squid é um software especializado em fazer a
operação de proxy de web e ftp, completamente free e com
excelente suporte para operação em servidores Linux.
Com o Squid você pode instalar um servidor Linux
com acesso à Internet, e fazer com que outras máquinas clientes
(usando Linux, mikrotik, Windows ou outro sistema operacional) acessem páginas web e sites ftp através do servidor Linux, mesmo que estas máquinas
clientes não tenham conexão direta com a internet - tudo que elas
precisam é o acesso ao próprio servidor onde está rodando o Squid.
O recurso que mais atrai atenção no squid é o
cache de páginas, downloads, windows update, atualizações de
anti-virus. Como em geral o link entre as máquinas clientes e
o servidor proxy é de alta velocidade (rede local ethernet ou
similar) e o link entre o proxy e a web é mais lento, é bastante
interessante a possibilidade que o squid oferece de armazenar
localmente as últimas páginas acessadas, de forma a não ter que
buscar novamente na internet uma página que tenha sido recentemente
vista por outro usuário da mesma rede. Naturalmente você pode
configurar o tempo de armazenamento de cada página no cache, e o
protocolo HTTP tem recursos suficientes para reconhecer páginas que
não devem ser guardadas no cache, precisando ser buscadas novamente
a cada requisição.
Vantagens e desvantagens
Uma das maiores vantagens da proxy sobre outras
alternativas de conexão é a existência
do cache, que, quando bem configurado, maximiza o aproveitamento do
seu canal de conexão com a internet. Os documentos estáticos
(imagens, páginas HTML geradas estaticamente e downloads feitos via
web, atualizações de windows update, anti-virus e outros) solicitados
por qualquer uma das máquinas da sua rede ficam armazenados também
no servidor, e caso outra máquina da rede solicite o mesmo
documento, ele é fornecido a partir do cache, economizando assim a
linha com o provedor Internet, que normalmente é de velocidade bem
mais baixa do que a rede local que liga as máquinas clientes ao
servidor Proxy.
Outra vantagem importante é o nível de controle
oferecido. O squid permite criar regras avançadas de restrição de
acesso, podendo definir que determinados micros terão acesso
irrestrito, outros podem acessar apenas um determinado conjunto de
sites, e outros ainda podem acessar qualquer site. É possível
restringir um determinado conjunto de sites cuja URL possua uma
determinada palavra ou expressão regular. Estas regras podem variar
de acordo com o horário, permitindo a criação de regras que
restrinjam o tráfego no horário de expediente, e liberem nos
horários de menor demanda.
A limitação do squid é que ele fornece apenas
serviços de http e ftp, ou seja, web e transferência de arquivos.
Serviços de e-mail (smtp e pop-3), irc, jogos via internet e todos
os outros recursos são completamente ignorados e não são suportados.
Se você precisar oferecer serviços como esses, terá que recorrer a
uma segunda alternativa em paralelo.
Squid linux integrado ao mikrotik
Muitos ja conhecem o sistema chamado mikrotik, o
mesmo é um super sistema de gerenciamento de rede e usuário, que tem
o poder de controlar o upload/download, firewall, limite de conexões,
controle de p2p "wares, kazza, edonkey e outros", QoS e também tem
um serviço de cache de paginas, mas o serviço de cache de paginas do
sistema mikrotik não é tão bom quanto o mesmo montado em um servidor
linux, por isso a solução de montarmos em paralelo com o sistema
mikrotik um servidor linux rodando o serviço squid "cache", juntando
essas duas ótimas ferramentas teremos um desempenho inprecionante.
Fazemos com que o mikrotik faça todo o contole do usuário e rede e
repassa todas as conexões com destino a web "Protocolo TCP Porta 80"
para o servidor linux squid, o mesmo pega essas conexões verifica se
tem o mesmo em cache local e manda para o usuário. Essa mesma
maquina linux squid rodamos um servidor DNS para poder agilizar
ainda mais as consultas das paginas. Outra solução que essas duas
ferramentas nos proporciona é o cache full, o que seria isso: O
cache full nos da possibilidade de pegar tudo que estiver em cache
local e passar para seus usuários sem controle de banda, so tem um
detalhe em cima disso, os Access Point não são como uma rede cabeada
de 100MB e sim 11MB e se fizemos a configuração de cache full entre
o servidor mikrotik e o linux squid seus Access Point não quentariam
todo o trafego e começariam a travar e dar lentidoes, em cima desse
detalhe, fazemos algumas regras no servidor mikrotik que veja os
arquivos em cache que esta vindo do servidor linux squid e colocamos
uma limitação, como por exemplo 2MB.
Abaixo temos uma figura ilustrativa de como ficaria essa solução.
|