From 5b423cf954dfe5692e8258ca7f3c1287870f1f25 Mon Sep 17 00:00:00 2001 From: Daniel Allaire Date: Wed, 9 Sep 2026 23:23:08 -0400 Subject: [PATCH] correction : le PMTUD du site n etait pas casse, il etait non protege MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit J ai ecrit il y a une heure que la panne PMTUD « etait la, silencieuse, sur les sept machines de l hebergeur ». La mesure ne le soutient pas : site-mon-01 -> autre zone du site : MTU de chemin 1500 site-mon-01 -> Internet : MTU de chemin 1500 ops-01 (tenant, overlay EVPN) : MTU 1450, chemin vers Internet 1450 Le site est a 1500 de bout en bout. Aucun lien du chemin ne plafonne plus bas, donc aucun message « fragmentation necessaire » n avait lieu d etre emis, donc rien n etait casse entre zones du site. La contrainte a 1450 vit chez les TENANTS, sur l overlay — pas chez l hebergeur. Les six regles restent un vrai manque : elles couvrent le site parlant vers l EXTERIEUR, ou un correspondant distant peut plafonner plus bas, et elles seraient necessaires si une zone du site passait sur l overlay. Mais c etait une PROTECTION ABSENTE, pas une panne active. Decrire l un comme l autre est l exageration que ce depot ne doit pas contenir : une correction qu on ne mesure pas se raconte toujours plus grande qu elle n est. La correction est portee au CHANGELOG et dans le commentaire de devis_opnsense.py, la ou on la relira. Ce qui reste vrai et mesure : l Icinga du site tenait 6 de ses 7 machines pour mortes, et 7/7 apres. make prouver : CONFORME, 64 OK, 0 echec, 0 saute. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q --- CHANGELOG.md | 27 +++++++++++++++++++++++---- scripts/devis_opnsense.py | 16 ++++++++++++++-- 2 files changed, 37 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b4d8341..2e57cac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -56,10 +56,29 @@ aucune regle n'etait emise. Une ligne de condition, et le silence de toute une flotte. **Ce que la correction a revele en plus.** Huit regles a creer, zero a retirer — et SIX -d'entre elles sont du **PMTUD entre zones du site**, absent lui aussi pour la meme raison. -Le depot dit de ces deux messages ICMP : *« Bloques, la connexion s'etablit, les petites -requetes passent et les grosses reponses restent suspendues — la panne la plus couteuse a -diagnostiquer. »* Elle etait la, silencieuse, sur les sept machines de l'hebergeur. +d'entre elles sont du **PMTUD**, absent lui aussi pour la meme raison. Le depot dit de ces +deux messages ICMP : *« Bloques, la connexion s'etablit, les petites requetes passent et +les grosses reponses restent suspendues — la panne la plus couteuse a diagnostiquer. »* + +**CORRECTION (meme jour, apres mesure).** La premiere redaction de ce paragraphe disait que +cette panne « etait la, silencieuse, sur les sept machines de l'hebergeur ». **C'est faux, +et la mesure ne le soutient pas** : + + site-mon-01 -> autre zone du site : MTU de chemin 1500 + site-mon-01 -> Internet : MTU de chemin 1500 + ops-01 (tenant, overlay EVPN) : MTU 1450, chemin vers Internet 1450 + +Le site est a **1500 de bout en bout**. Rien n'y etait donc casse entre zones : aucun lien +du chemin ne plafonne plus bas, donc aucun message « fragmentation necessaire » n'avait +lieu d'etre emis. La contrainte a 1450 vit chez les TENANTS, sur l'overlay — pas chez +l'hebergeur. + +Les six regles restent un vrai manque : elles couvrent le site parlant vers l'EXTERIEUR, +ou un lien distant peut tres bien plafonner plus bas, et elles seraient necessaires le jour +ou une zone du site passerait sur l'overlay. Mais c'etait une **protection absente**, pas +une panne active — et decrire l'un comme l'autre est exactement le genre d'exageration que +ce fichier ne doit pas contenir. Une correction qu'on ne mesure pas se raconte toujours +plus grande qu'elle n'est. **Ce que la regle emise autorise, exactement — et pourquoi on ne pretend pas mieux.** `appliquer_opnsense` n'envoie `destination_port` que pour TCP et UDP : une regle ICMP ouvre diff --git a/scripts/devis_opnsense.py b/scripts/devis_opnsense.py index 3e42824..0f2df82 100644 --- a/scripts/devis_opnsense.py +++ b/scripts/devis_opnsense.py @@ -812,8 +812,20 @@ def construire(tenants: list[tuple[str, str, dict]]) -> dict: # MORTES. `hostalive` est un ping ; le site est decoupe en zones ; la # frontiere avalait l'ICMP inter-zones faute de regle. Et Icinga SUPPRIME # les notifications des services d'un hote DOWN — la supervision n'alertait - # plus de rien tout en ayant l'air de fonctionner. Le meme silence valait - # pour PMTUD entre zones du site. + # plus de rien tout en ayant l'air de fonctionner. + # + # LE PMTUD, LUI, N'ETAIT PAS CASSE — et il faut le dire pour ne pas gonfler + # la portee de ce correctif. Les memes six regles manquaient, mais mesure : + # + # site-mon-01 -> autre zone du site : MTU de chemin 1500 + # site-mon-01 -> Internet : MTU de chemin 1500 + # ops-01 (tenant, overlay EVPN) : MTU 1450 + # + # Le site est a 1500 de bout en bout : aucun lien ne plafonne plus bas, + # donc aucun « fragmentation necessaire » n'avait lieu d'etre emis. La + # contrainte a 1450 vit chez les TENANTS. C'etait une protection ABSENTE + # (elle compte des que le site parle a un correspondant qui plafonne plus + # bas, ou si une zone passe un jour sur l'overlay), pas une panne active. # # CE QUE LA REGLE EMISE AUTORISE, EXACTEMENT. `appliquer_opnsense` n'envoie # `destination_port` que pour TCP et UDP : une regle ICMP ouvre le