- underlay.yml : reseau inter-sites (172.31.0.0/30), requin (frontiere) et bifrost-1 (frontiere_pair, site SITE-Chezlepro) avec leurs cles publiques. - flux-genere/site-mon-01.nft : la patte du relais n'est plus une source de journaux. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
194 lines
9.2 KiB
YAML
194 lines
9.2 KiB
YAML
# Underlay — infrastructure PHYSIQUE du site de TechnoLibre (noeud maurice).
|
|
#
|
|
# SITE DE REPRISE : il n'heberge aucune production. Chezlepro et TechnoLibre tournent au site
|
|
# de Chezlepro ; ce site-ci existe pour les REPRENDRE (exercice ou sinistre). C'est pourquoi
|
|
# il declare les deux index de locataires.
|
|
#
|
|
# UN SEUL NOEUD : pas de Ceph, pas d'iSCSI, pas de migration. Le gabarit et ses clones vivent
|
|
# sur la meme machine — le point unique de panne est total, et assume pour un site de reprise.
|
|
#
|
|
# Refait le 2026-10-12 sur le modele de SITE-Chezlepro (memes cles, memes zones, memes noms de
|
|
# VM) : le depot de septembre ne suivait plus les methodes du moteur. Les valeurs que seul le
|
|
# materiel peut dire restent marquees `<<...>>` — voir COLLECTE.md.
|
|
#
|
|
# Le moteur la monte par symlink (Set-OPS-public/underlay.yml -> ce fichier), ou la lit par
|
|
# `SETOPS_UNDERLAY` sans toucher au symlink. Validee par `make underlay` / preuve P23.
|
|
---
|
|
underlay:
|
|
# L'index du site lui-meme : 10.31.0.0/16. Les sites et les locataires se partagent la
|
|
# classe A, chacun avec SON index (Chezlepro : site 37, locataires 17 et 23).
|
|
index: 31
|
|
|
|
# Les locataires que ce site peut REPRENDRE, avec l'index qu'ils ont deja. Une reprise ne
|
|
# renumerote rien : le plan du locataire ne change pas, seul change le site qu'il habite.
|
|
tenants:
|
|
OPS-Chezlepro: 17
|
|
OPS-Technolibre: 23
|
|
|
|
# Le commutateur entre la frontiere et le noeud (confirme sur place le 2026-10-13) :
|
|
# 4 ports 2,5G et 4 SFP+, couche 2 seulement — ni routage ni filtrage. La carte 10G du
|
|
# noeud (2 SFP+) et un SFP+ du QOTOM y sont branches ; c'est la racine du spanning-tree.
|
|
routeur: caillou
|
|
|
|
# UN SEUL NOEUD : le routage des locataires vit dans l'EVPN du noeud (controleur EVPN0031,
|
|
# ASN 65031 — proxmox-hebergeur.yml). Sans commutateur L3, le mode `switch` obligerait la
|
|
# frontiere a porter une interface routee par zone de locataire.
|
|
routage_tenants: sdn
|
|
mtu_overlay: 1450
|
|
acl_inter_tenant: false
|
|
dialecte: binardat
|
|
stp:
|
|
mode: rstp
|
|
topologie: etoile
|
|
|
|
reseaux:
|
|
# LE PLAN D'ADMINISTRATION : un port physique de la frontiere (la LAN du QOTOM), non
|
|
# etiquete. C'est la que vivent le poste de l'exploitant (10.31.0.101), la frontiere (.1)
|
|
# et l'interface d'administration du noeud (.11). Aucune VM n'y nait.
|
|
- nom: management
|
|
nature: fabric
|
|
description: Equipements, frontiere, administration du noeud, poste de l'exploitant
|
|
segment_physique: true
|
|
sous_reseau: 10.31.0.0/24
|
|
passerelle: 10.31.0.1
|
|
mtu: 1500
|
|
|
|
# --- LES ZONES DU SITE — les memes qu'au site de Chezlepro --------------------------
|
|
# Une zone par nature d'autorite ; chacune est un VLAN sur `vmbr1` — le pont des VM, sur
|
|
# la carte 10G (`nic2`), separe de l'administration (`vmbr0` sur `nic0`, decision de
|
|
# Daniel le 2026-10-13) — avec sa patte `.1` sur la frontiere, qui police tout passage
|
|
# d'une zone a l'autre.
|
|
# L'adresse se derive de l'index et du VLAN : 10.31.<vlan>.0/24.
|
|
- nom: site-pilotage
|
|
nature: site
|
|
description: Le runner du SITE — voute de l'underlay, API Proxmox et OPNsense
|
|
vlan: 31
|
|
pont: vmbr1
|
|
mtu: 1500
|
|
- nom: site-autorite
|
|
nature: site
|
|
description: La racine de confiance — step-ca. Compromise, elle forge tout nom.
|
|
vlan: 32
|
|
pont: vmbr1
|
|
mtu: 1500
|
|
- nom: site-genome
|
|
nature: site
|
|
description: La forge et le cache — le code et les binaires dont tout descend
|
|
vlan: 33
|
|
pont: vmbr1
|
|
mtu: 1500
|
|
- nom: site-service
|
|
nature: site
|
|
description: La resolution — ce que toutes les zones interrogent
|
|
vlan: 34
|
|
pont: vmbr1
|
|
mtu: 1500
|
|
- nom: site-sauvegarde
|
|
nature: site
|
|
description: L'etat de TOUS les locataires — la zone la plus concentree du site
|
|
vlan: 35
|
|
pont: vmbr1
|
|
mtu: 1500
|
|
- nom: site-supervision
|
|
nature: site
|
|
description: Le temoin — ce qui sait quand les autres se taisent
|
|
vlan: 36
|
|
pont: vmbr1
|
|
mtu: 1500
|
|
- nom: site-publication
|
|
nature: site
|
|
description: L'edge du SITE et son DNS public — les seules machines faites pour etre JOINTES
|
|
vlan: 37
|
|
pont: vmbr1
|
|
mtu: 1500
|
|
|
|
- nom: transit-frontiere
|
|
nature: fabric
|
|
description: Frontiere nord/sud — lien du noeud ET chemin de sortie des locataires
|
|
vlan: 40
|
|
sous_reseau: 10.0.4.0/24
|
|
passerelle_sortie: 10.0.4.1
|
|
mtu: 1500
|
|
|
|
# Le transport VXLAN : une seule VTEP aujourd'hui, mais l'EVPN en exige une adresse, et
|
|
# un second noeud n'aura qu'a s'y ajouter.
|
|
- nom: underlay-vxlan
|
|
nature: fabric
|
|
description: Transport VXLAN entre VTEP — aucun trafic de gestion
|
|
vlan: 50
|
|
sous_reseau: 10.31.50.0/24
|
|
mtu: 1500
|
|
|
|
# LA FACE PUBLIQUE DU SITE (2026-10-13). Le site n'a qu'une adresse DHCP ; ses trois
|
|
# adresses fixes sont louees sur un VPS d'OVH (le relais) et lui arrivent par ce tunnel,
|
|
# INITIE PAR LA FRONTIERE. Le relais repond a l'ARP d'OVH pour elles et les route en /32
|
|
# dans le tunnel, sans traduction : elles arrivent intactes sur `requin`, qui les porte.
|
|
# Ni VLAN ni port : un tunnel ne traverse aucun commutateur.
|
|
- nom: relais
|
|
nature: fabric
|
|
fabric: relais
|
|
description: Tunnel WireGuard vers le relais OVH — par ou arrivent les adresses publiques
|
|
tunnel: wireguard
|
|
sous_reseau: 10.31.60.0/30
|
|
mtu: 1420
|
|
|
|
# LE LIEN ENTRE LES SITES (2026-10-13) — le tunnel WireGuard entre `bifrost-1` (site de
|
|
# Chezlepro, adresse fixe) et `requin` (site de TechnoLibre, DHCP derriere une traduction
|
|
# d'adresse : c'est LUI qui l'initie). Declare A L'IDENTIQUE dans les deux cartes. Il porte
|
|
# ce que les deux sites se doivent : la replication du DNS public et les sauvegardes
|
|
# croisees — rien d'autre, et rien tant que le devis ne l'a pas declare.
|
|
- nom: inter-sites
|
|
nature: fabric
|
|
fabric: inter-sites
|
|
description: Tunnel WireGuard entre les sites de Chezlepro et de TechnoLibre
|
|
tunnel: wireguard
|
|
sous_reseau: 172.31.0.0/30
|
|
mtu: 1412
|
|
|
|
hotes:
|
|
# Le lien entre les sites — voir le reseau `inter-sites`.
|
|
- { nom: requin, reseau: inter-sites, ip: 172.31.0.1, role: frontiere,
|
|
cle_publique: W3T5BG2exQqLWk19p6GDSu0xY4fSH8jtcRTr8P/xgFA= }
|
|
- { nom: bifrost-1, reseau: inter-sites, ip: 172.31.0.2, role: frontiere_pair,
|
|
site: SITE-Chezlepro, point_arrivee: "69.70.26.62:51820",
|
|
cle_publique: lc440DWd+BZaHrLOobUaZ3OZ1el3ggxnlpelYowQ2mc= }
|
|
|
|
- { nom: caillou, role: switch, reseau: management, ip: 10.31.0.111 }
|
|
|
|
# La frontiere (QOTOM) — hors flotte Ansible. `.1` partout : c'est l'invariant dont le
|
|
# devis derive les regles.
|
|
- { nom: requin, reseau: management, ip: 10.31.0.1, role: frontiere }
|
|
- { nom: requin, reseau: transit-frontiere, ip: 10.0.4.1, role: frontiere }
|
|
- { nom: requin, reseau: site-pilotage, ip: 10.31.31.1, role: frontiere }
|
|
- { nom: requin, reseau: site-autorite, ip: 10.31.32.1, role: frontiere }
|
|
- { nom: requin, reseau: site-genome, ip: 10.31.33.1, role: frontiere }
|
|
- { nom: requin, reseau: site-service, ip: 10.31.34.1, role: frontiere }
|
|
- { nom: requin, reseau: site-sauvegarde, ip: 10.31.35.1, role: frontiere }
|
|
- { nom: requin, reseau: site-supervision, ip: 10.31.36.1, role: frontiere }
|
|
- { nom: requin, reseau: site-publication, ip: 10.31.37.1, role: frontiere }
|
|
# Les CLES PUBLIQUES du tunnel ne sont pas des secrets : chaque bout a besoin de celle de
|
|
# l'autre. Les cles privees restent, l'une dans OPNsense, l'autre dans la voute du site
|
|
# (`vault_relais_wg_cle_privee`), pour que le relais se reconstruise sans changer de cle.
|
|
- { nom: requin, reseau: relais, ip: 10.31.60.2, role: frontiere,
|
|
cle_publique: mScwuAKruvArh8+WQuCO7I/sad26BBqyUTxjQ2I+/mM= }
|
|
|
|
# Le relais — VPS OVH, Debian 13, administre par Set-OPS (role `serveur_relais`). Sa
|
|
# console SSH reste sur son adresse propre ; les trois adresses relayees n'y sont pas
|
|
# attribuees (proxy ARP). Son port d'ecoute derive de l'index : 51800 + 31.
|
|
- { nom: relais, reseau: relais, ip: 10.31.60.1, role: relais, console: 15.235.101.239,
|
|
cle_publique: CC6qpkjcMAemkvZkD9URE8IO7CH3VFqGcXkU2rwvkRU= }
|
|
|
|
# Le noeud — ASUS Z10PE-D16 WS, deux processeurs, 2 x 128 Go. Deux cartes, deux roles
|
|
# (releve du 2026-10-13) : `nic0` (1G) porte `vmbr0`, l'administration seule ; `nic2`
|
|
# (10G) porte `vmbr1`, VLAN-aware et sans adresse, ou vivent les VLAN des VM.
|
|
- { nom: maurice, reseau: management, ip: 10.31.0.11, role: hyperviseur, via: vmbr0 }
|
|
- { nom: maurice, reseau: underlay-vxlan, ip: 10.31.50.11, role: hyperviseur, via: vmbr1 }
|
|
- { nom: maurice, reseau: transit-frontiere, ip: 10.0.4.11, role: hyperviseur, via: vmbr1 }
|
|
|
|
# Les machines du site naissent du gabarit du PLAN DU SITE (plan/10-intrants.yml), en
|
|
# clones complets, sur le NVMe du noeud (`nvme`, LVM-thin, ~460 Go) — decision de Daniel le
|
|
# 2026-10-13. `local-lvm` (130 Go, sur le SSD du systeme) ne les aurait pas tenues.
|
|
# `site-backup-01` deroge : il vit sur `miroir` (ZFS, 2 x 12 To) — plan/serveurs.yml.
|
|
materialisation:
|
|
stockage: nvme
|
|
clone_complet: true
|