Re: [FUG-BR] bridge + proxy transparente

2010-08-13 Por tôpico Edival Mittelstad
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  escreveu:
>
> Usa PF que funciona!
>
> Em 12 de agosto de 2010 11:35, Patrick Tracanelli <
> eks...@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"
> > > defaul

[FUG-BR] bridge + proxy transparente

2010-08-12 Por tôpico Edival Mittelstad
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
optionsMROUTING
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


[FUG-BR] Entendimento sobre controle de banda com PF + ALTQ

2010-01-27 Por tôpico Edival Mittelstad
Ola a todos,

Sou novo na lista e não havia realizado nenhum post ainda.

Estou precisando de uma ajuda em uma questão de entendimento.

Estou implementando um servidor apenas para controle de banda sem regras
de negações de acesso.

Anteriormente eu tinha o seguinte conceito quanto a entrada e saída de
pacotes em
um firewall de passagem para internet.

IN  --> [INTERFACE A][PROCESSAMENTO][INTERFACE B] --> OUT
OUT <-- [INTERFACE A][PROCESSAMENTO][INTERFACE B] <-- IN

Estou tentando implementar em PF + ALTQ e conversando com um amigo ele me
falou
que o PF utiliza o seguinte conceito.


IN  --> [INTERFACE A] --> OUT [PROCESSAMENTO] IN  --> [INTERFACE B] --> OUT
OUT <-- [INTERFACE A] <-- IN  [PROCESSAMENTO] OUT <-- [INTERFACE B] <--
INPUT

É isto mesmo?

Se pensar desta forma a [INTERFACE A] tem INPUT vindo dos dois sentidos.

Como o ALTQ trabalha com apenas tráfego de saída eu não posso colocar filtro
de fila
na [INTERFACE B] que seria de Internet onde todos os IP são Convertidos
(NAT), imaginei
que poderia implementar tudo na interface Interna apenas alternando entre
from e to.


REGRA 1: pass out quick on $if_int inet proto tcp from $rede_a to any
modulate state label rede_a queue urede_a
REGRA 2: pass out quick on $if_int inet proto tcp from any to $rede_a
modulate state label rede_a queue drede_a

REGRA 3: pass out quick on $if_int inet proto {udp icmp} from $rede_a to any
label rede_a queue urede_a
REGRA 4: pass out quick on $if_int inet proto {udp icmp} from any to $rede_a
label rede_a queue drede_a


Com relação a estas regras meu amigo me falou que em um acesso TCP a
internet partindo da rede_a "REGRA 1"
o tráfico de volta já seria automaticamente aceito pela "REGRA 1" sem chegar
na "REGRA 2".

Quer dizer quando liberamos o tráfego de ida ele aceita a volta dos pacotes
automaticamente.

Então eu teria contabilizado tudo na fila "urede_a" e não o download na
"drede_a".

Então como fazer?

-- 
Edival Mittelstad
-
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd