[FUG-BR] Lusca + bridge + tproxy
Wenderson Souza
wendersonsouza em gmail.com
Quinta Setembro 8 12:07:44 BRT 2011
Então é este o meu problema. Estou com o 8.2-RELEASE.
Por que achei entranho, já ter seguido todos os passos e não conseguir resolver.
Já ia reportar quanto as perguntas do Patrick, mas atualizar agora
para pode efetuar os testes.
Luiz Gustavo,
Assim que tiver alguma noticia sobre a correção no patch para o
RELEASE nos reporte.
Muito obrigado a todos, mando notícias! :)
Wenderson Souza
e-mail: wendersonsouza em gmail.com
msn: wendersonsouza em msn.com
skype: wendersonsouza
Em 8 de setembro de 2011 11:43, Luiz Gustavo S. Costa
<luizgustavo em luizgustavo.pro.br> escreveu:
> só um detalhe que deve estar ocorrendo no cenário do colega:
>
> o patch deve ser aplicado no STABLE, 8.2-STABLE
>
> no RELEASE não funciona.
>
> eu to sem tempo, mas fiz umas correções no patch do loos pra funcionar
> no RELEASE do 8.1 e 8.2, assim que der eu publico.
>
> abraços
>
> Em 8 de setembro de 2011 10:22, Patrick Tracanelli
> <eksffa em freebsdbrasil.com.br> escreveu:
>> Vou assumir o seguinte cenário, que é o que tenho aqui:
>>
>> - Lusca (último do ports) com TPROXY
>> - FreeBSD 8.2 com o patch do Loos que se encontra nesse e-mail/thread
>> - Regras de fwd como as desse e-mail/thread
>> - Lusca testado em modo roteado e com TPROXY funcional: fundamental pro seu debug passo-a-passo
>>
>> Pergunta:
>>
>> - Seu tráfego não http passa normalmente pela bridge?
>> - Seu tráfego http sai pela bridge corretamente? (confira com tcpdump no router)
>> - A resposta http volta pra bridge (confira com tcpdump na bridge freebsd)
>> - Ambos counters incrementam (saida/retorno) no ipfw show?
>> - O mesmo cenário em modo roteado (sem bridge) funciona? (a resposta tem que ser SIM, e testado de fato)
>>
>> Voce não precisa modificar nada de comm_ips_freebsd.c e principalmente não use Squid.
>>
>> Va de Lusca, FreeBSD 8.2 e teste primeiro o tproxy roteado.
>>
>> Tem que funcionar, e precisa funcionar antes de voce dar o proximo passo.
>>
>> Quando estiver OK aplique o patch do Loos, compile o kernel e adeque as regras.
>>
>> Ai cole sua config da bridge, suas regras de firewall, seu squid.conf pra sabermos o que e como :-)
>>
>>
>>
>>
>>>
>>>
>>>> Nenhuma opinião?
>>>>
>>>> Sei que a comunidade do FreeBSD não gosta de dar informações mais
>>>> aprofundadas (dar o peixe e sim ensinar a pescar), mas já corri a trás
>>>> o quanto eu pude, por isso estou perguntando aqui novamente.
>>>>
>>>> Já formatei a máquina coloquei o FreeBSD-7.4-Release, apliquei os
>>>> patch no kernel e no squid30 e estou com o mesmo problema.
>>>>
>>>> Já reformatei a máquina e voltei para o FreeBSD-8.2-Release,
>>>> modifiquei no lusca o comm_ips_freebsd.c, recompilei e a mesma coisa.
>>>>
>>>> Creio que o meu problema esteja agora penas no filtro do ipfw. Com
>>>> tudo rodando, bridge, lusca, etc.
>>>>
>>>> Os filtros estão incrementando mas não estão "chegando" no lusca, pois
>>>> não incrementa nada no access.log, store.log e nem no cache.log (nesse
>>>> incrementa apenas quando inicio o lusca, mensagens padrões...).
>>>>
>>>> Estou conseguindo acessar passando pela bridge, tudo normal. A bridge
>>>> freebsd está com ip setado e acessando a internet, pingando e
>>>> resolvendo nomes. Aparentemente tudo normal.
>>>>
>>>> Estão setando o ip público do freebsd em qual interface? Interna,
>>>> Externa ou na Bridge ?
>>>>
>>>>
>>>> Atenciosamente,
>>>>
>>>> Wenderson Souza
>>>> e-mail: wendersonsouza em gmail.com
>>>> msn: wendersonsouza em msn.com
>>>> skype: wendersonsouza
>>>>
>>>>
>>>>
>>>> Em 31 de agosto de 2011 13:49, Wenderson Souza
>>>> <wendersonsouza em gmail.com> escreveu:
>>>>> 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
>>
>> --
>> Patrick Tracanelli
>>
>> FreeBSD Brasil LTDA.
>> Tel.: (31) 3516-0800
>> 316601 em sip.freebsdbrasil.com.br
>> http://www.freebsdbrasil.com.br
>> "Long live Hanin Elias, Kim Deal!"
>>
>> -------------------------
>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>
>
>
>
> --
> /\ Luiz Gustavo S. Costa
> / \ Programmer at BSD Perimeter
> / \ /\/\/\ Visit the pfSense Project
> / \ \ \ http://www.pfsense.org
> ---------------------------------------------------------------------
> BSD da serra carioca, Teresopolis (visite: http://miud.in/Inv)
> Contatos: luizgustavo em luizgustavo.pro.br / lgcosta em pfsense.org
> Blog: http://www.luizgustavo.pro.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