|
S E Ç Õ E S |
|
|
B U S C A |
|
|
|
D E S T A Q U E |
|
|
 |
|
|
 |
|
|
 |
|
E N Q U E T E |
|



|
- 2001
Todos os direitos reservados
|
|
|
H O W T O
|

|
|
|
|
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
|
|