C204

Challenge C204 19/02/2026

AWSOpenStackDebianUbuntuDMZBashGitDHCPDNSSSH
Retour au cours

Challenge C204 19/02/2026

Pitch de l’exercice 🧑‍🏫

Challenge

Challenge C204

Cours C204


Serveur

Installation d'une VM Ubuntu-server-live pour installer Openstack.

VM

Installation DevStack

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

config

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

install

Et on peut se connecter sur l'interface web directement

interface

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/

download

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

image

images

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-subnet en 10.0.1.0/24 (DHCP activé)
    • Créer lan-network + lan-subnet en 10.0.2.0/24 (DHCP activé)
    • Créer router-prod et le connecter à external, dmz-subnet, lan-subnet
  • Objectif : un web exposé, un LAN protégé.

    • sec-web : SSH (22), HTTP (80), ICMP depuis 0.0.0.0/0
    • sec-lan : SSH (22), ICMP depuis 0.0.0.0/0, MySQL (3306) depuis 10.0.2.0/24

Réseaux

On va créer les réseaux pour notre projet

subnet

DHCP activé pour chaque, DNS, etc

réseaux

topologie

Routeur

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

routeur

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

subnet

passerelles

Topologie mise à jour

topologie

Sécurité

On va créer les Groupes de sécurité (équivalent Firewall),

Pour la DMZ on va restreindre

GS

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

https

regles

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

ssh

tcp

GSapp

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

GSdb

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

key

Création de VM

Objectif : 3 VMs conformes à l’architecture.

  • Paramètres communs :

    • Image : debian-13.1
    • Flavor : m1.small
    • Key pair : keypair-prod
  • VMs :

    • web-server sur dmz-network avec sec-web + floating IP
    • app-server sur lan-network avec sec-lan
    • db-server sur lan-network avec sec-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

source

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

gabarit

Dans Réseaux on ajoute notre DMZ pour cette machine

réseaux

GS

key

instance

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

instances

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)

asso

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

ping

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

ssh

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

test

Volume

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

volume

Vue d'ensemble de notre infra

dashboard

topologie

Correction

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