The FreeBSD FAQ - The Power to Help
The FreeBSD FAQ - The Power to Help
This site is Powered by PAR Teleon

S E Ç Õ E S
B U S C A
+
D E S T A Q U E
CONTATO
PÁGINA ANTIGA
TELEON INTERNET
E N Q U E T E
Se apos a conclusao, a traducao da documentacao oficial do FreeBSD, fosse impressa em livro, voce:

Usaria apenas a documentacao na internet como referencia.Faria o download de toda a documentacao na internet e imprimiria eu mesmo.
Compraria o livro, para te-lo em maos, mas usaria a referencia na internet com maior frequencia do que o livro.Compraria o livro, e seria minha unica referencia.
Compraria varias copias do livro e daria de presente a varias pessoas que deveriam ser devidamente catequisadas.







Jean M. Melo © - 2001
Todos os direitos reservados






H O W   T O 


Índice


12/07/01 00:38 - Configurando o squid para fazer proxy transparente


Jean Milanez Melo


Agradecimentos a Mauricio Goto 



Muita gente quer fazer um transparente proxy para diminuir o consumo de
banda, com isso resolvi escrever como faze-lo com o squid.
Aqui sera abordado como faze-lo usando o ipfw e o ipfilter.

* COM O IPFW
-------------

Primeiramente compile o kernel com as seguintes opcoes:

options         IPFIREWALL              
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         IPFIREWALL_FORWARD     

# Coloque essas opcoes caso vc queria habilitar o diskd no squid que lhe
# dara um ganho de performace de aproximadamente 70% . Essas opcoes foram
# configuradas em um Dual Pentium III/450MHz com 512MB de ram, mude de
# acorda com sua necessidade os valores.

options         SYSVMSG
options         MSGMNB=16384
options         MSGMNI=41
options         MSGSEG=2049
options         MSGSSZ=64
options         MSGTQL=512
options         SHMSEG=16
options         SHMMNI=32
options         SHMMAX=2097152
options         SHMALL=3096


Depois de compilado eh hora de instalar o squid, va em
www.squid-cache.org e pegue squid mais novo.
Depois descompacte e instale da seguinte forma:

# tar xfv squid-2.4_4.tar.gz
# cd squid-2.4_4
# ./configure --prefix=/usr/local/squid --enable-storeio=diskd

Caso nao queria usar o diskd retire a opcao "--enable-storeio=diskd" do
configure.

# make ; make install

Apos isso o squid foi instalado eh hora de configura-lo.

Edite o arquivo /usr/local/squid/etc/squid.conf e altere/coloque as
seguintes linhas:

   cache_dir diskd /usr/local/squid/cache 256 16 256 Q1=64 Q2=72
   http_port 3128
   httpd_accel_host virtual
   httpd_accel_port 80
   httpd_accel_with_proxy on
   httpd_accel_uses_host_header on

Caso nao esteja utilizando o disk coloque o cache_dir da seguinte forma:
cache_dir ufs /usr/local/squid/cache 256 16 256

Salve o arquivo, feito isso entre em /usr/local/squid/bin e digite:
# ./squid -z

Isso criara seu diretorio de cache.

Agora acrescente as seguintes linhas no /etc/rc.conf :

firewall_enable="YES"
firewall_type="/etc/ipfw.rules"

Edite o arquivo /etc/ipfw.rules e coloque as linhas:

ipfw add 49  allow tcp from any to any
ipfw add 50  fwd 127.0.0.1,3128 tcp from any to any 80

Salve o arquivo.

Aponte a gateway de seu RAS para o IP da maquina squid e reincie seu
computador e pronto! :)


* COM O IPFILTER
------------------


Coloque no kernel as seguintes linhas e depois recompile-o

options         IPFILTER
options         IPFILTER_LOG


# Coloque essas opcoes caso vc queria habilitar o diskd no squid que lhe
# dara um ganho de performace de aproximadamente 70% . Essas opcoes foram
# configuradas em um Dual Pentium III/450MHz com 512MB de ram, mude de
# acorda com sua necessidade os valores.

options         SYSVMSG
options         MSGMNB=16384
options         MSGMNI=41
options         MSGSEG=2049
options         MSGSSZ=64
options         MSGTQL=512
options         SHMSEG=16
options         SHMMNI=32
options         SHMMAX=2097152
options         SHMALL=3096

Instale o squid:

# tar xfv squid-2.4_4.tar.gz
# cd squid-2.4_4
# ./configure --prefix=/usr/local/squid --enable-storeio=diskd
--enable-ipf-transparent

Caso nao queria usar o diskd retire a opcao "--enable-storeio=diskd" do
configure.

# make ; make install

Edite o arquivo /usr/local/squid/etc/squid.conf e altere/coloque as
seguintes linhas:

   cache_dir diskd /usr/local/squid/cache 256 16 256 Q1=64 Q2=72
   http_port 3128
   httpd_accel_host virtual
   httpd_accel_port 80
   httpd_accel_with_proxy on
   httpd_accel_uses_host_header on

Caso nao esteja utilizando o disk coloque o cache_dir da seguinte forma:
cache_dir ufs /usr/local/squid/cache 256 16 256

Salve o arquivo, feito isso entre em /usr/local/squid/bin e digite:

# ./squid -z

Isso criara seu diretorio de cache.

Agora crie um arquivo chamado /etc/ipf.rules com o seguinte conteudo:

pass in all


Crie outro arquivo agora com o nome de /etc/ipnat.rules com o conteudo:

rdr rl0 0.0.0.0/0 port 80 -> 200.243.51.6 port 3128 tcp

Agora va em /usr/local/etc/rc.d e crie um script para inicializar as
regras:

# pico iniciar.sh

#!/bin/sh
ipf -Fa -E -f /etc/ipf.rules
ipnat -CF -f /etc/ipnat.rules

Salve o arquivo e dee chmod 755 iniciar.sh

Reinicie sua maquina e ela estara pronta para servir de proxy
transparente. 

Importante: Nao esqueca de mudar no seu RAS o default gateway para o IP
do servidor squid.

Boa sorte
Jean Milanez Melo 

Esse documento teve como referencias:
http://www.squid-cache.org/Doc/FAQ/FAQ-17.html#ss17.8
http://www.squid-cache.org/Doc/FAQ/FAQ-22.html
http://xnug.primeirospassos.org/freebsd/howto/squid.html

Jean Milanez Melo




Entrar em contato Enviar este artigo a um amigo Preparar para impressão Índice Topo da página


 

PrincipalBusca AvançadaEnqueteContatoTeleon Internet  
Enquetes antigas | FAQ | FreeBSD Desktop | Informacoes | Links | How To