đïž Olympus Lab - Infrastructure complĂšte opĂ©rationnelle
Aujourd'hui marque l'achÚvement de l'infrastructure Olympus Lab, mon homelab DevOps personnel. AprÚs plusieurs semaines de travail, j'ai enfin une plateforme complÚte pour apprendre et expérimenter en toute sécurité.
đŻ Le contexteâ
Je suis actuellement en alternance chez ARPEGE à Nantes en tant qu'étudiante DevOps (TSSR à l'ESGI). Mon apprentissage se concentre sur :
- Ansible pour l'automatisation
- GitLab CI/CD pour les pipelines
- Docker & Kubernetes pour la conteneurisation
- Oracle Cloud Infrastructure pour le déploiement
Mais pour vraiment maĂźtriser ces technologies, j'avais besoin d'un environnement oĂč je peux casser, reconstruire, expĂ©rimenter sans limites. D'oĂč Olympus Lab ! đïž
đïž Architecture finaleâ
Le setup physiqueâ
Machine : Lenovo ThinkCentre M710S
- CPU : Intel i5 (suffisant pour commencer)
- RAM : 16 GB (Ă upgrader plus tard)
- Stockage : SSD pour l'OS, HDD pour les VMs
- Réseau : 1 Gbps vers la box Internet
Les composants logicielsâ
1. Proxmox VE (Atlas dans ma nomenclature)â
L'hyperviseur qui fait tourner tout le reste. J'ai configuré 5 bridges réseau :
vmbr0: WAN (192.168.1.0/24) - Connexion Internetvmbr1: LAN (10.0.1.0/24) - Productionvmbr2: DMZ (10.0.2.0/24) - Services exposésvmbr3: DEV (10.0.3.0/24) - Environnement de testvmbr4: MGMT (10.0.4.0/24) - Administration
2. OPNsense (Olympus - VM 100)â
Le firewall FreeBSD qui gÚre toute la segmentation réseau. Configuration :
- 5 interfaces réseau (1 par bridge)
- RĂšgles firewall strictes avec isolation complĂšte
- DHCP sur chaque réseau
- DNS forwarding vers Cloudflare (1.1.1.1)
3. Cloudflare Tunnel (Hermes - Container 202)â
Le messager qui me permet d'accĂ©der Ă mon homelab depuis n'importe oĂč. Ubuntu 24.04 LXC avec cloudflared :
- 256 MB RAM (ultra léger)
- Tunnel chiffré vers Cloudflare Edge
- Zéro port ouvert sur ma box Internet
- Authentification Zero Trust avec Cloudflare Access
đ Segmentation rĂ©seauâ
Le point le plus important : l'isolation des réseaux.
âââââââââââââââââââââââââââââââââââââââââââââââ
â Internet â
ââââââââââââââââââââŹâââââââââââââââââââââââââââ
â WAN (192.168.1.0/24)
ââââââââŒâââââââ
â OPNsense â â Firewall central
â (Olympus) â
ââââââââŹâââââââ
âââââââââââââŒââââââââââââŹââââââââââ
â â â â
âââââŒââââ ââââŒâââ âââââŒâââ ââââŒââââ
â LAN â â DMZ â â DEV â â MGMT â
â Prod â â Web â â Test â âAdmin â
âââââââââ âââââââ ââââââââ ââââââââ
Les rĂšgles qui changent toutâ
LAN (Production) :
- â AccĂšs Internet
- â Communication interne au LAN
- â AccĂšs aux autres rĂ©seaux (DMZ, DEV, MGMT)
DMZ (Services exposés) :
- â AccĂšs Internet uniquement
- â Aucun accĂšs aux rĂ©seaux internes
DEV (Développement) :
- â AccĂšs Internet uniquement
- â Aucun accĂšs aux rĂ©seaux internes
MGMT (Administration) :
- â AccĂšs partout (pour gĂ©rer l'infrastructure)
Pourquoi c'est important ? Si je fais une erreur en DEV ou si un service en DMZ est compromis, l'attaquant ne peut pas rebondir vers la production. C'est le principe de Defense in Depth.
đ SĂ©curitĂ© multi-couchesâ
Couche 1 : Cloudflare Edgeâ
- Protection DDoS automatique
- WAF (Web Application Firewall)
- Filtrage géographique possible
Couche 2 : Cloudflare Access (Zero Trust)â
- Authentification obligatoire par email
- Code OTP Ă usage unique
- Logs d'audit de toutes les connexions
- Session limitée à 24h
Couche 3 : Cloudflare Tunnelâ
- Connexion chiffrée sortante uniquement
- Aucun port ouvert sur ma box
- IP publique cachée
- Impossible de scanner mon réseau depuis Internet
Couche 4 : OPNsense Firewallâ
- Firewall stateful (pf de FreeBSD)
- Default Deny : tout bloqué par défaut
- RÚgles granulaires par réseau
- Logs de toutes les tentatives bloquées
Couche 5 : Services individuelsâ
- 2FA sur Proxmox (TOTP)
- 2FA sur OPNsense (Google Authenticator)
- Mots de passe forts (20+ caractĂšres)
- Clés SSH pour l'authentification
âïž AccĂšs distant sans port forwardingâ
Le gros challenge : comment accéder à mon homelab depuis chez mes parents en décembre ?
Solution classique : Port forwarding (ouvrir le port 51820 pour WireGuard)
- â Port ouvert = surface d'attaque
- â IP publique exposĂ©e
- â Risque de scan et brute force
Ma solution : Cloudflare Tunnel
- â Connexion sortante uniquement (aucun port ouvert)
- â IP publique masquĂ©e
- â Authentification obligatoire
- â Gratuit !
Services accessiblesâ
J'ai configuré trois points d'accÚs via Cloudflare Tunnel :
- Interface de virtualisation : Gestion des VMs et containers
- Interface du firewall : Configuration des rÚgles réseau
- AccĂšs SSH : Administration en ligne de commande
Tous protégés par Cloudflare Access avec authentification obligatoire (email + code OTP).
Exemple d'utilisation SSH :
# Sur mon laptop, n'importe oĂč dans le monde
ssh homelab-ssh
# Cloudflare ouvre le navigateur pour l'authentification
# Code OTP par email
# Connexion Ă©tablie â
Note de sécurité : Les URLs exactes ne sont pas publiées publiquement. Prochaine étape : Activation du 2FA sur tous les services (en cours).
đ Documentation complĂšteâ
Tout est documenté sur docs.olympus-lab.org avec Docusaurus :
- Architecture : Vue d'ensemble, diagrammes réseau
- Proxmox : Configuration, bridges, VMs, containers
- OPNsense : Firewall, rÚgles détaillées, DHCP, NAT
- Cloudflare Tunnel : Setup, configuration, troubleshooting
- Sécurité : RÚgles firewall expliquées, threat model
- Procédures : AccÚs distant, maintenance, backups
La doc est hébergée sur GitHub Pages avec déploiement automatique via GitHub Actions. Chaque git push met à jour le site.
đ ïž Les galĂšres et apprentissagesâ
ProblĂšme 1 : Changement de hostname Proxmoxâ
J'ai voulu renommer fox-factory en atlas (nomenclature mythologique grecque). Grosse erreur ! Proxmox garde les références au nom original dans /etc/pve/, qui est un filesystem cluster spécial.
RĂ©sultat : Tous mes containers et VMs ont disparu de l'interface ! đ±
Solution : Revenir à fox-factory en interne, utiliser atlas uniquement dans la doc publique. Leçon apprise : ne jamais renommer un node Proxmox en production.
ProblĂšme 2 : Container Cloudflare Tunnel perduâ
Lors des tentatives de renommage, le disque du container 202 a été supprimé. Heureusement, j'avais un backup du dossier /etc/cloudflared/ !
Solution : RecrĂ©er le container from scratch, restaurer la config. 10 minutes et c'Ă©tait reparti. Les backups sauvent des vies ! đŸ
ProblĂšme 3 : Tailscale subnet routingâ
J'ai essayé Tailscale pour l'accÚs distant. Installation ultra simple, mais le subnet routing ne fonctionnait pas : impossible d'accéder à OPNsense (10.0.1.1) depuis mon laptop.
Pourquoi ? Tailscale donne accĂšs au rĂ©seau de la machine oĂč il est installĂ© (192.168.1.x), pas aux rĂ©seaux virtuels internes (10.0.x.x).
Solution : Passer à Cloudflare Tunnel qui est conçu pour exposer des services internes, pas pour créer un VPN mesh.
ProblĂšme 4 : Certificats SSL auto-signĂ©sâ
Proxmox et OPNsense utilisent des certificats auto-signés. Les navigateurs affichent des warnings.
Solution temporaire : Accepter le risque (je sais que c'est mon propre serveur).
Solution future : Générer des vrais certificats Let's Encrypt via Cloudflare DNS challenge ou ACME.
đ Stack technique complĂšteâ
| Composant | Technologie | Version |
|---|---|---|
| Hyperviseur | Proxmox VE | 8.x |
| Firewall | OPNsense | 24.7 |
| Tunnel | Cloudflare Tunnel | Latest |
| OS Containers | Ubuntu | 24.04 LTS |
| Documentation | Docusaurus | 3.x |
| Hosting Doc | GitHub Pages | - |
| Domaine | Cloudflare | olympus-lab.org |
| DNS | Cloudflare | 1.1.1.1 |
CoĂ»t total : ~12âŹ/an (juste le domaine, tout le reste est gratuit !)
đ Prochaines Ă©tapesâ
DĂ©cembre 2025 (chez mes parents)â
- Tester l'accÚs distant en conditions réelles
- Commencer Python (Automate the Boring Stuff)
- Continuer Practical Networking (cours en ligne)
- Expérimenter dans le réseau DEV
Janvier 2026 (retour Ă Nantes)â
- Déployer GitLab CE en LAN pour le CI/CD
- Installer Pi-hole pour le DNS local + blocage pub
- Setup Prometheus + Grafana pour le monitoring
- Configurer les backups automatiques (Proxmox Backup Server ?)
Q1 2026â
- Apprendre WireGuard (dans des VMs de test)
- Déployer un cluster K3s en DEV
- Automatiser avec Ansible (playbooks pour tout)
- Ajouter un deuxiĂšme node Proxmox (si budget)
Long termeâ
- Certifications : AWS, Azure, Kubernetes
- Contribuer Ă des projets open source
- Documenter et partager mes apprentissages
đ RĂ©flexionsâ
Ce que j'ai apprisâ
Networking : Avant ce projet, les VLANs et la segmentation réseau étaient abstraits. Maintenant, je comprends vraiment comment fonctionne un firewall, le NAT, le routing, les ACLs. J'ai cassé des choses, debuggé pendant des heures, et c'est comme ça qu'on apprend vraiment.
Sécurité : Le principe de Defense in Depth n'est pas juste théorique. Chaque couche compte. Si j'avais juste fait du port forwarding basique, j'aurais un point d'entrée unique. Maintenant, pour atteindre mes services, il faut :
- Passer Cloudflare Edge (DDoS protection)
- S'authentifier via Access (email + OTP)
- Traverser le tunnel chiffré
- Passer le firewall OPNsense
- S'authentifier sur le service final
Infrastructure as Code : Documenter tout dans Docusaurus me force Ă comprendre ce que je fais. Si je ne peux pas l'expliquer clairement dans la doc, c'est que je ne le comprends pas vraiment. La doc devient aussi un backup de ma connaissance.
Ăchecs = Apprentissage : J'ai cassĂ© mon infrastructure plusieurs fois. Chaque fois, j'ai appris :
- L'importance des backups
- Comment débugger méthodiquement
- La valeur de la documentation
- Qu'il faut tester avant de modifier la prod
Pourquoi un homelab en 2025 ?â
Certains diraient : "Pourquoi ne pas juste utiliser AWS ou Azure ?"
Ma réponse :
- Je veux comprendre comment ça marche en dessous
- Les clouds abstraient trop de choses
- Un homelab, c'est gratuit (aprĂšs l'investissement initial)
- Je peux casser sans craindre une facture de 500âŹ
- C'est mon labo, mes rÚgles, mes expérimentations
En alternance, je travaille sur Oracle Cloud et GitLab. Mais dans mon homelab, je peux tout essayer : k3s, Ansible, Terraform, Prometheus, sans limite.
đ Pour les dĂ©butants qui lisent çaâ
Si tu débutes en DevOps et que tu veux créer ton homelab :
Commence petitâ
- Une seule VM suffit au début
- Pas besoin de segmentation réseau complexe
- Apprends Proxmox ou VirtualBox d'abord
Documente toutâ
- Prends des notes
- Capture des screenshots
- Ăcris les commandes que tu utilises
- Future toi te remerciera
Casse des chosesâ
- Les erreurs sont tes meilleures profs
- Fais des snapshots avant de modifier
- Teste dans un environnement isolé (DEV)
Apprends les basesâ
- Networking : Comprends IP, subnets, routing, NAT
- Linux : CLI, permissions, services systemd
- Virtualisation : Concepts de VMs, containers, hyperviseurs
SĂ©curitĂ© d'abordâ
- Jamais de port forwarding sans réfléchir
- Toujours des mots de passe forts
- 2FA partout oĂč c'est possible
- Backups réguliers
đ MĂ©triquesâ
Depuis le début du projet :
- Temps investi : ~40 heures (configuration, debug, doc)
- Erreurs commises : Trop pour compter (c'est ça apprendre !)
- Services déployés : 3 (Proxmox, OPNsense, Cloudflare Tunnel)
- Lignes de doc : ~3000 (7 fichiers Markdown)
- Commits Git : 15+
- CafĂ© consommĂ© : Beaucoup â
đž Nomenclature mythologiqueâ
Parce que DevOps, c'est aussi s'amuser :
- Atlas : Proxmox node (le titan qui porte l'infrastructure)
- Olympus : OPNsense (le mont Olympe, centre de contrĂŽle)
- Hermes : Cloudflare Tunnel (le messager des dieux)
Prochains services :
- Hephaestus : GitLab (la forge de code)
- Prometheus : Monitoring (approprié !)
- Apollo : CI/CD pipeline
- Artemis : Backup system
- Poseidon : Storage server
Logo : đž Hanami (fleur de cerisier) + đ Lune = esthĂ©tique japonaise + mythologie grecque.
đ Conclusionâ
Olympus Lab est maintenant opérationnel ! Je peux :
- â CrĂ©er des VMs et containers Ă volontĂ©
- â ExpĂ©rimenter en toute sĂ©curitĂ©
- â AccĂ©der depuis n'importe oĂč
- â Apprendre en cassant et rĂ©parant
- â Documenter mes apprentissages
La prochaine fois que quelqu'un me demandera "C'est quoi DevOps ?", je pourrai montrer mon homelab et dire : "C'est ça. Et c'est moi qui l'ai construit." đȘ
Rendez-vous dans le prochain article pour le dĂ©ploiement de GitLab ! đ
Stack : Proxmox VE âą OPNsense âą Cloudflare Tunnel âą Ubuntu 24.04 âą Docusaurus
Tags : #DevOps #Homelab #Infrastructure #Networking #Security #Learning
Documentation : docs.olympus-lab.org
