Hello all, Até que enfim consegui colocar o FreeBSD com o Tproxy para rodar. E aproveitei e testei com mais de um range de IP's, funcionou blz. Basta colocar uma segunda porta no http_port e configurar o tcp_outgoing_address para os 2 ranges.
Agradeço a todos os que ajudaram, em especial: 1º ao Luiz Gustavo, pois eu ia morrer e não ia conseguir pois estava testando com o 8.2-RELEASE, e ele matou a cobra informando que deveria ser feito no STABLE. E para não ter nenhum problema, re-formatei a máquina novamente, coloquei o 8.2-RELEASE e atualizei para o 8.2-STABLE; 2º ao Patrick Tracanelli, pois eu não estava testando antes roteado para depois testar com o tproxy; e testando antes roteado consegui resolver muitos probleminhas com o LUSCA sob BRIDGE; Agora a solução: # uname -a FreeBSD tproxy.xxx.com.br 8.2-STABLE FreeBSD 8.2-STABLE #1: Fri Sep 9 19:44:18 BRT 2011 wender...@tproxy.xxx.com.br:/usr/obj/usr/src/sys/TPROXY amd64 # squid -v Squid Cache: Version LUSCA_HEAD-r14809 configure options: '--bindir=/usr/local/sbin' '--sbindir=/usr/local/sbin' '--datadir=/usr/local/etc/squid' '--libexecdir=/usr/local/libexec/squid' '--localstatedir=/usr/local/squid' '--sysconfdir=/usr/local/etc/squid' '--enable-removal-policies=lru heap' '--disable-linux-netfilter' '--disable-linux-tproxy' '--disable-epoll' '--enable-auth=basic ntlm digest' '--enable-basic-auth-helpers=DB NCSA PAM MSNT SMB YP' '--enable-digest-auth-helpers=password' '--enable-external-acl-helpers=ip_user session unix_group wbinfo_group' '--enable-ntlm-auth-helpers=SMB' '--with-pthreads' '--enable-storeio=aufs null' '--enable-delay-pools' '--enable-snmp' '--enable-wccpv2' '--disable-ident-lookups' '--with-large-files' '--enable-large-cache-files' '--enable-stacktraces' '--enable-freebsd-tproxy' '--enable-err-languages=Portuguese' '--enable-default-err-language=Portuguese' '--prefix=/usr/local' '--mandir=/usr/local/man' '--infodir=/usr/local/info/' '--build=amd64-portbld-freebsd8.2' 'build_alias=amd64-portbld-freebsd8.2' 'CC=cc' 'CFLAGS=-O2 -pipe -g -fno-strict-aliasing' 'LDFLAGS=' 'CPPFLAGS=' 'CPP=cpp' '--disable-pf-transparent' '--enable-ipf-transparent' percebam que eu desativei o '--disable-pf-transparent' pois eu estava recebendo muitos erros do tipo clientNatLookup: PF open failed: (2) No such file or directory no cache.log e ativei o '--enable-ipf-transparent' # /etc/sysctl.conf net.link.bridge.ipfw=1 net.link.bridge.pfil_bridge=1 # /etc/rc.conf (coloquei os ips públicos na bridge) network_interfaces="rl1 rl2" cloned_interfaces="bridge0" ifconfig bridge0 addm rl1 addm rl2 ifconfig_rl1="up" ifconfig_rl2="up" ifconfig_bridge0="inet 200.x.x.203 netmask 255.255.255.248 up" ifconfig_bridge0_alias0="inet 200.x.x.187 netmask 255.255.255.248 up" # ipfw ipfw add 100 fwd 200.x.x.203,3128 tcp from 200.x.x.200/29 to any 80 via rl2 ipfw add 200 fwd 200.x.x.203 tcp from any 80 to 200.x.x.200/29 via rl1 ipfw add 300 fwd 200.x.x.187,3129 tcp from 200.x.x.184/29 to any 80 via rl2 ipfw add 400 fwd 200.x.x.187 tcp from any 80 to 200.x.x.184/29 via rl1 # squid.conf http_port 200.x.x.203:3128 tproxy transparent acl porta3128 src 200.x.x.200/29 tcp_outgoing_adress 200.x.x.203 porta3128 http_port 200.x.x.187:3129 tproxy transparent acl porta3129 src 200.x.x.184/29 tcp_outgoing_address 200.x.x.187 porta3129 Valeu a pena perder o sábado e o domingo brigando com o ipfw e com o LUSCA. Um ótimo inicio de semana para todos. Wenderson Souza e-mail: wendersonso...@gmail.com msn: wendersonso...@msn.com skype: wendersonsouza Em 8 de setembro de 2011 12:07, Wenderson Souza <wendersonso...@gmail.com> escreveu: > 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: wendersonso...@gmail.com > msn: wendersonso...@msn.com > skype: wendersonsouza > > > > Em 8 de setembro de 2011 11:43, Luiz Gustavo S. Costa > <luizgust...@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 >> <eks...@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: wendersonso...@gmail.com >>>>> msn: wendersonso...@msn.com >>>>> skype: wendersonsouza >>>>> >>>>> >>>>> >>>>> Em 31 de agosto de 2011 13:49, Wenderson Souza >>>>> <wendersonso...@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: wendersonso...@gmail.com >>>>>> msn: wendersonso...@msn.com >>>>>> skype: wendersonsouza >>>>>> >>>>>> >>>>>> >>>>>> Em 27 de agosto de 2011 12:04, Wenderson Souza >>>>>> <wendersonso...@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: wendersonso...@gmail.com >>>>>>> msn: wendersonso...@msn.com >>>>>>> skype: wendersonsouza >>>>>>> >>>>>>> >>>>>>> >>>>>>> Em 27 de agosto de 2011 11:39, Marcelo da Silva >>>>>>> <marc...@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: wendersonso...@gmail.com >>>>>>>>> msn: wendersonso...@msn.com >>>>>>>>> skype: wendersonsouza >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Em 27 de agosto de 2011 11:12, Marcelo da Silva >>>>>>>>> <marc...@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: wendersonso...@gmail.com >>>>>>>>>>> msn: wendersonso...@msn.com >>>>>>>>>>> skype: wendersonsouza >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Em 27 de agosto de 2011 09:42, Wenderson Souza >>>>>>>>>>> <wendersonso...@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 >>>>>>>>>>>> r...@proxy.xxx.com.br:/usr/obj/usr/src/sys/PROXY amd64 >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Wenderson Souza >>>>>>>>>>>> e-mail: wendersonso...@gmail.com >>>>>>>>>>>> msn: wendersonso...@msn.com >>>>>>>>>>>> skype: wendersonsouza >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Em 27 de julho de 2011 15:10, Hygor <hy...@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: hy...@bsd.com.br >>>>>>>>>>>>> EMAIL: hy...@bsd.com.br >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Em 24 de julho de 2011 18:43, slp <s...@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 >>> 316...@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: luizgust...@luizgustavo.pro.br / lgco...@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 >> > ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd