- 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>
8.5 KiB
La première heure — adresses et comptes
Pour qui : l'exploitant, devant le matériel de TechnoLibre, avant tout déploiement.
Proxmox et OPNsense sont déjà installés. Ce document ne fait qu'une chose : leur donner les bonnes adresses et les comptes dont Set-OPS a besoin pour agir. Rien n'est déployé ici ; on rend seulement les deux machines joignables et pilotables.
L'ordre n'est pas indifférent. La frontière porte la passerelle de chaque zone : si elle n'est pas posée, le nœud aura des adresses qui ne mènent nulle part, et le diagnostic parlera de réseau alors qu'il s'agira d'une patte manquante.
0 · Se poser sur son réseau d'administration
Le poste est branché sur caillou, carte filaire en 10.31.0.101/24 — c'est de là que
tout se fait. De cette adresse on atteint la frontière (.1), le nœud (.11) et, plus
tard, le rebond vers les machines du site.
À relever avant : l'adresse actuelle des deux machines, pour pouvoir y revenir si une manœuvre coupe l'accès.
1 · La frontière — requin
1.1 Les neuf pattes
Une par zone, plus le plan d'administration et le transit. Le dernier octet est toujours
.1 : c'est l'invariant dont le devis dérive les règles.
| Interface | VLAN | Adresse | Ce qu'elle sert |
|---|---|---|---|
| administration | — | 10.31.0.1/24 |
le poste de l'exploitant, le rebond |
| transit | 40 | 10.0.4.1/24 |
la sortie des locataires |
| pilotage | 31 | 10.31.31.1/24 |
le runner du site |
| autorité | 32 | 10.31.32.1/24 |
l'autorité de certification |
| génome | 33 | 10.31.33.1/24 |
la forge et le cache |
| service | 34 | 10.31.34.1/24 |
les noms |
| sauvegarde | 35 | 10.31.35.1/24 |
le dépôt |
| supervision | 36 | 10.31.36.1/24 |
le témoin |
| publication | 37 | 10.31.37.1/24 |
l'edge et le DNS public du site |
Le câblage du 2026-10-13 : deux ports, deux rôles.
igc0(LAN, 2,5G) : l'administration seule,10.31.0.1/24, branchée surcaillou(VLAN 1 non étiqueté). Aucun VLAN de zone n'y est posé.ix0(SFP+ 10G, non assigné) : branché sur un SFP+ decaillou, commenic2demaurice(vmbr1) — le chemin des zones estix0→caillou→nic2. Les pattes des zones sont des interfaces VLAN posées surix0:vlan031àvlan037, etvlan040pour le transit (OPNsense impose le préfixevlan0).caillouporte aussi le VLAN 40. Assignées le 2026-10-13 :opt1=vlan040,opt2àopt8=vlan031àvlan037;ix0lui-même n'est plus assigné. Non étiqueté,ix0est dans le VLAN 1 decaillou, celui de l'administration : il ne reçoit pas d'adresse.
caillou est déjà réglé : on n'y touche pas.
1.2 Relever les noms d'interface — le piège du jour
Dans Interfaces → Assignments, noter le nom optN attribué à chacune des neuf,
transit compris.
Le devis raisonne en arrivée : une règle posée sur la mauvaise patte ne correspond jamais, et rien ne le signale. Ces dix noms vont dans
opnsense.yml, et ils doivent être exacts.
1.3 Le compte d'API
System → Access → Users → nouvel utilisateur ansible, puis api keys → créer.
Le fichier téléchargé contient la clé et le secret.
Ils vont dans la voûte, jamais 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
→ vault_opnsense_api_key et vault_opnsense_api_secret, déjà déclarés vides.
1.4 L'accès SSH
Le rebond vers les machines du site passe par la frontière, et frontiere_pki.py y lit
config.xml par sudo. Dans System → Access → Users, l'utilisateur ansible (le même
que celui de l'API) reçoit :
- Login shell :
/bin/sh; - Group membership :
admins; - Authorized keys : cette clé publique :
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICf8ecGQ555LuTDaFaqzc3SG+wy0Y8ECqmsIRxemc0dM Cle ansible pour le royaume technolibre
Puis, dans System → Settings → Administration :
- Secure Shell : activé, sur l'interface LAN seulement ; connexion root refusée, mot de passe refusé (clé seulement) ;
- Sudo :
No password, pour le groupeadmins.
Vérifier ensuite, depuis le poste :
ssh ansible@10.31.0.1 'echo ok; sudo -n true && echo "sudo ok"'
2 · Le nœud — maurice
2.1 Le nom d'hôte
maurice (posé à l'installation) — c'est ce que le plan déclare, et l'API l'utilise comme
identifiant dans ses chemins. Un autre nom oblige à corriger proxmox-hebergeur.yml.
2.2 Les adresses
Deux ponts, une carte chacun :
| Pont | Carte | Rôle | Adresse |
|---|---|---|---|
vmbr0 |
nic0 (1G) |
administration seule | 10.31.0.11/24 — passerelle 10.31.0.1 |
vmbr1 |
nic2 (10G) |
les VLAN des VM (31 à 37) | aucune |
Sur vmbr1, plus tard : le transit (VLAN 40, 10.0.4.11/24) et le transport VXLAN
(VLAN 50, 10.31.50.11/24).
vmbr1doit être VLAN aware : sans cela les VLAN des zones ne traverseront pas, et les VM naîtront sur un réseau muet.
2.3 Le 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
Le secret n'est affiché qu'une fois. Il va dans la voûte, sous
proxmox_api_token_id et proxmox_api_token_secret.
Sur
Administrator, autant le dire franchement. Le minimum estVM.Allocate,VM.Clone,VM.Config.*,Datastore.AllocateSpaceet les droits SDN. Mais l'outil crée aussi des objets réseau et détruit des VM : partir large le premier jour évite de courir après des403pendant le déploiement. Le resserrer ensuite est un rôle sur mesure, dix minutes — et c'est un geste à faire, pas une intention.
2.4 Le compte ansible du nœud
L'API ne fait pas tout : le SDN, le pare-feu du nœud et ses métriques se posent par SSH.
Même compte qu'au site de Chezlepro — ansible, par clé, sudo sans mot de passe :
apt install -y sudo
useradd -m -s /bin/bash ansible
install -d -m 700 -o ansible -g ansible /home/ansible/.ssh
echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICf8ecGQ555LuTDaFaqzc3SG+wy0Y8ECqmsIRxemc0dM Cle ansible pour le royaume technolibre' \
> /home/ansible/.ssh/authorized_keys
chown ansible:ansible /home/ansible/.ssh/authorized_keys
chmod 600 /home/ansible/.ssh/authorized_keys
echo 'ansible ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/ansible
chmod 440 /etc/sudoers.d/ansible
visudo -cf /etc/sudoers.d/ansible
Vérifier depuis le poste :
ssh -i ~/.ssh/id_ed25519_ansible_technolibre ansible@10.31.0.11 'hostname; sudo -n true && echo "sudo ok"'
Attendu : maurice, puis sudo ok.
2.5 Le gabarit doré
Depuis la clé USB, dossier gabarits/ :
qmrestore vzdump-qemu-9006-*.vma.zst 9006 --storage nvme
qm template 9006
qm config 9006 | grep -E '^(name|machine|bios|template)'
Attendu : name=modeleSetOPS-minimal, machine=q35, bios=ovmf, template=1.
--storageest obligatoire : le disque vient d'un Ceph qui n'existe pas ici. Etqm templateest ce qui rend la VM clonable — sans lui, le clonage refusera.
2.6 Mesurer avant de matérialiser
vgs ; df -h
Les neuf machines du site demandent 816 Go en clones complets : 416 Go sur nvme, et
les 400 Go de site-backup-01 sur miroir. Chaque locataire repris demande environ 460 Go
de plus — il ne tiendra pas sur le NVMe, et devra aller sur miroir.
3 · Renseigner ce qu'on a relevé
Dans opnsense.yml — les dix noms d'interface et les deux adresses de la frontière.
Dans la voûte — les quatre jetons.
Puis, depuis Set-OPS-public avec le lien underlay.yml pointant sur ce site :
make site-intrants # ce que le site exposera à ses locataires
python3 scripts/devis_reseau.py # ce qu'il faut poser sur le commutateur
python3 scripts/devis_sdn.py --verifier
Ce qui est déjà décidé, et qu'il suffit de confirmer
| Index du site | 31 |
| Domaine | socle.internal |
| Routage des locataires | sdn — EVPN sur le nœud, ASN 65031, contrôleur EVPN0031 |
| Ponts | vmbr0 (administration, nic0) ; vmbr1 (VM, nic2), VLAN-aware |
| Stockage | nvme (LVM-thin, NVMe 465 Go) pour les VM ; miroir (ZFS, 2 × 12 To) pour site-backup-01 |
| Gabarit | 9006 — 99998 est son précédent, jamais cloné |
Quatorze des dix-huit secrets du site sont déjà engendrés. Les quatre restants sont les jetons ci-dessus.