[FUG-BR] Lusca + bridge + tproxy

Wenderson Souza wendersonsouza em gmail.com
Quarta Agosto 31 13:49:10 BRT 2011


Olá todos,

Estou apanhando para fazer o tproxy funcionar no freebsd.

Alguém poderia me dar uma "Luz" ?

Meu cenário:

FreeBSD 8.2-RELEASE sem aplicar nenhum patch (conforme recomendado)

Lusca com o patch aplicado.
# squid -v
Squid Cache: Version LUSCA_HEAD-r14809
configure options:  '--enable-delay-pools' '--enable-removal-policies'
'--enable-snmp' '--enable-http-violations' '--bindir=/usr/local/sbin'
'--sbindir=/usr/local/sbin' '--datadir=/usr/local/etc/lusca'
'--libexecdir=/usr/local/libexec/lusca' '--localstatedir=/var/lusca'
'--sysconfdir=/usr/local/etc/lusca' '--enable-removal-policies=lru
heap' '--disable-linux-netfilter' '--disable-linux-tproxy'
'--disable-epoll' '--enable-auth=basic digest negotiate ntlm'
'--enable-basic-auth-helpers=DB NCSA PAM MSNT SMB'
'--enable-digest-auth-helpers=password'
'--enable-external-acl-helpers=ip_user session unix_group
wbinfo_group' '--enable-ntlm-auth-helpers=SMB' '--enable-storeio=aufs
null' '--enable-wccp' '--enable-wccpv2' '--disable-ident-lookups'
'--disable-kqueue' '--with-large-files' '--enable-large-cache-files'
'--enable-err-languages=Portuguese'
'--enable-default-err-language=Portuguese' '--prefix=/usr/local'
'--mandir=/usr/local/man' '--infodir=/usr/local/info/'
'--enable-freebsd-tproxy' '--build=amd64-portbld-freebsd8.2'
'build_alias=amd64-portbld-freebsd8.2' 'CC=cc' 'CFLAGS=-O2 -pipe
-fno-strict-aliasing' 'LDFLAGS=' 'CPPFLAGS=' 'CPP=cpp'

squid.conf - http_port 3128 transparent tproxy


Bridge ativa e com as interfaces setadas, ips externos (tenho mais de
um link) e internos setados (para controle interno) na bridge.

regras de firewall:
rl0 - interna
rl1 - externa
# redirect proxy
ipfw add 150 fwd 127.0.0.1,3128 tcp from 189.x.x.0/25 to any 80 via rl0
ipfw add 151 fwd 127.0.0.1 tcp from any 80 to 189.x.x.0/25 via rl1

Consigo acessar, com o ip publico setado na maquina atrás da bridge,
mas não está caindo no proxy.

Apesar de estar incrementando as regras do ipfw, conforme abaixo:
00150    3152    649814 fwd 127.0.0.1,3128 tcp from any to any
dst-port 80 via rl0
00151    3018   2283772 fwd 127.0.0.1 tcp from any 80 to any via rl1

Estou acompanhando o cache.log e o access.log e não há nenhum
incremento ou de erro (informação) ou de acesso.

Agradeço desde já a possível ajuda de todos.


Wenderson Souza
e-mail: wendersonsouza em gmail.com
msn: wendersonsouza em msn.com
skype: wendersonsouza



