SITE-TechnoLibre/COLLECTE.md
Daniel Allaire 2e223f135a Le site de reprise refait sur le modele de SITE-Chezlepro, et sa face publique par relais
- Carte au schema actuel (index 31, zones derivees, publication VLAN 37), equipements reels :
  frontiere requin, noeud maurice, commutateur caillou.
- Neuf machines, memes noms et VMID qu'au site de Chezlepro ; runner des deux locataires.
- maurice : vmbr0 administration (nic0), vmbr1 VLAN-aware pour les VM (nic2) ; stockages nvme
  et miroir (ZFS 2 x 12 To, site-backup-01).
- opnsense.yml : optN mesures (opt1 transit, opt2..opt8 zones, opt9 RELAIS) ; face publique par
  le relais (opt9, RELAIS_GW), adresse du site et pool des locataires ; silence du relais.
- underlay.yml : reseau `relais` (tunnel WireGuard 10.31.60.0/30), hote relais (VPS OVH) et
  cles publiques des deux bouts.
- plan/domaines.yml et plan/mainteneurs.yml ; documentation (README, PREMIERE-HEURE,
  COLLECTE) a jour du releve sur place.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 21:20:04 -04:00

8 KiB
Raw Blame History

À relever sur place — TechnoLibre

Tout ce qui pouvait être décidé l'a été le 2026-09-13. Ce qui suit n'est pas un choix : ce sont des FAITS que seul le matériel peut dire. Quinze valeurs : deux cartes, l'adresse du WAN, dix noms d'interface, deux paires de jetons.

Ce qu'il faut Où le lire Pourquoi personne ne peut le décider
<<IFACE>> ip -br link sur le nœud Le nom de la carte réseau dépend du matériel (eno1, enp1s0…)
<<IP_PUBLIQUE>> OPNsense, interface WAN Donnée par le fournisseur d'accès
<<optN>> ×10 OPNsense → Interfaces → Assignments Les noms optN sont attribués dans l'ordre de création
proxmox_api_token_id Datacenter → Permissions → API Tokens Délivré par le nœud à la création
proxmox_api_token_secret Idem — affiché une seule fois Ne se relit jamais ; le noter tout de suite
vault_opnsense_api_key System → Access → Users → api keys Délivré par la frontière
vault_opnsense_api_secret Téléchargé avec la clé, même fichier Idem

Le piège des optN. Le devis raisonne en ARRIVÉE : une règle posée sur la mauvaise patte ne correspond jamais, et rien ne le signale. Relever les dix noms exacts avant de poser quoi que ce soit, y compris celui de la patte face au nœud Proxmox — elle manquait chez Chezlepro et toutes les règles entrantes des locataires tombaient dans le vide.

Ce qui est mesuré, pas relevé. Relevé le 2026-10-13 : local-lvm ne fait que 130 Go. Les VM vont sur nvme (LVM-thin, NVMe 465 Go), site-backup-01 sur miroir (ZFS, 2 × 12 To). Revérifier pvesm status AVANT de lancer la matérialisation.

Les quatre jetons vont dans la voûte, pas dans un fichier de plan :

cd ../Set-OPS-public
ANSIBLE_VAULT_IDENTITY_LIST="$(python3 scripts/voutes.py identites)" \
  ansible-vault edit ../SITE-Technolibre/underlay.vault.yml

Ils y sont déjà déclarés, vides. C'est volontaire : une clé absente donne une erreur de variable indéfinie, une clé vide donne l'assertion du rôle — qui dit quoi manque et où le prendre. Les dix autres secrets du site sont déjà engendrés.


Ce qui a été décidé, et qu'il suffit de confirmer

Valeur Raison
Index du site 31 Les sites prennent leur propre index depuis le 2026-09-12
Plan d'administration 10.31.0.0/24 Un seul — frontière .1, nœud .11, commutateur .111 — passerelle de tous : la frontière
Adresse du poste une secondaire dans 10.31.0.0/24 De là, l'API Proxmox, la frontière et le rebond sont tous joignables
Nœud Proxmox maurice Nom d'hôte posé à l'installation (2026-10-13)
Frontière requin Nom d'hôte de l'OPNsense (2026-10-13)
Domaine du site socle.internal Distinct de technolibre.internal, qui est au locataire
Routage des locataires sdn (EVPN sur le nœud) Sans commutateur L3, le mode switch obligerait la frontière à porter douze interfaces routées
ASN 65031 Dérivé de l'index — deux sites reliés ne peuvent pas collisionner
Contrôleur EVPN EVPN0031 Objet de cluster : nommé d'après le site, pas d'après son premier locataire
Ponts vmbr0 sur nic0, vmbr1 sur nic2 Administration en 1G ; les VLAN des VM en 10G, VLAN-aware
Gabarit 99998 Le même dans toute la flotte

1. Le chiffre qui décide de tout

