Você ativou quadros de 9000 bytes na LAN e esperava que a VPN ficasse mais rápida. Ela ficou mais lenta, ou parou de passar transferências grandes por completo. Quadros jumbo são um acordo de enlace local; eles não ampliam o caminho que o túnel atravessa.

O orçamento utilizável é definido pelo menor limite da rota, incluindo a encapsulação que o túnel acrescenta.

O que os quadros jumbo realmente mudam

Uma MTU é uma propriedade de uma interface. Elevá-la num servidor e no seu switch significa que esses dois podem trocar quadros maiores sem fragmentação. Isso não diz nada sobre o roteador além do switch, sobre o provedor ou sobre o outro lado de um túnel. Esses dispositivos têm os seus próprios limites, e um pacote que ultrapasse um deles é descartado ou fragmentado segundo regras que você não definiu.

Acordo local, consequências globais. É toda a confusão.

O imposto da encapsulação

Um túnel envolve o seu pacote dentro de outro. O WireGuard sobre IPv4 UDP acrescenta cerca de 60 bytes de sobrecarga; o modo UDP do OpenVPN está na mesma faixa, e o IPsec varia conforme o modo e os algoritmos. Esses bytes saem do orçamento do caminho externo, não do nada.

Portanto, um enlace externo de 1500 bytes não pode transportar um pacote interno de 1500 bytes depois de acrescentado o cabeçalho do túnel.

Vale a pena fazer a aritmética uma vez. Num caminho de 1500 bytes, uma interface WireGuard quer uma MTU em torno de 1420 para que o pacote encapsulado caiba. Coloque a interface interna em 9000 e cada pacote grande precisará de uma fragmentação que o túnel não consegue fazer, ou será descartado.

Encontre o menor enlace do caminho

Percorra a rota e encontre a MTU mais baixa. A LAN costuma ser 1500 ou 9000, a WAN costuma ser 1500, e um enlace móvel ou PPP pode ser ainda menor. Depois subtraia a sobrecarga do túnel. Se o resultado for menor que a MTU da interface interna, tem a sua resposta. O descobrimento de MTU de caminho pode encontrar isso automaticamente, mas só quando as mensagens ICMP de que depende são permitidas.

O ICMP filtrado é a razão clássica pela qual uma transferência grande trava enquanto pedidos pequenos funcionam bem.

Teste a dependência do tamanho sem alargar a mudança

Use uma transferência representativa e guarde os valores originais para poder repô-los. ping -M do -s 1472 testa um pacote de 1500 bytes com o bit DF ativado; reduza o tamanho até passar. Se só os pacotes grandes falham, tem um problema de tamanho e não de encaminhamento.

Cuidado com o offload do lado do host ao ler capturas. O offload de segmentação pode mostrar quadros muito maiores do que os que realmente passaram no cabo, o que faz um caminho a funcionar parecer quebrado e um quebrado parecer bem.

Quando uma MTU grande é o desenho certo

Uma rede privada controlada pode legitimamente correr quadros maiores de ponta a ponta, desde que todos os dispositivos do caminho concordem e a sobrecarga do túnel seja contabilizada. Isso é um desenho coordenado com um valor documentado por enlace, não um número grande escrito num cliente.

Para uma saída pública comum, suponha 1500 ou menos e deixe o túnel escolher uma MTU interna segura. RFC 8201 cobre o descobrimento de MTU de caminho para o caso IPv6 e é uma referência útil sobre como o retorno deveria funcionar.

Artigos relacionados