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 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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à.
Eric Belhomme wrote in message <4aee8c08$0$272$426a74cc@news.free.fr>:
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à.
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à.
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.
Salut,
Nicolas George a écrit :
Eric Belhomme wrote in message <4aee8c08$0$272$426a74cc@news.free.fr>:
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.
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.
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
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...
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...