correction : le PMTUD du site n etait pas casse, il etait non protege

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 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
This commit is contained in:
Daniel Allaire 2026-09-09 23:23:08 -04:00
parent 843d39e7aa
commit 5b423cf954
2 changed files with 37 additions and 6 deletions

View file

@ -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

View file

@ -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