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

Luiz Gustavo luizgustavo em luizgustavo.pro.br
Quarta Janeiro 27 16:24:54 BRST 2010


Edival Mittelstad wrote:
> 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?
> 

Olá, tudo bom !?

antes de mais nada, sugiro que dê uma olhada nesse material:

http://openbsd.org/faq/pf/pt/index.html

vai te dar uma luz legal em relação à esse entendimento.

Quanto à questão que você colocou de controlar a conexão, você diz para
o pf não criar um estado da conexão na regra que você esta especificando
a queue, basta colocar: "no state". (dê uma olhada no man do pf.conf)

Por padrão, o pf cria estados de conexão, exatamente como você especificou.

Espero ter ajudado.

abraços

-- 
Luiz Gustavo Costa (Powered by BSD)
*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+
mundoUnix - Consultoria em Software Livre
http://www.mundounix.com.br
ICQ: 2890831 / MSN: contato em mundounix.com.br
Blog: http://www.luizgustavo.pro.br


Mais detalhes sobre a lista de discussão freebsd