SITE                 9 VM    23 Go RAM    816 Go provisionnés
chaque locataire   ~14 VM   ~37 Go RAM   ~460 Go provisionnés

Sur trois nœuds ça se répartit. Sur un seul, la même machine porte tout — et la RAM est la contrainte dure (le disque se dégonfle en provisionnement fin, pas la mémoire).

  • RAM physique du nœud : 256 Go (2 × 128, ASUS Z10PE-D16 WS) — la mémoire n'est plus la contrainte
  • Espace libre du stockage images : ______ Go (viser 1,2 To ; 800 Go à la rigueur)

2. L'hyperviseur

  • Nom exact du nœud tel qu'il apparaît dans l'interface : ______
  • Version : pveversion | head -1 → ______ (attendu : pve-manager/9.x)
  • Noms exacts des stockages acceptant le contenu images : pvesm status
  • Ponts présents : ip -br link | grep vmbr
  • Adresse de gestion du nœud : ______
  • SDN disponible ? pvesh get /cluster/sdn répond sans erreur : oui / non

Compte d'API

pveum user add ansible@pve
pveum aclmod / -user ansible@pve -role Administrator
pveum user token add ansible@pve set-ops --privsep 0
  • Token ID + secret notés (le secret ne s'affiche qu'une fois)

3. La frontière (OPNsense)

  • IP publique (WAN) : ______
  • Version : ______
  • Interfaces libres pour les zones du site : ______
  • Clé + secret d'API créés et notés
  • Compte ansible en SSH par clé, sudo vérifié : sudo -n -l
  • Une patte face au nœud Proxmox (le lien de transit) : interface ______

4. Entre les deux — LA question de forme

Ce qu'il y a entre le nœud Proxmox et l'OPNsense décide du mode de routage :

  • Un commutateur capable de SVI et d'ACL → mode switch, modèle : ______
  • Un commutateur simple (VLAN seulement) → l'OPNsense route tout, mode switch avec l'OPNsense comme routeur
  • Un lien direct nœud ↔ OPNsense → trunk 802.1Q, l'OPNsense route tout
  • SDN EVPN sur le nœud → indépendant du matériel, mais jamais éprouvé sur un nœud unique

Relevé du 2026-10-13 : caillou, commutateur de couche 2 seulement (4 × 2,5G, 4 × SFP+), entre requin (ix0) et maurice (nic2) ; les VLAN 31 à 37 et 40 y passent étiquetés, prouvés par ARP depuis maurice (témoin : VLAN 99, sans réponse).

  • Le VLAN 1 (administration) traverse encore les deux ports SFP+ du lien des zones, non étiqueté : les diffusions du poste arrivent sur nic2 et sur ix0 (mesuré en faisant émettre le poste pendant l'écoute). Retirer le VLAN 1 des MEMBRES de ces deux ports, pas seulement du natif ; natif = un VLAN sans autre membre (999). Remis à plus tard par Daniel le 2026-10-13.

5. Cohabitation d'adressage

  • ip route sur le poste de Mathieu — quelles plages 10.x sont déjà prises ?
  • Son réseau bureautique / son VPN utilisent-ils 10.31.x ou 10.23.x ? ______
  • Docker présent sur ses machines d'administration ? (172.17+ déjà pris)

6. Le gabarit

  • Gabarit Debian 13 modeleSetOPS-minimal : fait / à faire (procédure : docs/procedure-template-debian13-proxmox.md, ~30 min)
  • Si fait : VMID ______ , nom ______ , stockage ______
  • Vérifier machine: q35 et bios: ovmf — ne jamais convertir un i440fx

7. Les accès réseau nécessaires depuis le poste

Cible Port Pour quoi OK
Hyperviseur 8006 créer et détruire les VM [ ]
Hyperviseur 22 pvesh, qm, SDN [ ]
Frontière 443 poser les règles par API [ ]
Frontière 22 SSH, compte ansible [ ]
Zones du site 22 SSH vers les VM une fois créées [ ]

8. Les deux paires de secrets

Par un canal chiffré, séparément du reste, et jamais dans git :

  • Token ID + secret de l'hyperviseur → voûte de l'instance
  • Clé + secret de l'API de la frontière → voûte de l'instance

9. Ce qui n'a jamais été éprouvé, et qu'il faut regarder de près

  • Proxmox 9 — le moteur n'analyse aucune version et n'appelle que des chemins d'API stables, mais rien n'a jamais tourné contre un PVE 9. Surveiller le pare-feu (proxmox-firewall nftables en 9) et le SDN (passé GA).
  • Nœud unique — pas de Ceph, pas de migration, le gabarit et les clones sont sur la même machine. Le SPOF est total et assumé.
  • Index 31 — celui du SITE. Vérifier qu'aucune plage 10.31.x n'existe déjà chez Mathieu (ip route | grep 10.31). make instances garde la fédération.