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/
131 lines
4.6 KiB
Markdown
131 lines
4.6 KiB
Markdown
# lab_AD_Complet
|
|
|
|
Lab Active Directory reproductible, basé sur Docker, pour la formation et l'auto-apprentissage.
|
|
|
|
> English version : [README_EN.md](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 :
|
|
|
|
```bash
|
|
./scripts/check-prereqs.sh # Linux, macOS
|
|
.\scripts\check-prereqs.ps1 # Windows
|
|
```
|
|
|
|
## Démarrage rapide
|
|
|
|
```bash
|
|
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é)
|
|
|
|
```bash
|
|
./scripts/rdp-dc.sh # ouvre une session RDP sur DC01
|
|
./scripts/rdp-client.sh # ouvre une session RDP sur PC01
|
|
```
|
|
|
|
Sous Windows :
|
|
|
|
```powershell
|
|
.\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érifications
|
|
- `docs/etudiant/fr/01-installation-lab.md` : premier démarrage du lab
|
|
- `docs/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, AGDLP
|
|
- `docs/etudiant/fr/04-gpo.md` : création et liaison de GPO
|
|
- `docs/etudiant/fr/05-partages-ntfs.md` : partages SMB et permissions NTFS
|
|
- `docs/etudiant/fr/06-jonction-poste-windows.md` : rejoindre PC01 au domaine
|
|
- `docs/etudiant/fr/07-jonction-poste-linux.md` : rejoindre linux01 au domaine
|
|
- `docs/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
|
|
|
|
```bash
|
|
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](LICENSE).
|
|
|
|
## Contribuer
|
|
|
|
Les contributions sont bienvenues (corrections, traductions, nouveaux exercices). Ouvrez une issue ou proposez un merge request.
|
|
|
|
---
|
|
|
|
Fait par [AcadéNice](https://acadenice.fr/).
|