MTU, roteador DSL e barramento TCP

3

Estou descobrindo problemas de conexão TCP. O problema surge quando eu tento escanear coisas do sistema remoto da minha rede doméstica. Minha rede doméstica está conectada à internet via PPPoE (ADSL +) e tudo funciona perfeitamente depois de trabalhar na minha rede doméstica. O roteador ADSL tem MTU configurado para 1492, mas com essa configuração, o scp do sistema remoto não funciona - parando! Quando eu mudo o MTU no meu roteador para 1500, o scp funciona perfeitamente, mas os acessos à Internet da minha rede doméstica são muito lentos para a maioria dos sites www, mesmo os locais. Basta saber onde o problema existe - o meu ISP bloqueando o ICMP, etc? Obrigado!

    
por bogumbiker 26.03.2010 / 03:15

2 respostas

0

O PPPoE requer 8 bytes de dados de encapsulamento / cabeçalho, e é por isso que você só pode operar com uma MTU de 1492 bytes na Ethernet. Mas normalmente, esse tipo de coisa é resolvido pela negociação MTU do caminho.

Se alguém estiver bloqueando o ICMP, a negociação MTU do caminho não funcionará.

Suas opções são se livrar do PPPoE ou alterar o MTU no sistema remoto para lidar com sua conexão semi-quebrada. E sim, percebo que ambos não são ideais.

    
por 26.03.2010 / 03:25
0

Alguns servidores Web, especialmente alguns dos CDNs comuns, como Akamai, Amazon, etc., parecem estar bloqueando o tráfego ICMP por padrão (o que obviamente é uma péssima ideia).

Primeiro suspeitei de uma configuração incorreta no meu provedor, mas verifiquei (enviei alguns pacotes grandes de um host da Internet para meu roteador DSL e recebi pacotes "fragmentação ICMP necessária" dos roteadores antes do link DSL .

Aparentemente, meu provedor de DSL costumava fazer MSS em seus roteadores de acesso para todos os clientes, mas parece que eles pararam.

Eu o resolvi implementando a fixação MSS no meu roteador DSL para que ele reescreve os pacotes SYN de saída de uma maneira que limita o tamanho máximo do segmento de downlink. O comando para habilitá-lo é:

iptables -A FORWARD -o ppp0 -p tcp \
    --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Se o seu roteador doméstico não suporta iptables, você provavelmente poderia modificá-lo para trabalhar em pacotes de saída em seu host local, alterando o FORWARD para OUTPUT, mas eu nunca tentei isso.

    
por 04.12.2011 / 13:34

Tags