Re: [FUG-BR] Balance usando PF

2011-07-12 Por tôpico Mario Lobo
On Thursday 19 May 2011 10:44:42 you wrote:
 Bom dia pessoal
 
 queria pedir uma ajuda se possível dos conhecedores, seguinte estou fazendo
 um balance
 
 com o PF, está funcionando certinho em laboratório perfeito, porem queria
 saber se é possível
 
 fazer com pesos diferentes como o prob do ipfw.
 
 pois todos os testes que fiz ele divide a carga por igual, porem os links
 de saída são de velocidades
 
 diferentes, procurei na internet e não encontrei, creio que não é possível
 mesmo, mas queria
 
 confirmar isso com vocês.
 
 a configuração de teste que fiz está abaixo, funcionando perfeito,
 precisava somente jogar tipo
 
 50% pra um link, 25% pra outro e 25% para o outro.
 
 é possível isso com o PF? Obrigado pessoal
 

[Snip]

 
 
 
 # Roteia pacotes de quaisquer IPs na $ext_if1 para $ext_gw1, e faz
 
 # o mesmo para $ext_if2 e $ext_gw2
 
 pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any
 
 pass out on $ext_if1 route-to ($ext_if3 $ext_gw3) from $ext_if3 to any
 
 pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any
 
 pass out on $ext_if2 route-to ($ext_if3 $ext_gw3) from $ext_if3 to any
 
 pass out on $ext_if3 route-to ($ext_if1 $ext_gw1) from $ext_if2 to any
 
 pass out on $ext_if3 route-to ($ext_if2 $ext_gw2) from $ext_if1 to any
 
 

Leandro/lista;

Vi este e-mail aqui na lista.

Estou querendo fazer a mesma coisa aqui na empresa só que com 2 links de 
internet. um de 1M e outro de 2M, e duas redes internas pra ditribuir.

O link de 1M é que ja estava e é o gateway padrao da maquina. O de 2M foi 
adicionado a pouco.



fiz o seguinte:


  nat on $ext_if from any to any - $my_ext_ip port 1024:65535
* nat on $ext_if2 from any to any - $my_ext_ip2 port 1024:65535

  rdr on $ext_if inet proto tcp to port $SshPort - lo0 port $SshPort
* rdr on $ext_if2 inet proto tcp to port $SshPort - lo0 port $SshPort

