A configuração correta do MTU pode ser uma válvula contra dores de cabeça ao acessar determinados conteúdos da Internet.
Na rede em que eu trabalho, sites como o google.com e facebook.com só funcionam com boa performance se eu estiver com o MTU configurado para 1400, caso contrário demora um longo tempo para que a página carregue, devido a fragmentação de pacotes gerada.
Para testar e ajustar as melhores configurações para os meus recursos de rede, eu sigo os seguintes passos:
Altere o parâmetro eth0 para o nome do recurso de rede que você deseja configurar no seu PC, ex: eth1, tun0, ppp0
$ ifconfig eth0 | grep -Eo "MTU:[0-9]+"
O comando acima irá apresentar o MTU configurado atualmente no recurso pesquisado.
$ ping -s 1500 -M do google.com
No caso acima será testado o MTU ideal para o endereço google.com, altere o valor 1500 para um número menor, ex: 1495, 1490... até a mensagem fragmentação – Frag needed and DF set não aparecer mais.
Quando ela sumir, o valor utilizado deverá ser configurado em seu recurso de rede.
Para configurar o MTU em seu PC Debian (Ubuntu, Mint e cia), via linha de comando, execute o comando abaixo alterando o eth0 para o recurso de rede que deseja configurar.
$ ifconfig eth0 mtu 1400
Seguindo o exemplo do Debian, execute o comando abaixo para testar o melhor MTU para o seu PC em sua rede.
$ ping www.google.com -f -l TAMANHO_DO_MTU
Exemplo
$ ping www.google.com -f -l 1500
No caso acima será testado o MTU ideal para o endereço google.com, altere o valor 1500 para um número menor, ex: 1495, 1490... até a mensagem "O pacote precisa ser fragmentado, mas a desfragmentação está ativa" não aparecer mais.
Quando ela sumir, o valor utilizado deverá ser configurado em seu recurso de rede.
A saída deve ser um ping com tempo de resposta, como no caso abaixo:
Resposta de 172.16.55.254: bytes=64 (enviado 1472) tempo=346ms TTL=54
Rode o comando abaixo para descobrir o nome da interface de rede que precisará ser modificada:
$ netsh interface ipv4 show subinterfaces
Ajuste o MTU com o comando abaixo
$ netsh interface ipv4 set subinterface "NOME_DA_INTERFACE" mtu=VALOR_DO_MTU store=persistent
Exemplo:
$ netsh interface ipv4 set subinterface "Conexão Local" mtu=1400 store=persistent