[FUG-BR] Consumo alto de CPU com NATD

Trober trober em trober.com
Terça Junho 30 00:22:35 BRT 2009


> Pow Wanderson,
>
> Muito interessante essas dicas. Estou ancioso para testar. Essa perda do
> punch_fw, causa muitos transtornos ?
>
> Um abraço.
>
> --- Em seg, 29/6/09, Wanderson Tinti <wanderson em bsd.com.br> escreveu:
>
> De: Wanderson Tinti <wanderson em bsd.com.br>
> Assunto: Re: [FUG-BR] Consumo alto de CPU com NATD
> Para: "Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)"
> <freebsd em fug..com.br>
> Data: Segunda-feira, 29 de Junho de 2009, 18:58
>
> 2009/6/29 Tiago Barreto <tiagobarreto2009 em yahoo.com.br>:
>> Wanderson,
>>
>>  Olha nunca tentei isso não, nem sabia que tinha como fazer nat desse
>> jeito. Porém vi que em meu kernel não compilei com essa opção
>> IPFIREWALL_NAT
>>
>> Minhas opções no kernel, estão assim:
>>
>> options         IPFIREWALL
>> options         IPFIREWALL_VERBOSE
>> options         IPFIREWALL_FORWARD
>> options         IPFIREWALL_VERBOSE_LIMIT=1000
>> options         IPFIREWALL_DEFAULT_TO_ACCEPT
>> options         IPDIVERT
>>
>> Minha regra de nat no firewall /etc/firewall.sh, está assim:
>>
>> ${fwcmd} add 00010 divert natd all from any to any via xl0
>>
>> Você observa alguma desvantagem em relação as regras que você me passou
>> ?
>>
>> Pra eu poder testar o uso dessa opção IPFIREWALL_NAT que você me passou,
>> precisarei recompilar o kernel novamente ou posso carregar esta opção de
>> outra maneira ?
>>
>> Obrigado pela força.
>>
>
> Notei que o Nat ficou mais rápido, bem mais, low overhead. Acredito
> que não tenha outra forma de habilitar senão recompilando seu kernel.
> O bom que você evita de subir daemon e concentra tudo em um único
> lugar (arquivo). O nat a nível de kernel aceita todas as opções do
> natd exceto a punch_fw, pelo menos não achei nada a respeito. Mas
> tente fazer um teste e veja se resolva seu problema, caso contrario
> você sobe seu Natd novamente.
>
> Boa sorte.
> -------------------------
>


Olá Tiago.

Tomo a liberdade de "furar a fila" do Wanderson e responder sobre a
importância do punch_fw.

Esse recurso do natd[1], possibilita que regras do IPFW sejam
dinamicamente criadas, conservadas e destruídas, durante uma troca de
dados, por FTP Passivo[2] ou DCC (troca de arquivos por IRC).

O parâmetro de punch_fw é composto de duas porções, sendo a primeira o
número da regra inicial, e a segunda a quantidade de regras a se
utilizar[3][4].

Há casos em que alguns administradores de firewall deixam as "portas
altas" abertas de "any to any", para não se incomodarem com FTP passivo.
Porém, essa não é uma prática muito saudável[2]. O punch_fw[1] contorna
essa configuração estática (e nociva[2]) no firewall.

Infelizmente, o IPFIREWALL_NAT não contempla nativamente o punch_fw[5].


[1] http://www.freebsd.org/cgi/man.cgi?query=natd
[2] http://www.rnp.br/newsgen/0011/ftp-passivo.html#ng-3-2
[3] http://www.fug.com.br/historico/html/freebsd/2009-02/msg00308.html
[4] http://www.fug.com.br/historico/html/freebsd/2007-08/msg00343.html
[5] http://www.fug.com.br/historico/html/freebsd/2009-05/msg00813.html

Saudações,

Trober
-
-
-
-
-






Mais detalhes sobre a lista de discussão freebsd