No dia 19/05/2005 às 14:56,
"Douglas A. Augusto" <douglas.augusto@pop.com.br> 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.
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.