Páginas

quarta-feira, 1 de abril de 2015

[FreeBSD] - Fazendo política de roteamento dentro do Squid

Este tutorial tem o intuito de mostrar um dos poderes do squid que consiste em criar políticas de rotas de saída das conexões de Proxy.

Imagine um cenário que você tem dois links de ADSL na sua rede e o seu tráfego na porta 80 esta bem grande e você não consegue balancear de forma correta no seu firewall. Muitos arquivos de downloads (mp3, zip, etc.) são disponibilizados via protocolo http (porta 80) e esse tráfego se mistura à navegação de sites (html, php, cgi, etc…).

Para solucionar esse problema, existe um comando no squid que você usando uma ACL para filtrar a conexão, você desvia a rota deste filtro para outro gateway, desafogando o tráfego na porta 80.

Estarei mostrando um exemplo para se entender melhor o conceito de roteamento no squid:

Você tem dois links de adsl e que fazer com que o tráfego na porta 80 (saindo pelo squid) seja da seguinte forma: toda a navegação (html, php, cgi) tem que sair pelo gateway 192.168.10.1 e os outros tráfegos como arquivos de downloads, música, atualizações de Windows saia pelo gateway 192.168.20.1, você deverá inserir as seguintes linhas no  squid.conf :

######  squid.conf  ########

acl Rota_outros url_regex .mp3$
acl Rota_outros url_regex .zip$
acl Rota_outros url_regex .exe$
acl Rota_outros url_regex .cab$
acl Rota_outros url_regex .dat$
acl Rota_outros url_regex .dll$
acl Rota_outros url_regex .bin$
acl Rota_outros url_regex .mpg$
acl Rota_outros url_regex .avi$
acl Rota_outros url_regex .cbin$
acl Rota_outros url_regex .doc$
acl Rota_outros url_regex .xls$
acl Rota_outros url_regex .mdb$
acl Rota_outros url_regex .pdf$
acl Rota_outros url_regex .tar.gz$
acl Rota_outros url_regex .tar.bz2$
acl Rota_outros url_regex .iso$
acl Rota_outros url_regex .tgz$
acl Rota_outros url_regex .*msn.com.*
acl Rota_outros url_regex .*liveupdate.*
acl Rota_outros url_regex .*windowsupdate.*

tcp_outgoing_address 192.168.20.1 Rota_outros
tcp_outgoing_address 192.168.10.1 all

http_access allow all

######  squid.conf  ########

Observe que eu criei ACL´s para as extensões de arquivos de download e mais 3 ACL´s para alguns sites que geram muito volume de tráfego. Com o comando “tcp_outgoing_address” eu fiz o desvio das ACL´s para seus respectivos gateways de saída.

Feita a alteração, reinicia a configuração no squid com o comando “squid -k reconfigure” e observe as luzinhas do modem não pararem de piscar.

Se você quiser comprovar a eficácia desse comando, crie uma ACL para o link “www.whatismyip.com” primeiramente para uma rota, e teste no broswer qual ip que aparece, em seguida, troque a rota dessa ACL e veja novamente no broswer o novo IP da rota.

Espero que com esse tutorial eu possa ajudar o pessoal a otimizar sua rede local da melhor forma possível. Qualquer dúvida favor comentar.

Nenhum comentário:

Postar um comentário