Salut Aurélien,

Le cas le plus probable est souvent qu'il y a un firewall ou un routeur sur le chemin qui bloque l'ICMP car c'est beaucoup plus rare d'avoir un serveur qui ignore les ICMP retour.

La solution la plus simple dans le cas que tu décris est effectivement, comme tu le suggères, de mettre le DF à 0 à l'entrée. Sur les Cisco, par exemple on utilise une route-map sur l'interface avec une commande 'set ip df 0'

Sur le Vyatta, tu peux le faire dans l'iptable
pour les paquets sortants :
iptables -t mangle -A POSTROUTING -j DF --clear
pour les paquets entrants :
iptables -t mangle -A PREROUTING -j DF --clear

et pour le Fortinet, je ne sais pas...

Le MTU du GRE devrait être de 1476 et ton TCP MSS à 20 de moins.

Laurent

Le 30/10/2013 16:50, Aurélien a écrit :
Hello la liste,

Il y a quelques jours, je me suis lancé dans une petite aventure consistant
à essayer d'accéder à internet à travers un tunnel GRE et une session BGP.
Globalement, ça me diminue ma MTU à 1460, et mon TCP Max Segment à 1436 si
j'ai bien tout compris.

J'ai réglé cette MTU dans mes équipements d'extrémité (Fortinet d'un côté,
Vyatta de l'autre), et j'ai essayé de faire fonctionner le tout.

Il semble que sur certains sites cela fonctionne, et sur certains autres
non. J'ai fait pas mal de débugs, et j'ai fini par trouver les éléments
suivants:

  - Tous les paquets IP avec du TCP dedans comportent le flag DF, ce qui est
nécessaire pour le PMTU.
  - Il semble que mon routeur Vyatta, au moment où un trop gros paquet
devrait rentrer dans le tunnel envoie bien l'ICMP comme quoi ça ne passe
pas.

Cependant à partir de ce point ça se complique, puisqu'il arrive que la
communication passe bien (IE, l'ICMP est reçu, et la communication se
poursuit correctement), soit ça ne passe pas, et la source continue à
retransmettre comme si le paquet avait été perdu.

En creusant plus, j'ai réussi à déterminer que c'était un souci de routage
de l'ICMP too-big en question, qui n'arrivait pas forcément à l'hôte qui a
émis le paquet, en fonction du load-balancing utilisé pour le site web
concerné.

Du coup, comme à priori je ne peux pas patcher internet (c) je me demande
si il y a un moyen ou pas que mon équipement "oublie" le flag DF et
fragmente quand même mon paquet pour que ça passe ? Est-ce que ce type de
configs vous paraît raisonnable ?

Ou sinon, il y a peut-être une autre solution au problème que je veux
résoudre (utilisation de mes propres IP internet derrière une ADSL
classique, en backup dégradé d'un lien dédié) ?

Avez-vous déjà réalisé ce type de configurations ?
Avez-vous des solutions à ce type de souci de fragmentation ?

Merci pour vos réponses !

Cordialement,


---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/

Répondre à