[FUG-BR] PF e linux kernel-2.6.17

Cristiano Maynart Pereira cpereira em unisc.br
Quarta Setembro 27 14:10:48 BRT 2006



> -----Original Message-----
> From: freebsd-bounces at fug.com.br 
> [mailto:freebsd-bounces at fug.com.br] On Behalf Of Marcus Alves Grando
> Sent: sábado, 23 de setembro de 2006 11:36
> To: "Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)"
> Subject: Re: [FUG-BR] PF e linux kernel-2.6.17
> 
> Cristiano Maynart Pereira wrote:
> > 
> > Estou tendo problemas de acesso aos meus servidores que 
> estão atrás de NAT com PF com clientes que utilizam o Linux 
> Kernel 2.6.17. Pelo o que eu li, nesta versão o kernel faz 
> uma espécie de tunning alterando o tamanho do buffer do pacote TCP.
> > 
> > Alguém está tendo este problema também ou tem mais 
> informações a respeito?
> > 
> > Neste endereço tem um relato sobre o mesmo problema:
> > http://kerneltrap.org/node/6723
> 
> Isso acontece com o kernel 2.6.18? Já tentou desabilitar a 
> RFC 1323 no teu FreeBSD (Pra mim a última opção)?
> 
> # sysctl net.inet.tcp.rfc1323=0
> 
> Abraços
> 
> --
> Marcus Alves Grando
> marcus(at)corp.grupos.com.br  |  Grupos Internet S/A
>    mnag(at)FreeBSD.org         |  FreeBSD.org
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> 

Marcus,

	Não testei com o kernel 2.6.18 mas acredito que haverá o mesmo problema. Desabilitei a RFC1323 mas não adiantou. Neste caso, no firewall eu uso OpenBSD, mas isso deve ocorrer com o PF no Free, por isso postei na nesta lista também. 

	Realizei mais pesquisas e descobri que o problema era no momento de reescrever o pacote de saída com tamanho de window scale maior que 7. Acrescentei a regra "pass out $int_if keep state" e "pass out $ext_if keep state" no PF e o problema foi resolvido. Eu utilizo somente bloqueio de entrada no Firewall, todas com keep state, mas não tinha nenhuma regra de saída. Aconselho a todos que utilizam PF, afim de evitar problemas, que adicionem o keep state nas regras de saída ou caso não possuam regras de saída acrescentem apenas a que mencionei acima.

	Durante as pesquisas vi relatos de pessoas que utilizam o Linux com estas versões de kernel com problemas de lentidão em acesso a algumas páginas, com modems DSL e Switches Layer 7. Quando eu estava fazendo testes no Linux, alterando o tamanho do buffer (echo "4096 87380 174760" > /proc/sys/net/ipv4/tcp_rmem) ou desabilitando o Window Scaling (echo 0 > /proc/sys/net/ipv4/tcp_window_scaling) também resolveu o problema, mas seria inviável pedir a todos os clientes fazerem isso.


______________________________
Cristiano Maynart Pereira


Mais detalhes sobre a lista de discussão freebsd