[FUGSPBR] divert (meio longo)

Giovanni P. Tirloni gpt em tirloni.org
Qua Nov 12 23:21:11 BRST 2003


* Carlos Alberto (carlinho em xprt.eti.br) wrote:
> pessoal, 
>  
> estou tendo uma duvida em relacao ao divert e preciso de uma ajuda. 
>  
> estou com a seguinte plataforma de software: 
> 5.1-RELEASE-p10 FreeBSD 5.1-RELEASE-p10 #2 
>  
> estou revendo algumas regras referentes a nat e verifiquei o seguinte no 
> manual do ipfw: 
>  
> divert port 
>              Divert packets that match this rule to the divert(4) socket bound 
>              to port port.  _The search terminates._ 
>  
> teoricamente, quando um pacote passa pelo divert e corresponde a uma 
> solicitacao feita via nat, ele seria aceito e o processo se encerraria. 
> pois bem, nao e bem isso que esta acontecendo. o pacote, mesmo 
> correspondendo a uma solicitacao feita via nat continua a ser analisado 
> nas demais regras do firewall. 

 A pesquisa realmente para. O pacote que estava saindo pela xl0 não será
 mais analisado pelas outras regras subseqüentes. O que acontece é que o
 pacote agora está nas mãos do natd que irá reescrevelo de outra forma
 (fazer o NAT) e *reinjetar* o pacote novamente, neste caso para saída
 pela xl0. Novamente o IPFW iniciará a pesquisa, mas desta vez ele irá
 iniciar na regra seguinte a regra do divert (o pacote  que está saindo
 reescrito não será enviado ao natd novamente).

 Na verdade o que ocorre é que há um recebimento do pacote pelo sistema
 e depois um envio (por parte do sistema) e esse envio está sujeito as
 regras como qualquer outro pacote originando no seu gateway.

 --
 Giovanni P. Tirloni <gpt at tirloni.org>
 Fingerprint: 8C3F BEC5 79BD 3E9B EDB8  72F4 16E8 BA5E D031 5C26



Mais detalhes sobre a lista de discussão freebsd