Challenge C204 19/02/2026
Pitch de l’exercice 🧑🏫

- Documentation officielle : https://docs.openstack.org/devstack/latest/
Serveur
Installation d'une VM Ubuntu-server-live pour installer Openstack.

Installation DevStack

DevStack est un ensemble de scripts officiels qui télécharge, installe, configure et connecte tous ces services automatiquement sur une VM. Il se charge de tout le travail de configuration d'un administrateur système (bases de données, dépendances Linux, permissions). Cela permet d'arriver beaucoup plus vite à la partie intéressante et de mettre les mains dans la configuration des routeurs virtuels et de l'architecture réseau.
# Add Stack User
sudo useradd -s /bin/bash -d /opt/stack -m stack
sudo chmod +x /opt/stack
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
sudo -u stack -i
# Download DevStack
git clone https://opendev.org/openstack/devstack
cd devstack
On crée un fichier local.conf nano local.conf avec nos mots de passe à changer
[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD

Une fois tout configuré on lance l'installation qui dure 15 à 30 min

Et on peut se connecter sur l'interface web directement

Configuration et Utilisation
Ajout d'une image
Pour ajouter une VM (par exemple Debian), il faut Utiliser une image pour l’informatique dématérialisée, en .qcow2 pour Openstack sur https://www.debian.org/distrib/

On doit juste ajouter le nom, le type d'image et si on la veut en privé, partage, publique etc


Configuration du réseau
🏗️ Architecture à déployer
Internet (external)
│
┌───────┴────────┐
│ router-prod │
└───────┬────────┘
│
┌───────────────┼
│ │
┌───────▼─────┐ ┌──────▼──────┐
│ DMZ │ │ LAN │───────┐
│ 10.0.1.0/24 │ │ 10.0.2.0/24 │ │
└─────────────┘ └─────────────┘ │
│ │ │
┌───────▼──────┐ ┌──────▼──────┐ ┌─────▼──────┐
│ web-server │ │ app-server │ │ db-server │
│ 10.0.1.10 │ │ 10.0.2.10 │ │ 10.0.2.20 │
│ Floating IP │ │ │ │ │
│ │ │ │ │ + Volume │
└──────────────┘ └─────────────┘ └────────────┘
-
Objectif : avoir une DMZ et un LAN qui sortent vers
external.- Créer
dmz-network+dmz-subneten10.0.1.0/24(DHCP activé) - Créer
lan-network+lan-subneten10.0.2.0/24(DHCP activé) - Créer
router-prodet le connecter àexternal,dmz-subnet,lan-subnet
- Créer
-
Objectif : un web exposé, un LAN protégé.
sec-web: SSH (22), HTTP (80), ICMP depuis0.0.0.0/0sec-lan: SSH (22), ICMP depuis0.0.0.0/0, MySQL (3306) depuis10.0.2.0/24
Réseaux
On va créer les réseaux pour notre projet

DHCP activé pour chaque, DNS, etc


Routeur
Une fois nos réseaux créés, pour qu'ils puissent communiquer on va ajouter un routeur

Dans la partie interface, on peut ajouter les sous-réseaux pour créer nos passerelles


Topologie mise à jour

Sécurité
On va créer les Groupes de sécurité (équivalent Firewall),
Pour la DMZ on va restreindre

Puis modifier les règles, on ajoute les règles d'entrée nécessaire : http, https, ssh, icmp etc


Pour le Groupe de Sécurité des App, on va mettre en 10.0.0.0/16 pour que les autres puissent y accéder



Pour le groupe de Sécurité de la Database,

On va aller dans Paires de Clés pour créer notre clé SSH et la télécharger (fichier.pem) et garder

Création de VM
Objectif : 3 VMs conformes à l’architecture.
-
Paramètres communs :
- Image :
debian-13.1 - Flavor :
m1.small - Key pair :
keypair-prod
- Image :
-
VMs :
web-serversurdmz-networkavecsec-web+ floating IPapp-serversurlan-networkavecsec-landb-serversurlan-networkavecsec-lan
On va créer la VM admin dans Instance > Nouvelle Instance
On ajoute son nom, et le nombre d'instance sera le nombre de VM crées, et si on a besoin d'un nouveau volume ou pas

Dans Gabarit on peut choisir les "flavors", les capacités de stockage etc

Dans Réseaux on ajoute notre DMZ pour cette machine




On fait de même pour les autres machines avec leurs configurations propres.

IP Flottante
Pour se connecter à notre projet on va créer une adresse IP flottante, en quelque sorte comme si on était sur le ""WAN"" (ou comme les IP elastic que AWS)
On créer sans rien changer dans l'allocation d'IP.
Puis on va l'associer à un port (ici notre DMZ, le server web)

Pour tester on peut ping notre serveur DMZ depuis notre machine Openstack

On se connecte en SSH sur l'IP flottante de notre machine
nano PassePartout.pem
On ajoute le contenu de notre clef SSH
ssh -i PassPartout.pem debian@172.24.4.178

Et nous voilà connecté à la VM debian web-server, on peut ping l'app-server et le db-server pour tester

Volume
- Objectif : un volume persistant attaché à
db-server.- Créer
db-data(10 GB) - Attacher à
db-server
- Créer

Vue d'ensemble de notre infra


Correction
https://github.com/O-clock-Aldebaran/SC2E04-Openstack-GitFreed/blob/master/correction.md