Décision : l'overlay EVPN plafonne à 1450. Conséquence invisible : sous 1500, tout ce qui traverse la frontière dépend de la découverte de MTU de chemin, donc de l'ICMP « fragmentation nécessaire ». Or le registre ne connaissait que TCP et UDP. Ce message ne pouvait pas être déclaré et la bordure en `block in log all` l'aurait jeté : la connexion s'établit, les petites requêtes passent, les grosses réponses restent suspendues — la panne la plus coûteuse à diagnostiquer, et celle qu'on impute d'abord à l'application. `protocole: icmp` est admis ; le champ `port` y porte le type (`frag-needed`). Le socle déclare les deux sens. Vérifié : nftables d'hôte inchangés, le pair `externe` reste sauté. Reconnaissance (lecture seule) : l'EVPN est à moitié construit — contrôleur EVPN0017 (ASN 65000), zones VRF0011 et VRF0017, un VRF par tenant avec le VNI égal à l'index. Aucun VNet, aucun nœud de sortie. Signalé et non corrigé : les pairs BGP sont dans 10.27.19.0/24, le sous-réseau Services-infra de Chezlepro. Le transport du cluster dérive de l'index d'un tenant, et une VM de cette zone partage son sous-réseau avec les VTEP — l'isolation est percée à l'endroit que l'EVPN devait fermer. Preuves : 24 OK, 0 échec. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| meta | ||
| README.md | ||
serveur_debian
Rôle-catégorie du socle : il ne porte aucune tâche. Son unique contenu est
meta/flux.yml — la déclaration du plan de gestion (SSH) de tout nœud de la flotte.
Pourquoi un rôle sans tâches
Le résolveur de flux (scripts/resoudre_flux.py, make flux) agrège les
roles/<rôle>/meta/flux.yml par nom de groupe. Le groupe serveur_debian est le socle
appliqué à tous les hôtes ; c'est donc ici que se déclare le flux SSH d'administration.
⚠️ Critique : sans cette déclaration, les rulesets nftables générés (
nftables_baseline,policy drop) couperaient l'accès Ansible/SSH à toute la flotte.
Le travail réel
Il est fait par le playbook du groupe, playbooks/groupes/serveur_debian.yml, qui applique
dans l'ordre :
| Rôle | Apport |
|---|---|
common_packages |
Paquets de base |
hosts_statiques |
Plancher de résolution /etc/hosts (indépendant du DNS) |
qemu_guest_agent |
Agent invité Proxmox |
cloud_init |
Cohérence du premier démarrage |
sudo_ansible |
Compte de déploiement |
chrony |
Horloge (fuseau_horaire) |
ssh_baseline |
Base SSH |
systemd_ssh_auto |
Démarrage SSH fiable |
motd |
Bannière |
Le playbook refuse toute cible non-Debian (assertion ansible_facts.distribution).
Place dans l'ordre
Couche socle (docs/couches-deploiement.yml) — la première. Le durcissement
(serveur_durci) vient juste après, tout le reste ensuite.
Notes
- Ajouter un flux réseau du socle (pas d'un service) se fait ici, pas ailleurs.
hosts_statiquesétant appliqué ici, la résolution par nom fonctionne dès le socle, avant que PowerDNS existe — c'est ce qui permet l'ordre de reconstruction from-zero.