[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