[FUG-BR] Problemas com FreeBSD

J MPZ joompz em gmail.com
Quarta Novembro 5 18:04:11 BRST 2008


Pessoal,

Para que todos fiquem a par, depois de fritar os neurônios em cima deste
problema com o ASA, consegui fazer com que a conexão do ssh não
"congelasse". Para isso, conectei usando a opção -C do ssh (Compress). Desta
forma o problema não aconteceu. Mas, não posso usar esta opção, até porque
existem outras aplicações que precisam conectar até o outro lado e não sei
se tem a possibilidade de compressão.

Abaixo, vou listar um pedaço da saída do tcpdump (estou colocando em negrito
a parte que interessa):

 16:23:44.817137 IP (tos 0x0, ttl  51, id 2292, offset 0, flags [DF],
     proto: TCP (6), length: 60) 189.21.x.y.37158 > 201.57.x.y.2264:
     S, cksum 0x1b02 (correct), 1145925540:1145925540(0) win 5840
     <*mss 1440*,sackOK,timestamp 1574697057 0,nop,wscale 7>

O ip 189.21.x.y aceita um segmento de tamanho máximo de 1440 bytes (mss
1440).
16:23:44.817230 IP (tos 0x0, ttl  64, id 32961, offset 0, flags [DF],
     proto: TCP (6), length: 48) 201.57.x.y.2264 > 189.21.x.y.37158:
     S, cksum 0x2c80 (correct), 2415724429:2415724429(0) ack 1145925541 win
65535
     <*mss 1460*,sackOK,eol>

O 201.57.x.y (FreeBSD) permite um segmento de tamanho máximo de 1460 bytes.

Mas alguns pacotes tem tamanho de 1480, que é maior que ambos os lados:

[...]

 length: 264  src: 201.57.x.y.2264      > 189.21.x.y.37390
 length: 40   src: 189.21.x.y.37390 > 201.57.x.y.2264
 length: 52   src: 189.21.x.y.37390 > 201.57.x.y.2264
 length: 1480 src: 201.57.x.y.2264      > 189.21.x.y.37390
 length: 1480 src: 201.57.x.y.2264      > 189.21.x.y.37390
 length: 1480 src: 201.57.x.y.2264      > 189.21.x.y.37390
 length: 1480 src: 201.57.x.y.2264      > 189.21.x.y.37390
Quando eu digito o comando 'top' por exemplo, começa a chegar pacote de 1480
bytes.

A princípio eu consegui resolver através de uma opção que liberei no ASA:

exceed-mss allow

Mas creio eu que isso pode vir a causar impacto negativo na rede, do ponto
de vista de ataques de DoS.

A única solução - sem mexer no ASA - seria diminuir neste caso seria
diminuir o MTU de ambos os lados? Poderia ser algum bug no FreeBSD? Algum
equipamento no meio do caminho que está com este MTU errado?

Apesar da pergunta de ser algum "bug" no FreeBSD, a hipótese de ser problema
no sistema operacional pra mim já está praticamente descartada. Talvez possa
ser placa de rede...

Lembrando que a versão do FreeBSD é 6.3-STABLE e a interface de rede: ste.

Agradeço a todos por toda ajuda prestada até o momento.

Muito obrigado mesmo!

[]s!



2008/11/4 Paulo Henrique <paulo.rddck em bsd.com.br>

> Creio estar falando besteira, mais melhor reter seus olhos no ASA pois se
> fosse no FreeBSD sem o ASA continuaria a ter problema.
>
> Sobre o que é ASA, bom não sei mais estou acompanhado a thread.
>
>
>
>
> > ---------- Original Message -----------
> > From: "J MPZ" <joompz em gmail.com>
> > To: "Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)" <
> > freebsd em fug.com.br>
> > Sent: Tue, 4 Nov 2008 11:24:59 -0200
> > Subject: Re: [FUG-BR] Problemas com FreeBSD
> >
> > > André,
> > >
> > > Em 04/11/08, André Luiz de Souza <andresou25 em gmail.com> escreveu:
> > > >
> > > >
> > > >
> > > > Tive alguns problemas de conexão com linux passando por firewall
> > > > FreeBSD/PF. Aparentemente alguma incompatibilidade entre as
> > > > implementações do rfc1323 (window scaling). O kernel linux a partir
> do
> > > > 2.6.18 veio com algumas customizações que causaram essa
> > > > incompatibilidade. Resolvi de duas formas:
> > > >
> > > > 1o.) no linux, desabilitar o window scaling : sysctl
> > > > net.ipv4.tcp_window_scaling=0
> > >
> > > Ok, fiz isto mas o problema continua. Eu também pensei que pudesse
> > > ser algo com window scaling...
> > >
> > > O kernel do linux é o 2.6.25. O FreeBSD é o 6.3-STABLE.
> > >
> > > Olha so, se eu executar comandos no terminal "congelado", ele
> > > permite a execução, mas não me retorna nada na tela. Por exemplo, se
> > > eu digitar "ls -la /dev/ |less", eu vejo esse processo em outro
> > > terminal com um "ps ax", so que neste terminal congelado já não me
> > > retorna nada. Se eu executo depois o 'top', com um "ps ax" em outro
> > > terminal eu vejo o comando "top" em execução.
> > >
> > > Por isso que o tcpdump continua passando pacote...
> > >
> > > ou
> > > >
> > > > 2o.) no PF, na regra que abre a porta (pass on ...), ao invés de
> > > > utilizar keep state, utilizei synproxy state
> > >
> > > Eu utilizo IPFW. Tentei sem nenhuma regra, somente "allow ip from
> > > any to any", liberando de qualquer lugar pra qualquer lugar e mesmo
> > > assim não adiantou.
> > >
> > > Tive esse problema no FreeBSD 6, no 7 não tive problemas.
> > > >
>


Mais detalhes sobre a lista de discussão freebsd