Ben j'ai changé la MTU progressivement 1500, 1450, 1475, 1482, etc... Et à 1479, ça marche, 1480 aussi, mais pas 1481. Dichotomie quoi ;) Je l'ai fait sur l'interface eth_adsl (reliée à ma Freebox) de mon routeur.
Ce que je veux dire, c'est que « ça marche » c'est très vague : tu réponds pour l'interface, mais tu ne dis pas depuis où, vers où, avec quel outil, quels paramètres, etc.
La MTU de 1480 vient, mais c'est une hypothèse, du tunnel 6rd de Free qui doit rajouter des en-têtes.
Effectivement, cette taille doit venir de là.
Soit, ce n'est pas vraiment un problème. Par contre, comme je l'ai dit, quand je fais une connexion TCP, ou même un simple ping vers un site distant, je n'ai pas de ICMPv6 "Packet too big". De personne.
Ça par contre c'est un problème de ton routeur, puisque c'est lui qui a un lien réduit, maintenant que tu as fixé la MTU dessus. Un paquet arrive sur son interface LAN, avec MTU de 1500 je suppose, OK, puis quand il veut forwarder vers l'interface eth_adsl, qui fait 1480, ça ne passe pas, alors il doit te renvoyer un PTB. Je pense donc que tu as un problème de filtrage de l'ICMPv6 sur ton routeur. Vérifie la configuration de ton firewall.
Si par contre le problème arrive quand on fait un test depuis l'extérieur, le problème viendrait potentiellement de Free.
Par contre, si je fais un ping vers le routeur, avec un payload trop important, je l'ai, et ça met à jour les tables de routage temporaire, et tout marche comme sur des roulettes par la suite.
Ça par contre, je ne comprends pas, ça n'est pas normal, à moins que j'ai mal compris ton test : si c'est juste sur ton LAN entre ta machine et ton routeur, il n'y a aucune raison de limiter la MTU à moins de 1500.
Du coup, j'avais trouvé la solution de mettre "AdvLinkMTU 1480;" dans mon /etc/radvd.conf.
Qui n'est pas la bonne : ça empêche les machines de ton LAN de communiquer entre elles avec le MTU maximum réel. C'est un workaround foireux, car un jour tu pourrais tomber sur un interlocuteur sur le net qui a un MTU encore plus petite (comme chez moi), et là ça foirera parce que tu n'as pas identifié réellement la source de ton problème d'ICMPv6 PTB qui ne passe pas.
Il se trouve que ça a marché...
Comme j'ai dit, ça n'est pas pérenne.
jusqu'à une mise-à-jour de systemd sous Debian, avec une ligne dans le changelog :
Des fois j'ai vraiment envie de foutre des grosses baffes à ces devs incompétents. Vouloir tout remplacer pour le plaisir quand on y connaît rien... c'est irresponsable.
Donc là, ma vie personnelle fait que j'ai pas eu le temps de m'en occuper plus que ça, mais hein, si c'est pas un micmac avec networkd (que j'utilise sur mon ordinateur de bureau), je sais pas ce que c'est... Ce qui m'embête le plus, c'est de ne pas comprendre pourquoi les paquets ICMPv6 "Packet too big" ne sont pas générés, ni par mon routeur, ni par la Freebox...
Pour comprendre, essaye d'abord d'être plus clair dans ce que tu testes. Un PTB est généré par le routeur qui passe d'un lien plus gros à un lien plus petit, en renvoyant à l'émetteur un PTB. Cette fonction est réalisée des deux côtés du goulot d'étranglement, et peut donc foirer aussi bien dans un sens que dans l'autre, et pas forcément en même temps. Ça complique un peu le diagnostic, mais il est essentiel de bien être clair là-dessus pour commencer à résoudre ton problème. Je suis d'accord que pour le test depuis l'extérieur, c'est un peu plus compliqué, mais ça se fait.
[^] # Re: Problème de MTU ?
Posté par benoar . En réponse au message IPv6 à moitié routée ?. Évalué à 2.
Ce que je veux dire, c'est que « ça marche » c'est très vague : tu réponds pour l'interface, mais tu ne dis pas depuis où, vers où, avec quel outil, quels paramètres, etc.
Effectivement, cette taille doit venir de là.
Ça par contre c'est un problème de ton routeur, puisque c'est lui qui a un lien réduit, maintenant que tu as fixé la MTU dessus. Un paquet arrive sur son interface LAN, avec MTU de 1500 je suppose, OK, puis quand il veut forwarder vers l'interface eth_adsl, qui fait 1480, ça ne passe pas, alors il doit te renvoyer un PTB. Je pense donc que tu as un problème de filtrage de l'ICMPv6 sur ton routeur. Vérifie la configuration de ton firewall.
Si par contre le problème arrive quand on fait un test depuis l'extérieur, le problème viendrait potentiellement de Free.
Ça par contre, je ne comprends pas, ça n'est pas normal, à moins que j'ai mal compris ton test : si c'est juste sur ton LAN entre ta machine et ton routeur, il n'y a aucune raison de limiter la MTU à moins de 1500.
Qui n'est pas la bonne : ça empêche les machines de ton LAN de communiquer entre elles avec le MTU maximum réel. C'est un workaround foireux, car un jour tu pourrais tomber sur un interlocuteur sur le net qui a un MTU encore plus petite (comme chez moi), et là ça foirera parce que tu n'as pas identifié réellement la source de ton problème d'ICMPv6 PTB qui ne passe pas.
Comme j'ai dit, ça n'est pas pérenne.
Des fois j'ai vraiment envie de foutre des grosses baffes à ces devs incompétents. Vouloir tout remplacer pour le plaisir quand on y connaît rien... c'est irresponsable.
Pour comprendre, essaye d'abord d'être plus clair dans ce que tu testes. Un PTB est généré par le routeur qui passe d'un lien plus gros à un lien plus petit, en renvoyant à l'émetteur un PTB. Cette fonction est réalisée des deux côtés du goulot d'étranglement, et peut donc foirer aussi bien dans un sens que dans l'autre, et pas forcément en même temps. Ça complique un peu le diagnostic, mais il est essentiel de bien être clair là-dessus pour commencer à résoudre ton problème. Je suis d'accord que pour le test depuis l'extérieur, c'est un peu plus compliqué, mais ça se fait.