No dia 19/05/2005 �s 14:56,
"Douglas A. Augusto" <[EMAIL PROTECTED]> escreveu:
> Tenho aqui em casa uma m�quina com o Velox instalado (eth1-ppp0) e uma
> pequena rede local (192.168.0.0) atrav�s da interface eth0 (endere�ada
> como 192.168.0.2), de modo que a m�quina com Velox funciona como
> gateway.
>
> A conex�o funciona muito bem para a m�quina Velox, mas nas m�quinas da
> rede curiosamente s� consigo "pingar" e acessar via ssh m�quinas
> remotas. N�o posso por exemplo acessar uma p�gina web, dar 'apt-get
> update', ou coisas afins.
>
> Cheguei a pensar que o vil�o seria o firewall, mas isso se repete ao
> deix�-lo desligado (liberado).
>
> Para deixar a hist�ria mais esquisita ainda, via web, consigo acessar
> apenas o site do Google. Para os outros sites os nomes s�o resolvidos,
> e at� parece que carregar�o, mas p�ra em: "Aguardando resposta de..."
Mais uma vez, obrigado �queles que tentaram me ajudar. O problema era
menos trivial, e vou explicar abaixo.
Em um compartilhamento (masquerade), o cabe�alho de pacotes TCP que v�m
das m�quinas na rede � acrescido de alguns bytes para identificar que o
pacote � de uma m�quina da rede, isto �, aquelas que usam a m�quina
conectada � internet como gateway.
O problema � que alguns provedores (onde est�o hospedados os sites) n�o
podem (ou n�o querem) aceitar um pacote que contenha essas informa��es
extras, fazendo a conex�o literalmente parar. Parece-me que os pacotes
sobe uma conex�o ADSL tendem a ser maiores. Segundo minha experi�ncia, o
Google � um dos poucos que lida perfeitamente com esses pacotes
"inchados".
Depois de muito pesquisar, descobri que h� uma maneira de limitar o
tamanho "pacotes", restringindo o que � chamado de 'Maximum Segment
Size', ou simplesmente MSS. Isso � feito adicionando-se uma regra
especial no 'iptables', garantindo que os pacotes TCP, oriundos de
m�quinas em compartilhamento e com o MSS maior que um valor apropriado,
sejam ajustados para o valor correto --o que sobrar de dados �
"empacotado" em um outro pacote.
A regra que usei foi:
iptables -t mangle -A POSTROUTING -p tcp -m tcp --tcp-flags \
SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu -o ppp0
Apesar de ter descoberto que o problema era no MSS, tive dificuldades
para refinar esta regra, pois muitas refer�ncias apontavam algumas
diferen�as, como:
- man iptables:
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
-j TCPMSS --clamp-mss-to-pmtu
- pppoeconf
iptables -o ppp0 --insert FORWARD 1 -p tcp --tcp-flags
SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS
--clamp-mss-to-pmtu
Para mim s� funcionou com "-t mangle -A POSTROUTING", me baseando em
"http://www.hgfelger.de/mss/mss-clamp".
--
Douglas Augusto
[Netiqueta]
� Respostas e coment�rios devem vir ap�s o texto original ou par�grafo a
par�grafo.