Résoudre des dysfonctionnements liés au MTU

Le PMTUd (Path MTU[1] discovery), activé par défaut sur les modules EOLE, est une technique permettant de déterminer, dans un réseau informatique, la taille du MTU[1] sur le chemin entre deux hôtes IP, afin d'éviter la fragmentation des paquets.

Truc & astuce

Cette configuration peut poser problème, notamment avec le réseau virtuel privé (VPN), lorsque les paquets ICMP[2] de type 3 (Destination Unreachable) / code 4 (Fragmentation Needed and Don't Fragment was Set) sont bloqués quelque part sur le réseau.

Un des phénomènes permettant de diagnostiquer un problème lié au PMTUd est l'accès à certains sites (ou certaines pages d'un site) n'aboutissant pas (la page reste blanche) ou les courriels n'arrivant pas dans le client de messagerie.

Il est possible de forcer la valeur du MTU pour une interface donnée dans l'onglet Réseau avancé de l'interface de configuration du module en mode expert.

Truc & astuce

Les commandes ping, ip route et tracepath sont utilisées pour ajuster les valeurs.

Utilisation de la commande ping

La commande ping permet de réaliser des tests en forçant la taille des paquets :

  • ping OK avec une taille forcée à la valeur 1400 :
1
root@amon:~#  ping -M do -s 1400 pcll.ac-dijon.fr -c1
2
PING listeseole.ac-dijon.fr (194.167.18.17) 1400(1428) bytes of data.
3
1408 bytes from platon.ac-dijon.fr (194.167.18.17): icmp_seq=1 ttl=62 time=1.38 ms
4
5
--- listeseole.ac-dijon.fr ping statistics ---
6
1 packets transmitted, 1 received, 0% packet loss, time 0ms
7
rtt min/avg/max/mdev = 1.380/1.380/1.380/0.000 ms
  • ping KO avec une taille forcée à la valeur 1500 :
1
root@amon:~#  ping -M do -s 1500 pcll.ac-dijon.fr -c1
2
PING listeseole.ac-dijon.fr (194.167.18.17) 1500(1528) bytes of data.
3
ping: local error: Message too long, mtu=1500
4
5
--- listeseole.ac-dijon.fr ping statistics ---
6
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

Utilisation de la commande ip route

La commande ip route get to permet de visualiser les problèmes de MTU.

1
# ip route get to 172.X.Y.Z
2
172.X.Y.Z dev eth0 src 10.67.V.W
3
cache expires 508sec mtu 1400

La commande ip route flush cache permet quant à elle de vider le cache.

Utilisation de la commande tracepath

La commande tracepath permet d'identifier où se trouvent les limitations du MTU.

1
# tracepath 172.X.Y.Z
2
1?: [LOCALHOST] pmtu 1500
3
1?: [LOCALHOST] pmtu 1438
4
1: 192.168.A.B 1.353ms
5
1: 192.168.C.D 1.972ms
6
2: 192.168.E.F 2.014ms
7
3: 192.168.G.H 1.657ms
8
4: 192.168.I.J 3.026ms
9
5: 192.168.K.L 2.543ms pmtu 1400
10
5: 172.M.N.O 9.930ms
11
6: no reply
12
...