[FUG-BR] bridge + proxy transparente

Edival Mittelstad edivalmittelstad em gmail.com
Sexta Agosto 13 14:37:10 BRT 2010


Resolvido

Acabei resolvendo o problema com o PF.

############## Regras do PF
rdr on fxp0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 3128
pass in quick on fxp0 route-to lo0 inet proto tcp from any to
127.0.0.1 port 3128 keep state

############## Squid
http_port 3128 transparent

############## Kernel
device          pf
device          pflog
device          pfsync
device          if_bridge

options         ACCEPT_FILTER_DATA
options         ACCEPT_FILTER_HTTP
options         DEVICE_POLLING

options         SHMSEG=16
options         SHMMNI=32
options         SHMMAX=2097152
options         SHMALL=4096
options         MAXFILES=16384

Em 12 de agosto de 2010 17:09, Rogério Moura <rogerpop em gmail.com> escreveu:
>
> Usa PF que funciona!
>
> Em 12 de agosto de 2010 11:35, Patrick Tracanelli <
> eksffa em freebsdbrasil.com.br> escreveu:
>
> >
> > Em 12/08/2010, às 11:28, Edival Mittelstad escreveu:
> >
> > > Olá a todos da lista,
> > >
> > > Estou tentando fazer um proxy transparente sobre uma bridge com IP e
> > estou
> > > tendo dificuldades.
> > >
> > > Tenho o seguinte senário...
> > >
> > > +------------+          +----------+           +------------------+
> > > +-----------------+
> > > | Rede Local |----------| Firewall |-----------| Proxy com Bridge
> > > |----------| Router Internet |
> > > +------------+          +----------+           +------------------+
> > > +-----------------+
> > >
> > > Rede local :  10.1.1.0/24
> > >
> > > Firewall   :       fxp0(Interna) -> 10.1.1.254
> > >        fxp1(Externa) -> 200.x.x.250
> > >
> > > Proxy Bridge:    bge0
> > >        fxp0
> > >        bridge0(bge0 , fxp0) --> 200.x.x.249
> > >
> > > Router Internet: 200.x.x.254
> > >
> > > Estou tentando colocar o lusca nesta bridge, mas os pacotes parecem não
> > > estar sendo redirecionados para o lusca.
> > > O Firewall faz nat para as máquinas da rede interna.
> > >
> > > O LUSCA esta funcionando corretamente pois quando configuro no navegador
> > > para utiliza-lo, funciona tranquilamente.
> > > - Configuração de transparente do LUSCA:
> > > http_port 200.x.x.249:3128 transparent
> > >
> > >
> > > - O IPFW esta aberto e com apenas uma regra
> > > /sbin/ipfw -q add 100 fwd 200.x.x.249,3128 tcp from 10.1.1.0/24 to any
> > 80
> > >
> > > Teoricamente os pacotes estão passando pela regra, mas não estão chegando
> > no
> > > lusca.
> > > Os pacotes estão sendo liberados pela regra geral.
> > > No teste que fiz a maquina navegou mas não passou pelo LUSCA, .
> > > # ipfw show
> > > 00100  11960  2703700 fwd 200.x.x.249,3128 tcp from 10.1.1.0/24 to any
> > > dst-port 80
> > > 65535 554025 51797101 allow ip from any to any
> > >
> > > Com o tcpdump vejo os pacote passando na porta 80 mas não redirecionando
> > > para 3218.
> > >
> > > Alterações do kernel.
> > > options     HZ=6000
> > > options        MROUTING
> > > options     IPSTEALTH
> > > options     IPFIREWALL
> > > options     IPFIREWALL_VERBOSE
> > > options     IPFIREWALL_VERBOSE_LIMIT=100
> > > options     IPFIREWALL_DEFAULT_TO_ACCEPT
> > > options     IPFIREWALL_FORWARD
> > > options     IPFIREWALL_NAT
> > > options     ACCEPT_FILTER_DATA
> > > options     ACCEPT_FILTER_HTTP
> > > options     DEVICE_POLLING
> > > options     LIBALIAS
> > >
> > > ###
> > > options     SHMSEG=16
> > > options     SHMMNI=32
> > > options     SHMMAX=2097152
> > > options     SHMALL=4096
> > > options     MAXFILES=16384
> > >
> > > ##################################################
> > > SYSCTL.CONF
> > > net.link.bridge.ipfw=1
> > > net.link.bridge.log_stp=1
> > > net.link.bridge.ipfw_arp=1
> > > net.inet.ip.forwarding=1
> > > net.link.bridge.pfil_local_phys=1
> > > net.link.bridge.pfil_member=1
> > > net.link.bridge.pfil_bridge=1
> > > net.link.bridge.pfil_onlyip=1
> > > net.inet.ip.fastforwarding=1
> > >
> > > ##################################################
> > > RC.CONF
> > > cloned_interfaces="bridge0"
> > > ifconfig_bge0="up"
> > > ifconfig_fxp0="up"
> > > ifconfig_bridge0="inet 200.x.x.249 netmask 255.255.255.0 addm fxp0 addm
> > bge0
> > > up"
> > > defaultrouter="200.x.x.254"
> > >
> > > Alguém tem alguma ideia porque os pacotes não estão indo para o LUSCA?
> > > -------------------------
> > > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> >
> >
> > Cara, o Luiz Souza estava investigando uma forma de fazer proxy
> > transparente (incluindo tproxy) em bridge. Não sei se ele já conseguiu -
> > Luiz, se você ler nos posicione ai :D - mas enquanto o Luiz ou outra pessoa
> > não completar esse objetivo não adianta você tentar, o fwd não funciona em
> > pacotes na camada 2 (e portanto em bridge).
> >
> > O comportamento é documentado, veja como esta na seção referente ao fwd na
> > "man ipfw":
> >
> >        A fwd rule will not match layer-2 packets (those received on
> >        ether_input, ether_output, or bridged).
> >
> >
> > --
> > 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
> >
> -------------------------
> 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