Complete Active Directory teaching environment based on dockurr/windows: - Windows Server domain controller, Windows 11 client, Debian 12 client - docker-compose orchestration, env-driven configuration - Bilingual documentation (FR + EN) for students - Dual approach (GUI + PowerShell) in every procedure - Instructor course plan and reference scripts - RDP launcher scripts for Linux, macOS and Windows Made by AcadéNice - https://acadenice.fr/
4.6 KiB
lab_AD_Complet
Lab Active Directory reproductible, basé sur Docker, pour la formation et l'auto-apprentissage.
English version : README_EN.md
Contenu du lab
Un environnement Active Directory complet, isolé, comprenant :
- DC01 : contrôleur de domaine Windows Server (AD DS + DNS)
- PC01 : poste client Windows 11 destiné à être joint au domaine
- linux01 : poste client Debian 12 destiné à être joint au domaine (realmd + SSSD)
Tout est orchestré via un seul docker-compose.yml, entièrement configurable par variables d'environnement.
Pré-requis
Le lab exige un accès à la virtualisation matérielle (KVM sous Linux, WSL2 + nested virt sous Windows).
| Système | Supporté | Remarques |
|---|---|---|
| Linux (kernel >= 5.x avec KVM) | Oui | Configuration la plus simple |
| Windows 10/11 Pro + Docker Desktop | Oui | Activer la virtualisation imbriquée dans .wslconfig |
| macOS Intel | Partiel | Performances dégradées, non recommandé |
| macOS Apple Silicon (M1/M2/M3) | Non | Utilisez une VM Linux (UTM) - voir docs/etudiant/fr/00-prerequis.md |
Ressources minimales :
- 16 Go de RAM recommandés (12 Go minimum)
- 80 Go d'espace disque libre (installation Windows + snapshots)
- Processeur avec VT-x / AMD-V activé dans le BIOS
Scripts de vérification fournis :
./scripts/check-prereqs.sh # Linux, macOS
.\scripts\check-prereqs.ps1 # Windows
Démarrage rapide
git clone <url-du-repo> lab_AD_Complet
cd lab_AD_Complet
cp .env.example .env # adaptez les variables
./scripts/check-prereqs.sh
docker compose up -d dc01
L'installation de Windows Server se fait automatiquement en arrière-plan (20 à 40 minutes selon votre connexion). Suivez l'avancement via :
- Interface web : http://localhost:8006
- Logs :
docker compose logs -f dc01
Une fois Windows installé, la configuration AD (promotion, OU, utilisateurs, GPO, partages) reste à la charge de l'apprenant. Les guides détaillés sont dans docs/etudiant/fr/.
Accès aux postes
Deux méthodes disponibles :
Interface web (noVNC)
- DC : http://localhost:8006
- PC Windows : http://localhost:8009
- Utile pour observer le boot / l'installation, mais lente et sans copier-coller.
RDP (recommandé)
./scripts/rdp-dc.sh # ouvre une session RDP sur DC01
./scripts/rdp-client.sh # ouvre une session RDP sur PC01
Sous Windows :
.\scripts\rdp-dc.ps1
RDP fournit un copier-coller natif, un partage de dossier (\\tsclient\shared) et de bien meilleures performances.
Structure du projet
lab_AD_Complet/
docker-compose.yml Définit les 3 conteneurs
.env.example Variables configurables
linux-client/ Image Debian pré-équipée (SSSD/realmd)
scripts/ Vérification de prérequis + lancement RDP
shared/ Dossier partagé avec les VMs Windows via RDP
docs/
etudiant/ Guides d'apprentissage (FR + EN)
formateur/ Supports et corrigés (non distribués aux étudiants)
Documentation
docs/etudiant/fr/00-prerequis.md: installation de Docker et vérificationsdocs/etudiant/fr/01-installation-lab.md: premier démarrage du labdocs/etudiant/fr/02-promotion-dc.md: promotion d'un contrôleur de domaine (GUI + PowerShell)docs/etudiant/fr/03-ou-utilisateurs-groupes.md: arborescence OU, utilisateurs, groupes, AGDLPdocs/etudiant/fr/04-gpo.md: création et liaison de GPOdocs/etudiant/fr/05-partages-ntfs.md: partages SMB et permissions NTFSdocs/etudiant/fr/06-jonction-poste-windows.md: rejoindre PC01 au domainedocs/etudiant/fr/07-jonction-poste-linux.md: rejoindre linux01 au domainedocs/etudiant/fr/troubleshooting.md: problèmes fréquents
Chaque procédure est documentée en double approche : interface graphique (Server Manager, ADUC, GPMC) et scripting PowerShell.
Arrêter le lab
docker compose stop # arrêt sans perte d'état
docker compose down # arrêt et suppression des conteneurs
docker compose down -v # suppression complète y compris les disques VM
Les disques Windows sont stockés dans ./storage-dc01/ et ./storage-pc01/ à la racine du projet. Supprimer ces dossiers revient à repartir d'une installation vierge.
Licence
MIT - voir LICENSE.
Contribuer
Les contributions sont bienvenues (corrections, traductions, nouveaux exercices). Ouvrez une issue ou proposez un merge request.
Fait par AcadéNice.