[FUG-BR] RES: RES: RES: RES: Cacheboy Free 8.0 + Tproxy
Marcelo Gondim
gondim em linuxinfo.com.br
Sexta Abril 30 11:22:07 BRT 2010
Heheh também pus aí dá essa mensagem:
While trying to process the request:
GET / HTTP/1.1
Accept: image/jpeg, application/x-ms-application, image/gif,
application/xaml+xml, image/pjpeg, application/x-ms-xbap,
application/x-shockwave-flash, application/msword,
application/vnd.ms-powerpoint, application/vnd.ms-excel, */*
Accept-Language: pt-BR
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0;
SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media
Center PC 6.0; InfoPath.2; OfficeLiveConnector.1.4; OfficeLivePatch.1.3;
FDM)
Accept-Encoding: gzip, deflate
Host: www.globo.com
Connection: Keep-Alive
Cookie: RMID=c921b3454b3a03f0;
__utma=156749805.195591487.1272508053.1272508053.1272508053.1;
__utmz=156749805.1272508053.1.3.utmccn=(referral)|utmcsr=globo.com|utmcct=/|
utmcmd=referral;
__utma=10109875.1145904359.1268285830.1272605283.1272636303.40;
__utmz=10109875.1268285830.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)
; __utmb=10109875; __utmc=10109875
The following error was encountered:
Invalid Request
Some aspect of the HTTP Request is invalid. Possible problems:
Missing or unknown request method
Missing URL
Missing HTTP Identifier (HTTP/1.0)
Request is too large
Content-Length missing for POST or PUT requests
Illegal character in hostname; underscores are not allowed
E no cache.log aparece:
2010/04/30 11:20:26| clientTryParseRequest: FD 14 (192.168.10.177:49566)
Invalid Request
Rsrsr e pior que é só com tproxy, transparent tá perfeito na bridge srrsrsrs
-----Mensagem original-----
De: freebsd-bounces em fug.com.br [mailto:freebsd-bounces em fug.com.br] Em nome
de Alexandre Correa
Enviada em: sexta-feira, 30 de abril de 2010 11:11
Para: Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)
Assunto: Re: [FUG-BR] RES: RES: RES: Cacheboy Free 8.0 + Tproxy
coloca so tproxy .. sem transparent :)
2010/4/30 Marcelo Gondim <gondim em linuxinfo.com.br>:
> Pois é com o ipfw eu não consegui mesmo mas com o PF eu vejo o
> redirecionamento indo pro lusca, inclusive funciona perfeitamente usando:
>
> http_port 192.168.10.200:3128 transparent
>
> Agora se ponho:
>
> http_port 192.168.10.200:3128 transparent tproxy
>
> Aí já não funciona mais, ou seja, pode ser algo específico com o tproxy
> mesmo porque só com transparent funfa certinho.
>
> -----Mensagem original-----
> De: freebsd-bounces em fug.com.br [mailto:freebsd-bounces em fug.com.br] Em nome
> de Renato Frederick
> Enviada em: sexta-feira, 30 de abril de 2010 10:54
> Para: 'Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)'
> Assunto: Re: [FUG-BR] RES: RES: Cacheboy Free 8.0 + Tproxy
>
> Nunca tentei usar em bridge, não sei se funcionaria, a bridge não estaria
> uma camada OSI abaixo do que um fwd de portas?
>
>
>
>
> --------------------------------------------------
> From: "Marcelo Gondim" <gondim em linuxinfo.com.br>
> Sent: Friday, April 30, 2010 10:31 AM
> To: "'Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)'"
> <freebsd em fug.com.br>
> Subject: [FUG-BR] RES: RES: Cacheboy Free 8.0 + Tproxy
>
>> Opa Renato,
>>
>> Sabe se eu conseguiria fazer funcionar também em uma bridge? A máquina
>> fazendo forward foi de boa mas ainda estou penando tentando fazer em
>> bridge.
>> Meu teste está assim: meu notebook(192.168.10.177) passando pela bridge
>> freebsd(192.168.10.200) e indo pro router(192.168.10.254). Coloquei as
>> seguintes confs:
>>
>> /etc/rc.conf
>> ============
>> cloned_interfaces="bridge0"
>> ifconfig_bridge0="inet 192.168.10.200 netmask 255.255.255.0 addm sis0
addm
>> rl0 up"
>> ifconfig_sis0="up"
>> ifconfig_rl0="up"
>> defaultrouter="192.168.10.254"
>> hostname="freeba.localdomain.net"
>> keymap="br275.iso.acc"
>> sshd_enable="YES"
>> squid_enable="YES"
>> squid_user="root"
>> pf_enable="YES"
>> pf_rules="/etc/pf.conf"
>>
>> /etc/pf.conf
>> ============
>> rdr pass on bridge0 inet proto tcp from 192.168.10.0/24 to any port 80 ->
>> 192.168.10.200 port 3128
>> rdr pass on bridge0 inet proto tcp from any port 80 to 192.168.10.0/24 ->
>> 192.168.10.200
>>
>> No squid.conf:
>> ==============
>> http_port 192.168.10.200:3128 transparent tproxy
>>
>> No kernel adicionei o seguinte:
>> ===============================
>> device pf
>> device pflog
>> device pfsync
>> device if_bridge
>> options MSGMNB=8192
>> options MSGSSZ=64
>> options MSGTQL=2048
>> options SHMSEG=16
>> options SHMALL=4096
>> options LIBALIAS
>>
>> A questão acho que é, ele vai funcionar em bridge ou existe essa
>> limitação?
>>
>> Grande abraço e obrigado pela ajuda
>>
>>
>> -----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
>>
>> -------------------------
>> 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
>
--
Sds.
Alexandre J. Correa
Onda Internet
http://www.onda.net.br
IPV6 Ready !!!
http://ipv6.onda.net.br
-------------------------
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