* pass in log  quick on $ext_if2 inet proto tcp  from any to lo0  \
   port $SshPort flags S/SA keep state (max 30, source-track rule, \
   max-src-nodes 10, max-src-states 2  ### (regra 186)

* pass out quick on $ext_if  route-to ($ext_if $ext_gw) from $ext_if to any
* pass out quick on $ext_if2 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any

  tentei tambem:

* pass out quick on $ext_if  route-to ($ext_if2 $ext_gw2) from $ext_if2 to any
* pass out quick on $ext_if2 route-to ($ext_if $ext_gw) from $ext_if to any

  block log all ### (regra 221)


Os asteriscos foi o que acrescentei as regras que ja tenho.

Os testes que fiz com route-to nào funcionaram.

Tentei fechar com $SshPort entrando pelo link de 2M. Eu chego ate o servidor 
mas na saída, o pacote não bate nas regras de pass out, e fica querendo sair 
com o IP do link de 1M, conforme abaixo:


sis0 = link de 1M. gateway padrão (ext_if)
rl0 = link de 2M (ext_if2)
ext_gw = A.A.A.A 
ext_gw2 = B.B.B.B


[No FW] tcpdump -n -e -ttt -i pflog0 host 187.113.99.63 (meu ip de casa) 


O pacote chega;

00:00:00.00 rule 186/0(match): pass in on rl0: 187.113.99.63.47250  
127.0.0.1.5952: [|tcp]



Em vez de bater nas regras de paas out, ele ta batendo na regra de block


00:00:00.000121 rule 221/0(match): block out on sis0: A.A.A.A.34582  
187.113.99.63.47250:  tcp 40 [bad hdr length 0 - too short,  20]
00:00:02.48 rule 221/0(match): block out on sis0: A.A.A.A.34244  
187.113.99.63.47250: [|tcp]
00:00:03.199982 rule 221/0(match): block out on sis0: A.A.A.A.54550  
187.113.99.63.47250: [|tcp]


Leandro, como ficou o default gateway da tua máquina? 
As tuas regras ficaram do jeito acima? 
O que posso estar fazendo errado?

Obrigado

-- 
Mario Lobo
http://www.mallavoodoo.com.br
FreeBSD since 2.2.8 [not Pro-Audio YET!!] (99% winblows FREE)
-
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd


Re: [FUG-BR] Balance usando PF

2011-07-12 Por tôpico Luiz Gustavo S. Costa
do man do pf.conf

 probability ⟨number⟩
   A probability attribute can be attached to a rule, with a value set
   between 0 and 1, bounds not included.  In that case, the rule will
   be honoured using the given probability value only.  For example,
   the following rule will drop 20% of incoming ICMP packets:

 block in proto icmp probability 20%

então é usar um route-to com probability

abraços

Em 12 de julho de 2011 08:41, Mario Lobo l...@bsd.com.br escreveu:
 On Thursday 19 May 2011 10:44:42 you wrote:
 Bom dia pessoal

 queria pedir uma ajuda se possível dos conhecedores, seguinte estou fazendo
 um balance

 com o PF, está funcionando certinho em laboratório perfeito, porem queria
 saber se é possível

 fazer com pesos diferentes como o prob do ipfw.

 pois todos os testes que fiz ele divide a carga por igual, porem os links
 de saída são de velocidades

 diferentes, procurei na internet e não encontrei, creio que não é possível
 mesmo, mas queria

 confirmar isso com vocês.

 a configuração de teste que fiz está abaixo, funcionando perfeito,
 precisava somente jogar tipo

 50% pra um link, 25% pra outro e 25% para o outro.

 é possível isso com o PF? Obrigado pessoal


 [Snip]




 # Roteia pacotes de quaisquer IPs na $ext_if1 para $ext_gw1, e faz

 # o mesmo para $ext_if2 e $ext_gw2

 pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any

 pass out on $ext_if1 route-to ($ext_if3 $ext_gw3) from $ext_if3 to any

 pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any

 pass out on $ext_if2 route-to ($ext_if3 $ext_gw3) from $ext_if3 to any

 pass out on $ext_if3 route-to ($ext_if1 $ext_gw1) from $ext_if2 to any

 pass out on $ext_if3 route-to ($ext_if2 $ext_gw2) from $ext_if1 to any



 Leandro/lista;

 Vi este e-mail aqui na lista.

 Estou querendo fazer a mesma coisa aqui na empresa só que com 2 links de
 internet. um de 1M e outro de 2M, e duas redes internas pra ditribuir.

 O link de 1M é que ja estava e é o gateway padrao da maquina. O de 2M foi
 adicionado a pouco.



 fiz o seguinte:


  nat on $ext_if from any to any - $my_ext_ip port 1024:65535
 * nat on $ext_if2 from any to any - $my_ext_ip2 port 1024:65535

  rdr on $ext_if inet proto tcp to port $SshPort - lo0 port $SshPort
 * rdr on $ext_if2 inet proto tcp to port $SshPort - lo0 port $SshPort

 * pass in log  quick on $ext_if2 inet proto tcp  from any to lo0  \
   port $SshPort flags S/SA keep state (max 30, source-track rule, \
   max-src-nodes 10, max-src-states 2  ### (regra 186)

 * pass out quick on $ext_if  route-to ($ext_if $ext_gw) from $ext_if to any
 * pass out quick on $ext_if2 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any

  tentei tambem:

 * pass out quick on $ext_if  route-to ($ext_if2 $ext_gw2) from $ext_if2 to any
 * pass out quick on $ext_if2 route-to ($ext_if $ext_gw) from $ext_if to any

  block log all ### (regra 221)


 Os asteriscos foi o que acrescentei as regras que ja tenho.

 Os testes que fiz com route-to nào funcionaram.

 Tentei fechar com $SshPort entrando pelo link de 2M. Eu chego ate o servidor
 mas na saída, o pacote não bate nas regras de pass out, e fica querendo sair
 com o IP do link de 1M, conforme abaixo:


 sis0 = link de 1M. gateway padrão (ext_if)
 rl0 = link de 2M (ext_if2)
 ext_gw = A.A.A.A
 ext_gw2 = B.B.B.B


 [No FW] tcpdump -n -e -ttt -i pflog0 host 187.113.99.63 (meu ip de casa)


 O pacote chega;

 00:00:00.00 rule 186/0(match): pass in on rl0: 187.113.99.63.47250 
 127.0.0.1.5952: [|tcp]



 Em vez de bater nas regras de paas out, ele ta batendo na regra de block


 00:00:00.000121 rule 221/0(match): block out on sis0: A.A.A.A.34582 
 187.113.99.63.47250:  tcp 40 [bad hdr length 0 - too short,  20]
 00:00:02.48 rule 221/0(match): block out on sis0: A.A.A.A.34244 
 187.113.99.63.47250: [|tcp]
 00:00:03.199982 rule 221/0(match): block out on sis0: A.A.A.A.54550 
 187.113.99.63.47250: [|tcp]


 Leandro, como ficou o default gateway da tua máquina?
 As tuas regras ficaram do jeito acima?
 O que posso estar fazendo errado?

 Obrigado

 --
 Mario Lobo
 http://www.mallavoodoo.com.br
 FreeBSD since 2.2.8 [not Pro-Audio YET!!] (99% winblows FREE)
 -
 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


Re: [FUG-BR] Balance usando PF

2011-07-12 Por tôpico Mario Lobo
On Tuesday 12 July 2011 15:53:34 Luiz Gustavo S. Costa wrote:
 do man do pf.conf
 
  probability ⟨number⟩
A probability attribute can be attached to a rule, with a value
 set between 0 and 1, bounds not included.  In that case, the rule will be
 honoured using the given probability value only.  For example, the
 following rule will drop 20% of incoming ICMP packets:
 
  block in proto icmp probability 20%
 
 então é usar um route-to com probability
 
 abraços
 

Obrigado pela resposta, Luiz.

Voce (ou alguem da lista) poderia me indicar onde o probability entraria na 
regra abaixo e com um valor exemplificando 30% pra um link e 70% pra o outro?

pass in log quick on $int_if route-to { ($ext_if1 $ext_gw1), ($ext_if2 \ 
$ext_gw2) } round-robin from $int_if:network to any flags S/SA keep state

Obrigado

-- 
Mario Lobo
http://www.mallavoodoo.com.br
FreeBSD since 2.2.8 [not Pro-Audio YET!!] (99% winblows FREE)
-
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd


Re: [FUG-BR] Balance usando PF

2011-07-12 Por tôpico Luiz Gustavo S. Costa
No caso do probability, você faz um route-to para cada link

 pass in log quick on $int_if route-to { ($ext_if1 $ext_gw1), ($ext_if2 \
 $ext_gw2) } round-robin from $int_if:network to any flags S/SA keep state

assim:

pass in log quick on $int_if route-to ($ext_if1 $ext_gw1) from
$int_if:network to any propability 30%
pass in log quick on $int_if route-to ($ext_if1 $ext_gw1) from
$int_if:network to any

o que não passar pelo os 30% de um, cai nos 70% do outro (não precisa
especificar o probability na segunda, porque 30% das conexões já caem
na primeira, portanto, sobrando 70% para a outra)

abraços


2011/7/12 Mario Lobo l...@bsd.com.br:
 On Tuesday 12 July 2011 15:53:34 Luiz Gustavo S. Costa wrote:

 do man do pf.conf



 probability ⟨number⟩

 A probability attribute can be attached to a rule, with a value

 set between 0 and 1, bounds not included. In that case, the rule will be

 honoured using the given probability value only. For example, the

 following rule will drop 20% of incoming ICMP packets:



 block in proto icmp probability 20%



 então é usar um route-to com probability



 abraços



 Obrigado pela resposta, Luiz.

 Voce (ou alguem da lista) poderia me indicar onde o probability entraria na
 regra abaixo e com um valor exemplificando 30% pra um link e 70% pra o
 outro?

 pass in log quick on $int_if route-to { ($ext_if1 $ext_gw1), ($ext_if2 \
 $ext_gw2) } round-robin from $int_if:network to any flags S/SA keep state

 Obrigado

 --

 Mario Lobo

 http://www.mallavoodoo.com.br

 FreeBSD since 2.2.8 [not Pro-Audio YET!!] (99% winblows FREE)



-- 
  /\             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


Re: [FUG-BR] Balance usando PF

2011-07-12 Por tôpico Luiz Gustavo S. Costa
consertando a regra:

pass in log quick on $int_if route-to ($ext_if1 $ext_gw1) from
$int_if:network to any propability 30%
pass in log quick on $int_if route-to ($ext_if2 $ext_gw2) from
$int_if:network to any

2011/7/12 Luiz Gustavo S. Costa luizgust...@luizgustavo.pro.br:
 No caso do probability, você faz um route-to para cada link

 pass in log quick on $int_if route-to { ($ext_if1 $ext_gw1), ($ext_if2 \
 $ext_gw2) } round-robin from $int_if:network to any flags S/SA keep state

 assim:

 pass in log quick on $int_if route-to ($ext_if1 $ext_gw1) from
 $int_if:network to any propability 30%
 pass in log quick on $int_if route-to ($ext_if1 $ext_gw1) from
 $int_if:network to any

 o que não passar pelo os 30% de um, cai nos 70% do outro (não precisa
 especificar o probability na segunda, porque 30% das conexões já caem
 na primeira, portanto, sobrando 70% para a outra)

 abraços


 2011/7/12 Mario Lobo l...@bsd.com.br:
 On Tuesday 12 July 2011 15:53:34 Luiz Gustavo S. Costa wrote:

 do man do pf.conf



 probability ⟨number⟩

 A probability attribute can be attached to a rule, with a value

 set between 0 and 1, bounds not included. In that case, the rule will be

 honoured using the given probability value only. For example, the

 following rule will drop 20% of incoming ICMP packets:



 block in proto icmp probability 20%



 então é usar um route-to com probability



 abraços



 Obrigado pela resposta, Luiz.

 Voce (ou alguem da lista) poderia me indicar onde o probability entraria na
 regra abaixo e com um valor exemplificando 30% pra um link e 70% pra o
 outro?

 pass in log quick on $int_if route-to { ($ext_if1 $ext_gw1), ($ext_if2 \
 $ext_gw2) } round-robin from $int_if:network to any flags S/SA keep state

 Obrigado

 --

 Mario Lobo

 http://www.mallavoodoo.com.br

 FreeBSD since 2.2.8 [not Pro-Audio YET!!] (99% winblows FREE)



 --
   /\             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




-- 
  /\             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


Re: [FUG-BR] Balance usando PF

2011-07-12 Por tôpico Luiz Gustavo S. Costa
olha o exemplo que tem do icmp logo abaixo do paragrafo do man

2011/7/12 Mario Lobo l...@bsd.com.br:
 On Tuesday 12 July 2011 20:10:45 Luiz Gustavo S. Costa wrote:

 consertando a regra:



 pass in log quick on $int_if route-to ($ext_if1 $ext_gw1) from

 $int_if:network to any propability 30%

 pass in log quick on $int_if route-to ($ext_if2 $ext_gw2) from

 $int_if:network to any



 2011/7/12 Luiz Gustavo S. Costa luizgust...@luizgustavo.pro.br:

  No caso do probability, você faz um route-to para cada link

 

  pass in log quick on $int_if route-to { ($ext_if1 $ext_gw1), ($ext_if2
  \

  $ext_gw2) } round-robin from $int_if:network to any flags S/SA keep

  state

 

  assim:

 

  pass in log quick on $int_if route-to ($ext_if1 $ext_gw1) from

  $int_if:network to any propability 30%

  pass in log quick on $int_if route-to ($ext_if1 $ext_gw1) from

  $int_if:network to any

 

  o que não passar pelo os 30% de um, cai nos 70% do outro (não precisa

  especificar o probability na segunda, porque 30% das conexões já caem

  na primeira, portanto, sobrando 70% para a outra)

 

  abraços

 Legal Luiz !!

 Uma última dúvida: a notação é esta mesmo? x %? Porque no man diz assim:

 probability ⟨number⟩

 A probability attribute can be attached to a rule, with a value set

 between 0 and 1, bounds not included.

 No caso, nao teria que ser como abaixo?

 pass in log quick on $int_if route-to ($ext_if1 $ext_gw1) from

 $int_if:network to any propability 0.3 ?

 Ou pode usar percentual mesmo?

 Muito obrigado mais uma vez.

 Abraços,

 --

 Mario Lobo

 http://www.mallavoodoo.com.br

 FreeBSD since 2.2.8 [not Pro-Audio YET!!] (99% winblows FREE)



-- 
  /\             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


Re: [FUG-BR] Balance usando PF

2011-05-19 Por tôpico Rodrigo Mosconi
Em 19 de maio de 2011 13:44, Leandro - Intersol
lis...@intersolinformatica.com.br escreveu:
 Bom dia pessoal

 queria pedir uma ajuda se possível dos conhecedores, seguinte estou fazendo
 um balance

 com o PF, está funcionando certinho em laboratório perfeito, porem queria
 saber se é possível

 fazer com pesos diferentes como o prob do ipfw.

 pois todos os testes que fiz ele divide a carga por igual, porem os links de
 saída são de velocidades

 diferentes, procurei na internet e não encontrei, creio que não é possível
 mesmo, mas queria

 confirmar isso com vocês.

 a configuração de teste que fiz está abaixo, funcionando perfeito, precisava
 somente jogar tipo

 50% pra um link, 25% pra outro e 25% para o outro.

 é possível isso com o PF? Obrigado pessoal


man 5 pf.conf

as regras pass/block podem ter prioridades.
-
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd