Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[ICMP] mtu, mss & PPPoE(résolu)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
truc
Advocate
Advocate


Joined: 25 Jul 2005
Posts: 3199

PostPosted: Mon Nov 15, 2010 9:35 am    Post subject: [ICMP] mtu, mss & PPPoE(résolu) Reply with quote

Bonjour,

J'ai récemment mis un PC linux à la place d'un petit "routeur" tout public pour partager l'accès internet. La connexion WAN est de type PPPoE, Du coup, je m'y attendais, les PC sur le LAN ont des problèmes dûs au MSS.

Je peux contourner ces problèmes de deux manières:
  • En forçant le mtu sur les postes clients à 1492(1500 -6 -2), mais:
    • je ne sais pas faire cette manip sur windows!(ça a l'air compliqué en plus d'après ce que je vois!)
    • comme par hasard, le client DHCP de windows ne demande pas, ou ne prends pas en compte, par défaut l'option DHCP pour configurer le MTU
    • cette solution n'est pas cool, car les postes clients entre eux vont aussi discuter avec un MTU à 1492, alors qu'ils devraient pouvoir jouïr sans problème d'un MTU à 1500;)


  • en utilisant iptables et le saut TCPMSS, il est possible de modifier en live le MSS négocié pour les connexions TCP.
    • Au passage, j'me suis demandé pourquoi le problème ne semblait pas se poser pas avant avec le petit routeur, et lorsque je regarde avec tcpdump la valeur du mss sortant (arrivant sur une autre IP publique), je constate qu'il est à 1492, je soupçonne donc le routeur d'utiliser et d'abuser de la même (du mème?) astuce (altérer le mss).
    • ok, c'est cool, ça marche, mais je ne comprends pas trop pourquoi j'ai besoin de faire ça, dans la description de TCPMSS, on peut lire This target is used to overcome criminally braindead ISPs or servers which block "ICMP Fragmentation Needed", et d'après ce que je comprends, ça serait le serveur que je suis justement en train de mettre en place qui serait le braindead'euh!




Donc voila aucune des deux 'solutions' ne me semble satisfaisante, j'ai l'impression que le serveur que je mets en place devrait envoyer des pacquets ICMP fragmentation-needed, mais qu'il ne le fait pas, je ne vois pourtant rien de bloqué(rien en ICMP je veux dire) dans le parefeu. Du coup, je le soupçonne de fragmenter, ce qui m'amène à vous poser deux questions:

1) dois-je empécher la fragmentation (si oui, comment? avec sysctl j'imagine, mais je n'ai pas encore trouvé comment? (si vraiment c'est la solution à adopter de toutes façons..)

2) En supposant que le serveur fragmente de son côté, il devrait pouvoir se passer la même chose sur le trajet retour, comme ce n'est pas le cas, la fragmentation est-elle "interdite" sur le backbone internet?



Bon, il y a peut-être quelque chose qui m'échappe au final, vous voyez quoi!?


Merci! :)

EDIT: tiens, la même question mais sans réponse!
_________________
The End of the Internet!


Last edited by truc on Mon Nov 22, 2010 12:40 pm; edited 1 time in total
Back to top
View user's profile Send private message
truc
Advocate
Advocate


Joined: 25 Jul 2005
Posts: 3199

PostPosted: Mon Nov 22, 2010 11:13 am    Post subject: Reply with quote

Bon, en fait, après une bonne nuit de repos on y voit toujours plus clair.

J'ai fait des tests sur un autre serveur similaire et c'est bon, vous pouvez reprendre votre souffle, linux se comporte bien... ;)


Je m'explique:
Code:
ailleurs -- routeur en amont -- lien avec mtu=1492 -- serveur linux -- LAN avec mtu=1500


Si le transfert d'un fichier à bien lieu du LAN vers ailleurs, alors, le serveur va effectivement envoyer les paquets ICMP fragmentation-needed.

Si le transfert à lieu dans l'autre sens, c'est au routeur en amont d'envoyer ces paquets vers ailleurs, et si ce dernier ne les reçoit pas c'est que
  • soit le routeur en amont ne les envoit pas (pas bien!)
  • soit ces paquets ICMP sont bloqués (pour de mauvaises raisons! rappellez-vous du "braindead ISP")



Conclusion, la meilleure option dans l'immédiat est de continuer avec le saut TCPMSS, et sur le long terme d'essayer de trouver qui bloque quoi/ou/pourquoi/comment et/ou de contacter le FAI en question.
_________________
The End of the Internet!


Last edited by truc on Mon Nov 22, 2010 12:44 pm; edited 1 time in total
Back to top
View user's profile Send private message
Poussin
l33t
l33t


Joined: 08 Jun 2007
Posts: 659
Location: Liège

PostPosted: Mon Nov 22, 2010 11:52 am    Post subject: Reply with quote

Salut,

Ce genre de sujet m'intéresse beaucoup, alors j'ai quelques petites questions pour toi :)

Comment as-tu détecté le problème? Personnellement, j'ai toujours utilisé un routeur linux pour partager les connexions, alors ton message m'intrigue.

Par curiosité, je vais essayer de voir comment openwrt traite ce problème, dont je n'avais jamais entendu parler.
Back to top
View user's profile Send private message
truc
Advocate
Advocate


Joined: 25 Jul 2005
Posts: 3199

PostPosted: Mon Nov 22, 2010 1:01 pm    Post subject: Reply with quote

Poussin wrote:
Comment as-tu détecté le problème?


Si tu veux parler de comment le problème se traduisait d'un point de vue utilisateur, c'est simple, certaines pages web s'affichent d'autres non, mais le problème ne se pose pas depuis le routeur, uniquement depuis les postes du LAN.

Si tu veux parler de la source du problème, le mss, bien, c'est un problème très courant avec PPPoE, donc, y'a des pas mal d'infos sur le net, malheureusement, on ne voit souvent que la solution et pas une explication détaillée du problème.

Quote:
Personnellement, j'ai toujours utilisé un routeur linux pour partager les connexions, alors ton message m'intrigue.

Par curiosité, je vais essayer de voir comment openwrt traite ce problème, dont je n'avais jamais entendu parler.


En fait, le paquet PPP (c'est sur une machine debian, je n'ai pas vérifié sur gentoo) vient avec des hooks prédéfinis dont un qui t'ajoute automatiquement une règle iptables se chargeant de modifier le MSS. Donc, il y a de forte chance que tu n'aies rien à faire et que ça le fasse déjà tout seul. Tu peux déjà vérifier si tu voies cette règle sur ton routeur:
Code:
sudo iptables -t mangle -nvL FORWARD



Le hic pour moi, c'est qu'en parrallèle je peaufinais le parefeu, ce qui a consisté notamment à vider toutes les règles et à les recharger. Sauf celle qui devait être automatiquement ajoutée par ppp...

Résultat, j'ai choisi de désactiver ce hook (et son copain qui supprime la règle) et l'ai ajoutée manuellement dans mon ruleset


Ça répond à tes questions?
_________________
The End of the Internet!
Back to top
View user's profile Send private message
Poussin
l33t
l33t


Joined: 08 Jun 2007
Posts: 659
Location: Liège

PostPosted: Thu Nov 25, 2010 12:39 pm    Post subject: Reply with quote

Alors, dans openwrt, rien dans le mangle, tout est fait dans le filter:

Code:

Chain zone_wan_MSSFIX (1 references)
 pkts bytes target     prot opt in     out     source               destination         
40267 2414K TCPMSS     tcp  --  *      ppp0    0.0.0.0/0            0.0.0.0/0           tcp flags:0x06/0x02 TCPMSS clamp to PMTU


C'est donc bien l'astuce prévue qui est utilisée.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum