[FUG-BR] RES: RES: Cacheboy Free 8.0 + Tproxy
Marcelo Gondim
gondim em linuxinfo.com.br
Quinta Abril 29 22:39:48 BRT 2010
Opa Renato,
Show de bola, teve uns procedimentos que não fiz e provavelmente seja isso,
principalmente esse no rc.conf:
squid_user="root"
:)
Vou testar aqui e posto o resultado e até um tuto baseado nessas informações
:D
Valeu mesmo!
-----Mensagem original-----
De: freebsd-bounces em fug.com.br [mailto:freebsd-bounces em fug.com.br] Em nome
de Renato Frederick
Enviada em: quinta-feira, 29 de abril de 2010 21:11
Para: Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)
Assunto: Re: [FUG-BR] RES: Cacheboy Free 8.0 + Tproxy
Marcelo,
qual é a sua dificuldade?
Vamos lá, sei que dá para usar o lusca-head também, mas como usei
cacheboy16, vou colocar os passos que fiz hj, OK?
0 - instalar o freebsd 8, atualizar o sistema/ports/compilar kernel, etc etc
:)
1 - cd /usr/ports/www/cacheboy16/
2 - make extract
3 - vi /usr/ports/www/cacheboy16/work/cacheboy-1.6-r13601/src/main.c
4 - apagar tudo isto(senão ele não vai poder rodar como root):
if (geteuid() == 0) {
debug(0, 0) ("Squid is not safe to run as root! If you must\n");
debug(0, 0) ("start Squid as root, then you must configure\n");
debug(0, 0) ("it to run as a non-priveledged user with the\n");
debug(0, 0) ("'cache_effective_user' option in the config file.\n");
fatal("Don't run Squid as root, set 'cache_effective_user'!");
}
5 - alterar a função do TPROXY nome, já que no Free8 ela foi renomeada: vi
/usr/ports/www/cacheboy16/work/cacheboy-1.6-r13601/libiapp/comm_ips_freebsd.
c
6 - alterar a linha:
if (setsockopt(fd, IPPROTO_IP, IP_NONLOCALOK, (char *)&on, sizeof(on)) != 0)
para
if (setsockopt(fd, IPPROTO_IP, IP_BINDANY, (char *)&on, sizeof(on)) != 0)
7 - compilar o cacheboy16: make (se não der erro nenhum, tudo OK)
8 - instalar: make install
9 - editar o /usr/local/etc/squid/squid.conf e colocar/alterar:
cache_effective_user root
cache_effective_group wheel
10 - editar o /etc/rc.conf e colocar:
squid_enable="YES"
squid_user="root"
11 - configurar o squid.conf para permitir acesso a sua rede, criar o cache,
etc,etc(o básico que vocÊ sempre faz).
12 - lembrar que para rodar em modo tproxy, a linha do squid.conf tem que
ser: http_port 3128 transparent tproxy
13 - iniciar o squid: /usr/local/etc/rc.d/squid start
14 - confirmar se o squid está rodando como root: ps auxm|grep squid:
root 35632 0.0 0.0 21572 2196 ?? Is 12:42PM 0:00.00
/usr/local/sbin/squid -D
root 35634 9.8 3.3 288056 277464 ?? S 12:42PM 50:23.61 (squid) -D
(squid)
15 - agora basta configurar as regras ipfw, por exemplo:
ipfw fwd 187.X.X.X,3128 tcp from 200.0.0.0/24 to any dst-port 80 in via
igb1
ipfw fwd 187.X.X.X tcp from any 80 to 200.0.0.0/24 in via bce0
Estas regras consideram que o firewall que tem squid tem IP 187.X.X.X, que
seus clientes internos tem IP 200.0.0.0/24 e que a placa externa(ligada á
internet) é bce0 e a placa ligada ás rede dos clientes(200.0.0.0/24) é igb1.
16 - Acessar da rede interna www.meuip.com.br e ver se o IP que aparece é o
do proxy ou o do cliente. Se for o do cliente, tudo OK. Se for do proxy,tem
algo errado, dai...
17 - verificar no log do squid : /usr/local/squid/logs/cache.log
se aparecer uma linha assim: comm_fdopen6: FD 52: TPROXY comm_ips_bind
failed? Why? é porque o cacheboy não conseguiu fazer o bind "fake" usando o
IP do cliente como se fosse local address. Isto normalmente ocorre quando o
cacheboy não rodou como root ou quando o freebsd não tem suporte a
tproxy(versão 7.x).
18 - por fim, pode-se também dar um "netstat -na" e ver se na coluna "local
address" aparece IP dos clientes, conectados á porta 80 remota. Isto indica
que o TPROXY está OK:
tcp4 0 651 187.X.X.13.51121 174.120.182.195.80 ESTABLISHED
tcp4 0 0 187.X.X.104.51111 74.125.47.138.80
ESTABLISHED
Acho que o email ficou meio confuso, vale a pena postar tutorial no site da
FUG.. :)
--------------------------------------------------
From: "Marcelo Gondim" <gondim em linuxinfo.com.br>
Sent: Thursday, April 29, 2010 6:44 PM
To: "'Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)'"
<freebsd em fug.com.br>
Subject: [FUG-BR] RES: Cacheboy Free 8.0 + Tproxy
> Pessoal,
>
> Aproveitando o assunto do Lusca. Alguém tem algum tutorial ou link de
> documentação sobre instalação do Lusca funcionando com o TProxy no FreeBSD
> 8? Porque já tentei de várias formas e não consegui. Tenho a solução
> funcionando perfeito em CentOS 5.4 em bridge + squid 3.1.1 + TProxy mas
> estou querendo fazer algo semelhante com FreeBSD 8.0 e o Lusca. Estou
> querendo fazer uma solução como esta que fiz:
> http://www.linuxinfo.com.br/squid_tproxy.htm
> Se alguém tiver alguma doc pra ajudar ou indicação, agradeço.
>
> Grande abraço a todos.
>
> -----Mensagem original-----
> De: freebsd-bounces em fug.com.br [mailto:freebsd-bounces em fug.com.br] Em nome
> de sergio
> Enviada em: quinta-feira, 29 de abril de 2010 18:16
> Para: Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)
> Assunto: Re: [FUG-BR] Cacheboy Free 8.0 + Tproxy
>
> Estou pra testar o Lusca com 4 HD's SCSI com FreeBSD 8 e ZFS, nós ultimos
> testes o Lusca com ZFS e HD SAS foi quem se comportou melhor.
>
>
>> -----Original Message-----
>> From: renato em frederick.eti.br
>> Sent: Thu, 29 Apr 2010 14:28:02 -0300
>> To: freebsd em fug.com.br
>> Subject: [FUG-BR] Cacheboy Free 8.0 + Tproxy
>>
>> Pessoal, para contar no histórico da lista, fiz o procedimento abaixo[1]
>> com o cacheboy(já que o lusca-head não tem diskd) e está funcionando
>> corretamente com o Free 8.0 AMD64.
>>
>> Também adicionei algumas sysctl como já citei no passado[2]
>>
>> [1] http://www.fug.com.br/historico/html/freebsd/2010-04/msg00308.html
>> [2] http://www.mail-archive.com/freebsd@fug.com.br/msg48652.html
>>
>> A propósito, falando em sysctl, apesar desta máquina não rodar BGP,
>> ativei a sysctl
>>
>> net.inet.flowtable.enable=0
>>
>> pois com aumento do tráfego os pings estavam variando de 1s até uns 30s.
>>
>> o Servidor tem interfaces bce e igb.
>>
>> Abraços
>>
>>
>> -------------------------
>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Mais detalhes sobre a lista de discussão freebsd