Em 27 de agosto de 2011 12:04, Wenderson Souza
<wendersonsouza em gmail.com> escreveu:
> Hum, entao só precisaria mexer no lusca?
>
> Mas mesmo antes de aplicar o patch tentei compilar com IP_BINDANY e deu erro.
>
> Vou retornar e testar.
>
> Reporto aqui.
>
>
> Wenderson Souza
> e-mail: wendersonsouza em gmail.com
> msn: wendersonsouza em msn.com
> skype: wendersonsouza
>
>
>
> Em 27 de agosto de 2011 11:39, Marcelo da Silva
> <marcelo em mginformatica.com> escreveu:
>> intaum.. aqui no manual:
>>
>> FreeBSD 8 already support this, but you will need to change the
>> IP_NONLOCALOK to IP_BINDANY in src/comm.cc (or
>> libiapp/comm_ips_freebsd.c under lusca).
>>
>> diz q no freebsd 8 ja tem o suporte, so precisa mexer no
>> libiapp/comm_ips_freebsd.c under lusca
>>
>>
>>
>> On Sat, 27 Aug 2011 11:35:24 -0300, Wenderson Souza wrote:
>>> Tentei colocar o options IP_BINDANY conforme o
>>> http://tproxy.no-ip.org/ mas deu erro também.
>>>
>>> O que fiz, apliquei o patch na unha (no código) e estou recompilando
>>> agora, assim que testar posto aqui.
>>>
>>>
>>> Wenderson Souza
>>> e-mail: wendersonsouza em gmail.com
>>> msn: wendersonsouza em msn.com
>>> skype: wendersonsouza
>>>
>>>
>>>
>>> Em 27 de agosto de 2011 11:12, Marcelo da Silva
>>> <marcelo em mginformatica.com> escreveu:
>>>> no fBSD 8.x  o   IP_NONLOCALBIND    foi substituido pelo IP_BINDANY.
>>>> axo q nao precisa recompilar
>>>>
>>>> http://tproxy.no-ip.org/
>>>>
>>>> On Sat, 27 Aug 2011 10:17:52 -0300, Wenderson Souza wrote:
>>>>> Bom dia,
>>>>>
>>>>> Ao tentar compilar o kernel recebi o erro abaixo:
>>>>>
>>>>> /usr/src/sys/amd64/conf/PROXY: unknown option "IP_NONLOCALBIND"
>>>>>
>>>>> Alguma luz?
>>>>>
>>>>>
>>>>> Wenderson Souza
>>>>> e-mail: wendersonsouza em gmail.com
>>>>> msn: wendersonsouza em msn.com
>>>>> skype: wendersonsouza
>>>>>
>>>>>
>>>>>
>>>>> Em 27 de agosto de 2011 09:42, Wenderson Souza
>>>>> <wendersonsouza em gmail.com> escreveu:
>>>>>> Precisa recompilar o kernel e o lusca posteriormente?
>>>>>>
>>>>>> Pois o patch pelo que vi é aplicado no soucre do Kernel, não?
>>>>>>
>>>>>> # uname -a
>>>>>> FreeBSD proxy.xxx.com.br 8.2-RELEASE FreeBSD 8.2-RELEASE #3: Thu
>>>>>> Aug
>>>>>> 25 22:43:06 BRT 2011
>>>>>> root em proxy.xxx.com.br:/usr/obj/usr/src/sys/PROXY  amd64
>>>>>>
>>>>>>
>>>>>> Wenderson Souza
>>>>>> e-mail: wendersonsouza em gmail.com
>>>>>> msn: wendersonsouza em msn.com
>>>>>> skype: wendersonsouza
>>>>>>
>>>>>>
>>>>>>
>>>>>> Em 27 de julho de 2011 15:10, Hygor <hygor em vipway.com.br>
>>>>>> escreveu:
>>>>>>> Boa tarde,
>>>>>>>  O Lusca está marcando TOS com o patch aplicado?
>>>>>>>
>>>>>>> Obrigado pela solução...
>>>>>>>
>>>>>>> Hygor Cavalcante
>>>>>>> FSNETWORK CONSULTORIA
>>>>>>> Skype: hygorr
>>>>>>> MSN: hygor em bsd.com.br
>>>>>>> EMAIL: hygor em bsd.com.br
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Em 24 de julho de 2011 18:43, slp <slp em fsnet.com.br> escreveu:
>>>>>>>
>>>>>>>> Ola,
>>>>>>>>
>>>>>>>> Testei o patch e tambem funcionou para mim, mesmo cenario, Lusca
>>>>>>>> em
>>>>>>>> bridge entre os clientes e a net.
>>>>>>>>
>>>>>>>> Obrigado pela solucao.
>>>>>>>>
>>>>>>>> Sidnei
>>>>>>>>
>>>>>>>>
>>>>>>>> Em 21/07/2011 23:58, Luiz Otavio O Souza escreveu:
>>>>>>>> > Hello folks,
>>>>>>>> >
>>>>>>>> > Eu (finalmente) tenho o lusca funcionando em modo bridge com o
>>>>>>>> tproxy.
>>>>>>>> Antes que eu acredite que isso funcionou, alguem mais pode
>>>>>>>> testar
>>>>>>>> o patch
>>>>>>>> abaixo ?
>>>>>>>> >
>>>>>>>> > http://loos.no-ip.org/lusca_tproxy.diff
>>>>>>>> >
>>>>>>>> > No meu ambiente de teste eu tinha:
>>>>>>>> >
>>>>>>>> > Clientes (192.168.0.0/24) ->  xl0 ->  bridge ->  vr0 ->
>>>>>>>>  internet
>>>>>>>> >
>>>>>>>> > Então precisei criar duas regras para acomodar o vai-e-vem dos
>>>>>>>> pacotes:
>>>>>>>> >
>>>>>>>> > # Direciona os pacotes da rede interna para o proxy
>>>>>>>> > ipfw add 127.0.0.1,3128 tcp from 192.168.0.0/24 to any 80 via
>>>>>>>> xl0
>>>>>>>> >
>>>>>>>> > # Direciona o retorno dos pacotes para o S.O.
>>>>>>>> > ipfw add 127.0.0.1 tcp from any 80 to 192.168.0.0/24 via vr0
>>>>>>>> >
>>>>>>>> > Liguei o ipfw para os pacotes da bridge:
>>>>>>>> >
>>>>>>>> > sysctl net.link.bridge.ipfw=1
>>>>>>>> >
>>>>>>>> > e modifiquei o http_port do lusca para:
>>>>>>>> >
>>>>>>>> > http_port 3128 tproxy transparent
>>>>>>>> >
>>>>>>>> > Pronto, tudo funcionou :-) Alguem mais confirma ?
>>>>>>>> >
>>>>>>>> > O patch em si é uma variação do outro patch que já fazia o
>>>>>>>> lusca
>>>>>>>> funcionar no modo transparente também em bridge (mas ainda não
>>>>>>>> com
>>>>>>>> o
>>>>>>>> tproxy).
>>>>>>>> >
>>>>>>>> > A idéia do patch (permitir checar os pacotes no ipfw não
>>>>>>>> apenas
>>>>>>>> na saída
>>>>>>>> mas também na entrada) foi dada pelo Patrick já faz algum tempo,
>>>>>>>> mas só
>>>>>>>> agora consegui colocar ela em prática (Patrick, mais uma vez
>>>>>>>> obrigado !).
>>>>>>>> >
>>>>>>>> > Att.,
>>>>>>>> > Luiz
>>>>>>>> >
>>>>>>>> > PS: esse patch inclui um segundo patch que faz o tproxy do
>>>>>>>> lusca
>>>>>>>> funcionar sem precisar de qualquer alteração (não precisa ser
>>>>>>>> executado como
>>>>>>>> root), talvez depois eu deixe ele separado para evitar
>>>>>>>> confusões.
>>>>>>>> > -------------------------
>>>>>>>> > 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
>>
>


Mais detalhes sobre a lista de discussão freebsd