Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ssh et probleme de MTU

3 réponses
Avatar
Eric Belhomme
Bonjour,

Je rencontre quelques difficultés qui semblement lié à un problème de
MTU... Voici le contexte :

2 réseaux LAN, interconnectés par 2 gateways sous Linux et un tunnel
IPSec (cnx Internet IP ATM d'un coté, PPPoE de l'autre)

Comme sympotôme, j'ai des gels de connexions (particulièrement visibles
avec ssh), mais le phénomène n'est pas limité à ce protocole)
Après quelques tcpdumps, je me suis rendu compte que mes gateways ne
fragmentent pas les paquets trops gros, qui du coup sont droppés !

Il y a un filtrage netfilter assez restrictif sur ces machines, et je
suppose que c'est là la cause de mon problème...

Je voudrais donc savoir quelles sont les "best practises" à appliquer
afin que la fragmentation se fasse proprement ?

Merci,

--
Rico

3 réponses

Avatar
Nicolas George
Eric Belhomme wrote in message <4aee8c08$0$272$:
Après quelques tcpdumps, je me suis rendu compte que mes gateways ne
fragmentent pas les paquets trops gros, qui du coup sont droppés !

Il y a un filtrage netfilter assez restrictif sur ces machines, et je
suppose que c'est là la cause de mon problème...



Probablement.

Je voudrais donc savoir quelles sont les "best practises" à appliquer
afin que la fragmentation se fasse proprement ?



La fragmentation ne doit pas se faire, c'est à l'émetteur de limiter la
taille des paquets. Pour ça, il faut que les paquets ICMP fragmentation
needed lui parviennent.

Si tes routeurs n'émettent pas ces ICMP, le problème est précisément là.
Avatar
Pascal Hambourg
Salut,

Nicolas George a écrit :
Eric Belhomme wrote in message <4aee8c08$0$272$:

Je voudrais donc savoir quelles sont les "best practises" à appliquer
afin que la fragmentation se fasse proprement ?



La fragmentation ne doit pas se faire, c'est à l'émetteur de limiter la
taille des paquets. Pour ça, il faut que les paquets ICMP fragmentation
needed lui parviennent.



Pour rappel, un message ICMP "fragmentation needed" n'est émis que si le
paquet trop gros a l'option DF (Don't Fragment) activée, donc en gros si
l'algorithme "Path MTU Discovery" est activé (net.ipv4.ip_no_pmtu_disc=0
pour Linux). Sinon, le routeur fragmente le paquet. D'autre part il y a
des circonstance ou l'équipement qui voit passer un paquet trop gros
n'est pas un routeur IP et donc ne peut ni le fragmenter ni émettre un
ICMP. C'est le cas dans certaines architectures mettant en oeuvre le
protocole PPPoE comme la collecte IP/ADSL de FT ou SFR. Certains FAI
contournent le problème en rabotant à la volée le MSS des connexions
TCP, mais évidemment ça ne marche pas sur les communications chiffrées
par IPSec. En plus l'encapsulation d'IPSec diminue le MTU effectif, ce
qui ne simplifie pas les choses.

Eric, si tu arrives à identifier une valeur de MTU pour laquelle ça
passe bien, tu peux essayer de raboter le MSS à la valeur correspondante
(MTU - 40) sur les routeurs Linux avec la cible TCPMSS dans une règle
iptables *avant* que les paquets soient encapsulés dans IPSec, ou après
qu'ils soient décapsulés.
Avatar
Eric Belhomme
Pascal Hambourg a e'crit :

Merci a` tous les deux, ce sont la` exactement le genre de re'ponses que je
recherchais !
Je mets en place les modifications ne'cessaires sur mes routeurs et vous
tiens au courant...

--
Rico