[FUGSPBR] Problema com pf e muitos IPS
Patrick Tracanelli
eksffa em freebsdbrasil.com.br
Qua Nov 24 17:30:27 BRST 2004
Eduardo Meyer wrote:
> Você está querendo dizer que tabelas no IPFW geram várias Radix-Tree?
> Como assim? Uma árvore por rede? Por exemplo, 192.168.2.2 e
> 192.168.2.3 ficam na mesma árvore tipo uma árvore 192.168.2.0? E assim
> em diante crecendo com o número de redes que você usa no firewall?
Não, de jeito nenhum hehe. Assim seria bizarro de tão tosco né.
Cada tabela se consiste em uma árvore e tal. Então se voce tem uma regra
X que usa por exemplo table(40) apenas a radix-tree da table(40) é
consultada.
Mas a sacada é que na arvore da table(40) existem 2 arvores, uma para
blocos CIDR e outra para hosts (32 bits), então na tabela 40 primeiro é
consultada a arvore (podemos chamar de subarvore pra facilitar) de redes
e se nao der match apenas depois a de hosts.
Entao por exemplo se voce tem table 40 com:
200.200.200.0/24
200.21.50.6/32
200.230.200.0/24
200.21.50.2/32
Internamente existe:
table((40)CIDR):
200.200.200.0/24
200.230.200.0/24
table((40)HOSTS):
200.21.50.6/32
200.21.50.2/32
E se vem um pacote de 200.200.200.5 o match é feito de forma que é
verificado primeiro se o host faz parte de alguma rede na arvore CIDR se
fizer da o match ali; se a rede nao constar a busca é feita na arvore de
hosts.
O que eu nao sei exatamente é se a busca é PRIMEIRO em 1 arvore e só
depois na outra ou se isso é feito em paralelo nessas sub-arvores radix
similar como é feito em cada entrada em uma unica arvore.
Outra coisa a notacao esdruchula de table((40)CIDR) e derivados é "by
patrick" hehe, nao tem nada a ver com o codigo :P
> http://monkey.org/openbsd/archive/bugs/0401/msg00169.html
>
> Ai o autor do PF diz que não faz sentido procurar match por rede.
É ao contrario. O autor do PF diz que nao tem como testar um netblock
contra a arvore, a ideia no IPFW é testar o host contra uma arvore
netblock da tabela primeiro e contra uma arvore de hosts individuais
dessa tabela quando não há match primeiro na de blocos, enquanto no PF
elas ficam na mesma arvore, uma arvore por tabela.
--
Atenciosamente,
Patrick Tracanelli
FreeBSD Brasil LTDA.
The FreeBSD pt_BR Documentation Project
http://www.freebsdbrasil.com.br
patrick @ freebsdbrasil.com.br
"Long live Hanin Elias, Kim Deal!"
_______________________________________________________________
Para enviar um novo email para a lista: fugspbr em fugspbr.org
Sair da Lista: http://lists.fugspbr.org/listinfo.cgi
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/
Mais detalhes sobre a lista de discussão freebsd