[Tutorial] Resolvendo problemas relacionado ao MTU

Usar tag [Video] [Tutorial]
Avatar do usuário
marceloleaes
Administrator
Administrator
Mensagens: 1516
Registrado em: 10 Jun 2013 12:45
Localização: Novo Hamburgo
Idade: 41
Contato:
Status: Offline

[Tutorial] Resolvendo problemas relacionado ao MTU

Mensagem por marceloleaes »

Este tutorial orienta na solução de problemas de MTU que podem ocorrer em sua rede. Em alguns casos este pequeno detalhe gera grande dor de cabeça para o Administrador, por isto resolvi documentar este assunto  ;)

O que é o tamanho MTU?

Representa o maior tamanho (em bytes) de pacotes IP que podem ser transmitidos através de uma interface sem ser fragmentado. Se o tamanho de pacotes é maior do que o valor da MTU suportado em sua rede, o pacote IP irá passar por processos de fragmentação de IP.

A maioria dos provedores de internet utilizam um valor de 1.500 bytes para o MTU, mas isto nem sempre é o padrão. Configurando o MTU pode melhorar ou piorar a eficiência de transmissão de dados.

Por exemplo, alto MTU significa que há menos pacotes para uma quantidade fixa de dados, isso se correlaciona com menos sobrecarga de protocolo ( transmissão "goodput" mais rápida ), mas pode induzir a grandes atrasos em ligações mais lentas, pois o grande pacote está ocupando o meio de transmissão por períodos mais longos de tempo. Se o seu provedor usa um tamanho diferente MTU, você pode encontrar um comportamento estranho de sua conexão de rede, mais especificamente, downloads que nunca concluirão, mas você consegue visitar algumas páginas normalmente e outras que podem apresentar inúmeros problemas de conexões e não funcionarem direito...

Solucionando problemas de MTU

Primeiro você precisa descobrir o tamanho atual do seu MTU. Você pode fazer isso rodando o seguinte comando:

Código: Selecionar todos

root@endian:~# ip link show
A saída será como esta:
2: eth0:  mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ether 89:d2:24:8f:ee:a6 brd ff:ff:ff:ff:ff:ff
Por favor veja a interface associada ao seu uplink e não os demais.

Se o tamanho MTU não for compatível com as suas necessidades ou com os requisitos de seu provedor você deve considerar seguir os próximos passos e tentar encontrar o valor adequado para ele. Lembrando que sempre é válido contatar o provedor e confirmar com eles este valor  ;)

Detectando o valor correto do MTU

Código: Selecionar todos

root@endian:~# ping -c1 -M do -s 1460 www.google.com
Aqui, 1460 é o tamanho em bytes do payload ICMP. Essa atividade será somado com o cabeçalho ICMP (8 bytes) e o cabeçalho IP (20 bytes), o que totaliza um montante de 1.488 bytes, para o pacote IP, enviado para a camada de enlace de dados. É possível observar no exemplo abaixo, o valor de capacidade de carga e em que os suportes de ter o tamanho total do pacote IP.
PING <host> 1460(1488) bytes of data.
1468 bytes from <host> icmp_seq=1 ttl=49 time=75.2 ms
No exemplo acima, que têm uma resposta bem sucedida do hospedeiro ICMP, isto significa que o pacote de IP não sofreu fragmentação ao longo do seu caminho.
PING <host> (62.116.64.82) 1460(1488) bytes of data.
ping: sendmsg: Message too long
Se o pacote precisa de fragmentação, um erro como o descrito acima será recebido, porque o comando foi emitido com a opção "-M", que proíbe a fragmentação do pacote. Você pode sondar a rede, com diferentes tamanhos de pacotes IP até encontrar o tamanho correto MTU. É mais fácil começar a partir de um valor mais baixo e aumentar gradualmente até que você receber ICMP responde.

Tenha em mente, que o valor que você passa para o comando como argumento não é o tamanho correto do MTU, mas o encontrado entre parênteses.

Solução de problemas MTU para OpenVPN

Problemas com conexões VPN podem ser facilmente detectados apenas olhando para os arquivos de configuração, uma fonte sutil de problemas de conexão é um valor errado do tamanho do MTU. O Endian define um limite de 1.450 bytes para o tamanho de MTU da VPN, para evitar problemas com os valores de MTU comuns utilizados pelos seu provedor, que é de 1500 bytes. No entanto, se o provedor está usando um valor menor MTU, você pode encontrar os mesmos problemas de conexão ou comportamento anormal, como dito anteriormente. Este valor pode ser facilmente modificado, acessando o Endian por ssh e seguindo os passos:

Código: Selecionar todos

root@endian:~# nano /etc/openvpn/openvpn.conf.tmpl
E neste arquivo localize mssfix 1450 , altere para o valor necessário e depois reinicie o serviço OpenVPN

Código: Selecionar todos

root@endian:~# /etc/init,d/openvpn restart

Espero que seja útil de alguma maneira a você  ;D


"Transportai um punhado de terra todos os dias e fareis uma montanha." Confúcio

Voltar para “Video Aula e Tutoriais”