[FUG-BR] tcp mss precisa ser feito?

Marcelo Gondim gondim em bsdinfo.com.br
Sábado Outubro 1 08:23:32 BRT 2011


Em 30/09/2011 18:46, Renato Frederick escreveu:
> Opa,
>
> Tem algum motivo de você precisar envolver o firewall? Eu sempre configuro no ppp.conf  mru e mtu e não tive problemas, após alterar lá para:
>
> set mru 1492
> set mtu 1492

Opa Renato,

No passado tive muitos problemas com isso, msn não entrava em alguns 
lugares, alguns sites também não entravam. Realmente dava muita dor de 
cabeça e no Linux só resolvia setando o tcp mss para 1440. Aí tudo 
funcionava perfeitamente bem.
Como isso já tem um tempo e atualmente troquei um Linux que fazia essa 
mudança do mss por um FreeBSD, até agora não tive qualquer problema mas 
fiquei na dúvida de como faria essa alteração caso precisasse fazer esse 
ajuste.
Seria esse problema descrito abaixo:

TCPMSS
        This  target  allows to alter the MSS value of TCP SYN packets, 
to control the maximum size for that connection (usually limiting it to 
your outgoing interâ
        face's MTU minus 40 for IPv4 or 60 for IPv6, respectively).  Of 
course, it can only be used in conjunction with -p tcp.

        This target is used to overcome criminally braindead ISPs or 
servers which block "ICMP Fragmentation Needed" or "ICMPv6 Packet Too 
Big" packets.  The  sympâ
        toms of this problem are that everything works fine from your 
Linux firewall/router, but machines behind it can never exchange large 
packets:
         1) Web browsers connect, then hang with no data received.
         2) Small mail works fine, but large emails hang.
         3) ssh works fine, but scp hangs after initial handshaking.
        Workaround: activate this option and add a rule to your firewall 
configuration like:

                iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN
                            -j TCPMSS --clamp-mss-to-pmtu

>
>
>> -----Original Message-----
>> From: freebsd-bounces em fug.com.br [mailto:freebsd-bounces em fug.com.br]
>> On Behalf Of Marcelo Gondim
>> Sent: sexta-feira, 30 de setembro de 2011 13:52
>> To: "Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)"
>> Subject: Re: [FUG-BR] tcp mss precisa ser feito?
>>
>> Em 30/09/2011 13:41, Eduardo Schoedler escreveu:
>>> Esta certo, o ipfw nao altera o pacote. Mas existem alguns patches para
>> isso.
>>
>> Opa Eduardo, vou deixar sem mesmo e verificar se vai dar problema com
>> algum site ou msn.  :)
>>
>> Qualquer coisa volto à postar aqui o resultado ou então se der vou usar o
>> reass e ver se resolve.
>>
>>> --
>>> Eduardo Schoedler
>>> Enviado via iPhone
>>>
>>>
>>> Em 30/09/2011, às 13:36, Marcelo Gondim<gondim em bsdinfo.com.br>
>> escreveu:
>>>> Em 30/09/2011 12:26, Luiz Gustavo S. Costa escreveu:
>>>>> via "man ipfw"
>>>>>
>>>>>        tcpoptions spec
>>>>>                TCP packets only.  Match if the TCP header contains the comma
>>>>>                separated list of options specified in spec.  The supported TCP
>>>>>                options are:
>>>>>
>>>>>                mss (maximum segment size), window (tcp window
>> advertisement),
>>>>>                sack (selective ack), ts (rfc1323 timestamp) and cc (rfc1644
>>>>>                t/tcp connection count).  The absence of a particular option may
>>>>>                be denoted with a ‘!’.
>>>> Opa Luiz,
>>>>
>>>> Esse trecho eu vi mas é para teste da regra: Match if the TCP header
>>>> contains...  ou seja dá match na regra se tiver com essa característica.
>>>> Pelo que eu entendi ele não altera o pacote, não altera o mss, só
>>>> checa.  Se eu tiver errado me corrijam por favor.  ;)
>>>>
>>>>>
>>>>> Em 30 de setembro de 2011 11:59, Marcelo Gondim
>>>>> <gondim em bsdinfo.com.br>    escreveu:
>>>>>> Olá povo,
>>>>>>
>>>>>> Acredito que muitos aqui tenham esse cenário:
>>>>>>
>>>>>> Rede interna ----- Firewall FreeBSD (PPPoE) ------ Internet
>>>>>>
>>>>>> Em linux eu precisava setar o tcp mss para 1440 para que todos os
>>>>>> sites funcionassem inclusive o msn quando usando conexão PPPoE.
>>>>>> Fazia isso no mangle do netfilter.
>>>>>> No PF consultando o google descobri que pode ser feito dessa maneira:
>>>>>> scrub in all max-mss 1440
>>>>>> Agora a pergunta é: como fazer isso no ipfw? Eu sei que tem o reass
>>>>>> mas no man do ipfw não fala sobre o mss e o reass. Alguém tem a
>>>>>> luz?  :)
>>>>>>
>>>>>>



Mais detalhes sobre a lista de discussão freebsd