niveau 3 : la meme organisation que SITE-Chezlepro, commutateur compris
Il y a bien un commutateur entre la fabric et la frontiere, comme a Chezlepro. `routeur` portait `portail` — la frontiere — parce qu on avait cru le contraire. - routeur : arche-1, le commutateur ; la frontiere ne fait que la bordure nord/sud - grappe-controle (vlan 1, 10.31.1.0/24) : l interface web et l API de Proxmox, a la meme place qu a Chezlepro. `proxmox_api_host` y pointe desormais. - underlay-vxlan (vlan 50, 10.31.50.0/24) : exige par `routage_tenants: sdn`, et il manquait. Adresse derive de l index du site, pas repris de Chezlepro (192.168.50) : les deux sites ont vocation a etre relies. - les hotes : le noeud sur ses quatre pattes, le commutateur, la passerelle amont `routage_tenants` reste `sdn` — c est aussi ce que fait Chezlepro. Verifie : le devis reseau vise arche-1 et emet les VLAN 1, 31-36, 40, 50 avec ZERO SVI, exactement la forme de Chezlepro ; le devis SDN est conforme, 1 zone, 6 VNets, aucune collision. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
This commit is contained in:
parent
f9d14e6447
commit
f69aea775f
2 changed files with 55 additions and 36 deletions
|
|
@ -15,11 +15,13 @@
|
||||||
# frontiere sans route de retour vers le locataire. Mesure faite avant la visite, pas
|
# frontiere sans route de retour vers le locataire. Mesure faite avant la visite, pas
|
||||||
# pendant.
|
# pendant.
|
||||||
---
|
---
|
||||||
# UNE ADRESSE, PAS UN NOM DE NOEUD. `atelier` ne resout ni depuis le poste de l'exploitant
|
# UNE ADRESSE, PAS UN NOM DE NOEUD — et celle du plan de controle (`grappe-controle`),
|
||||||
|
# pas celle de gestion : c est la patte ou l interface web et l API de Proxmox ecoutent,
|
||||||
|
# comme chez Chezlepro. `atelier` ne resout ni depuis le poste de l'exploitant
|
||||||
# ni depuis le runner : seuls les hyperviseurs connaissent ce nom, par leur /etc/hosts. Les
|
# ni depuis le runner : seuls les hyperviseurs connaissent ce nom, par leur /etc/hosts. Les
|
||||||
# NOEUDS gardent leurs noms plus bas — ce sont des identifiants dans les chemins d'API, pas
|
# NOEUDS gardent leurs noms plus bas — ce sont des identifiants dans les chemins d'API, pas
|
||||||
# des points de contact.
|
# des points de contact.
|
||||||
proxmox_api_host: 10.31.0.41
|
proxmox_api_host: 10.31.1.41
|
||||||
proxmox_api_port: '8006'
|
proxmox_api_port: '8006'
|
||||||
proxmox_api_user: ansible@pve
|
proxmox_api_user: ansible@pve
|
||||||
|
|
||||||
|
|
|
||||||
81
underlay.yml
81
underlay.yml
|
|
@ -22,48 +22,31 @@ underlay:
|
||||||
tenants:
|
tenants:
|
||||||
OPS-Technolibre: 23
|
OPS-Technolibre: 23
|
||||||
|
|
||||||
# CE QUI ROUTE ENTRE LES ZONES D'UN LOCATAIRE — TRANCHÉ LE 2026-09-13.
|
# CE QUI ROUTE ENTRE LES ZONES D'UN LOCATAIRE — `sdn`, COMME CHEZLEPRO.
|
||||||
#
|
#
|
||||||
# Deux modes existent :
|
# En EVPN, le routage ET le filtrage inter-zone d'un locataire vivent sur le nœud :
|
||||||
# `switch` : un commutateur porte les SVI et les ACL (mode par défaut du moteur)
|
# aucun VLAN de locataire ne circule sur le fil, seulement du VXLAN encapsulé. Le devis
|
||||||
# `sdn` : EVPN sur le nœud, un VRF par locataire
|
# switch cesse alors d'émettre VLAN de locataire, SVI et ACL — vérifié le 2026-09-13 :
|
||||||
|
# sept VLAN émis (les six du site plus le transit), zéro SVI.
|
||||||
#
|
#
|
||||||
# ICI IL N'Y A PAS DE COMMUTATEUR DE NIVEAU 3. Entre le nœud et l'OPNsense, il n'y a
|
# L'inter-locataire, lui, sort du VRF et passe par la frontière, qui le police.
|
||||||
# qu'un lien. En mode `switch`, le seul équipement capable de porter les SVI serait
|
|
||||||
# donc la frontière elle-même : il faudrait lui ajouter SIX interfaces VLAN de plus —
|
|
||||||
# celles du locataire — en plus de ses six pattes de site, et vérifier à la main les
|
|
||||||
# ACL entre elles. Douze interfaces sur une machine, pour un écosystème.
|
|
||||||
#
|
|
||||||
# En `sdn`, le routage ET le filtrage inter-zone du locataire vivent SUR LE NŒUD.
|
|
||||||
# Aucun VLAN de locataire ne circule sur le fil, la frontière ne voit que le transit,
|
|
||||||
# et le moteur sait déjà poser tout ça (`appliquer_sdn`). L'inter-locataire, lui,
|
|
||||||
# sort du VRF et passe par la frontière, qui le police.
|
|
||||||
#
|
|
||||||
# L'OBJECTION — « EVPN sur un seul nœud, c'est un maillage sans pair » — est réelle
|
|
||||||
# mais se retourne : un VTEP unique n'a AUCUNE session à établir, là où le mode
|
|
||||||
# `switch` demanderait de configurer et d'éprouver douze interfaces routées. La
|
|
||||||
# complexité qu'on croyait éviter était de l'autre côté.
|
|
||||||
#
|
|
||||||
# C'est aussi le mode qu'exerce Chezlepro : mêmes chemins de code, mêmes devis.
|
|
||||||
routage_tenants: sdn
|
routage_tenants: sdn
|
||||||
|
|
||||||
# LA FRONTIÈRE ROUTE TOUT — il n'y a pas d'autre équipement de niveau 3 sur ce site.
|
# LE COMMUTATEUR, ET C'EST UNE CORRECTION (2026-09-13). Ce champ portait `portail`, la
|
||||||
# Le champ accepte « le commutateur, ou la frontière si elle route tout » : c'est le
|
# frontière, parce qu'on avait cru qu'il n'y avait rien entre la fabric et l'OPNsense.
|
||||||
# second cas.
|
# Il y a bien un commutateur — comme à Chezlepro, et à la même place. C'est lui qui
|
||||||
routeur: portail
|
# porte l'underlay ; la frontière ne fait que la bordure nord/sud.
|
||||||
|
routeur: arche-1
|
||||||
|
|
||||||
# Sans commutateur, le dialecte ne commande presque rien (le devis switch n'émet plus
|
|
||||||
# ni VLAN de locataire, ni SVI, ni ACL en mode `sdn`). On garde celui de la flotte,
|
|
||||||
# pour qu'un exploitant qui passe d'un site à l'autre lise la même forme.
|
|
||||||
dialecte: binardat
|
dialecte: binardat
|
||||||
|
|
||||||
mtu_overlay: 1450
|
mtu_overlay: 1450
|
||||||
|
|
||||||
# UN SEUL LOCATAIRE, ET L'INTER-LOCATAIRE PASSE DÉJÀ PAR LA FRONTIÈRE. Rien à lier à
|
# UN SEUL LOCATAIRE POUR L'INSTANT, et l'inter-locataire passe déjà par la frontière.
|
||||||
# une interface de routage qui n'existe pas. À revoir le jour où un deuxième
|
# Même valeur qu'à Chezlepro. À revoir le jour où un deuxième écosystème s'installe.
|
||||||
# écosystème s'installe ici — ce sera alors un geste, pas un effet de bord.
|
|
||||||
acl_inter_tenant: false
|
acl_inter_tenant: false
|
||||||
|
|
||||||
|
# `rstp` plutôt que `mstp` : un seul commutateur, donc aucune instance par VLAN à
|
||||||
|
# distinguer. La topologie reste l'étoile de Chezlepro — un centre, des feuilles.
|
||||||
stp:
|
stp:
|
||||||
mode: rstp
|
mode: rstp
|
||||||
topologie: etoile
|
topologie: etoile
|
||||||
|
|
@ -80,6 +63,17 @@ underlay:
|
||||||
sous_reseau: 10.31.0.0/24
|
sous_reseau: 10.31.0.0/24
|
||||||
mtu: 1500
|
mtu: 1500
|
||||||
|
|
||||||
|
# LE PLAN DE CONTRÔLE DE PROXMOX — interface web et API du nœud.
|
||||||
|
# Chezlepro le porte sur `vmbr0` en VLAN 1 ; même place ici. C'est l'adresse que
|
||||||
|
# `proxmox-hebergeur.yml` désigne comme point de contact, et la seule que le poste
|
||||||
|
# de l'exploitant doit joindre pour matérialiser des VM.
|
||||||
|
- nom: grappe-controle
|
||||||
|
description: Interface web Proxmox et API du nœud
|
||||||
|
vlan: 1
|
||||||
|
sous_reseau: 10.31.1.0/24
|
||||||
|
pont: vmbr0
|
||||||
|
mtu: 1500
|
||||||
|
|
||||||
# LIEN VERS LA FRONTIÈRE. Sans lui, la flotte n'a ni sortie ni chemin de retour :
|
# LIEN VERS LA FRONTIÈRE. Sans lui, la flotte n'a ni sortie ni chemin de retour :
|
||||||
# elle serait routée jusqu'à la bordure puis muette — très difficile à diagnostiquer.
|
# elle serait routée jusqu'à la bordure puis muette — très difficile à diagnostiquer.
|
||||||
- nom: transit-frontiere
|
- nom: transit-frontiere
|
||||||
|
|
@ -100,11 +94,34 @@ underlay:
|
||||||
- { nom: site-sauvegarde, description: Dépôt de sauvegarde mutualisé, vlan: 35, sous_reseau: 10.31.35.0/24, pont: vmbr0, mtu: 1500 }
|
- { nom: site-sauvegarde, description: Dépôt de sauvegarde mutualisé, vlan: 35, sous_reseau: 10.31.35.0/24, pont: vmbr0, mtu: 1500 }
|
||||||
- { nom: site-supervision, description: Supervision et observabilité, vlan: 36, sous_reseau: 10.31.36.0/24, pont: vmbr0, mtu: 1500 }
|
- { nom: site-supervision, description: Supervision et observabilité, vlan: 36, sous_reseau: 10.31.36.0/24, pont: vmbr0, mtu: 1500 }
|
||||||
|
|
||||||
|
# TRANSPORT DU VXLAN ENTRE VTEP. Exigé par `routage_tenants: sdn` — c'est le réseau
|
||||||
|
# dans lequel les tunnels des locataires sont encapsulés. Il ne porte JAMAIS de
|
||||||
|
# trafic de gestion, et aucune machine de locataire ne le voit.
|
||||||
|
#
|
||||||
|
# Chezlepro l'adresse en 192.168.50.0/24 ; ici il DÉRIVE de l'index du site, comme
|
||||||
|
# tout le reste. Les deux sites ont vocation à être reliés : deux transports VXLAN
|
||||||
|
# au même adressage produiraient une panne dont le message ne parle pas d'adressage.
|
||||||
|
- nom: underlay-vxlan
|
||||||
|
description: Transport VXLAN entre VTEP — aucun trafic de gestion
|
||||||
|
vlan: 50
|
||||||
|
sous_reseau: 10.31.50.0/24
|
||||||
|
mtu: 1500
|
||||||
|
|
||||||
hotes:
|
hotes:
|
||||||
# L'UNIQUE NŒUD. `via` = l'interface physique qui porte le trunk vers la frontière.
|
# L'UNIQUE NŒUD. `via` = l'interface physique qui porte le trunk vers la frontière.
|
||||||
|
- { nom: atelier, reseau: grappe-controle, ip: 10.31.1.41, role: hyperviseur, via: vmbr0 }
|
||||||
- { nom: atelier, reseau: management, ip: 10.31.0.41, role: hyperviseur }
|
- { nom: atelier, reseau: management, ip: 10.31.0.41, role: hyperviseur }
|
||||||
|
- { nom: atelier, reseau: underlay-vxlan, ip: 10.31.50.41, role: hyperviseur, via: <<IFACE>> }
|
||||||
- { nom: atelier, reseau: transit-frontiere, ip: 10.0.4.41, role: hyperviseur, via: <<IFACE>> }
|
- { nom: atelier, reseau: transit-frontiere, ip: 10.0.4.41, role: hyperviseur, via: <<IFACE>> }
|
||||||
|
|
||||||
|
# LE COMMUTATEUR, entre la fabric et la frontière. Une seule patte, sur le plan de
|
||||||
|
# gestion : c'est par là qu'on le configure, et le devis n'a pas besoin d'autre chose.
|
||||||
|
- { nom: arche-1, reseau: management, ip: 10.31.0.3, role: switch }
|
||||||
|
|
||||||
|
# LA PASSERELLE AMONT — la boîte du fournisseur d'accès, en amont de la frontière.
|
||||||
|
# Déclarée pour que le devis sache où s'arrête notre responsabilité.
|
||||||
|
- { nom: routeur-site, reseau: grappe-controle, ip: 10.31.1.254, role: passerelle_amont }
|
||||||
|
|
||||||
# LA FRONTIÈRE, patte par patte. Une ligne par zone qu'elle sert : c'est de là que
|
# LA FRONTIÈRE, patte par patte. Une ligne par zone qu'elle sert : c'est de là que
|
||||||
# le devis dérive les interfaces d'arrivée des règles (D-61 raisonne en ARRIVÉE).
|
# le devis dérive les interfaces d'arrivée des règles (D-61 raisonne en ARRIVÉE).
|
||||||
- { nom: portail, reseau: management, ip: 10.31.0.1, role: frontiere }
|
- { nom: portail, reseau: management, ip: 10.31.0.1, role: frontiere }
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue