Atelier SysRes SE4 2024/2025 E1
Projet Virtualisation Sarah DEPARIS - Machine Moon
L'objectif de ce projet est d'installer et configurer des machines virtuelles destinées à héberger des services sur un environnement Xen
Création des machines virtuelles
Nous avons commencé à créer nos 3 machines virtuelles sur Capbreton en utilisant la commande suivante :
root@capbreton:~# xen-create-image --hostname=SE4.Moon --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontKS
root@capbreton:~# xen-create-image --hostname=SE4.Solstice --dhcp --bridge=pontKS --dir=/usr/local/xen --size=10GB --dist=daedalus --memory=2048M --force
2 machines de services ( Moon et Apollo ) qui joueront un rôle clé dans l'hébergement des services, et 1 machine mandataire ( Solstice ) qui assurera la gestion du réseau et l'interconnexion avec l'extérieur,
- Nom de la machine de service : SE4.Moon
- Taille du disque : 10G
Configuration de la VM dans : /etc/network/interfaces
XEN LIST
Affiche des informations sur les machines virtuelles (VM) qui sont actuellement gérées par Xen. Cette commande fournit des détails sur l'état de chaque machine virtuelle, comme : si elle est en cours d'exécution, son nom, son identifiant (ID), et d'autres informations.
root@capbreton:~# xen list
Name ID Mem VCPUs State Time(s)
Domain-0 0 3970 4 r----- 83423.2
SE4.Solstice 39 2048 1 -b---- 2560.1 113 2048 1 -b---- 1390.1
SE4.Apollo 118 2048 1 -b---- 462.7
SE4.Moon 119 2048 1 -b---- 452.3
Liste des commandes utiles :
Fonction | Commande |
---|---|
listes des VMs allumées | xen list
|
Allumer la VM | xen create /etc/xen/SE4.Moon.cfg
|
Connexion à la VM | xen console SE4.Moon
|
Eteindre la VM | xen shutdown SE4.Moon
|
Configuration du réseau | Modification du fichier /etc/network/interfaces
|
Le mot de passe de la VM est dans /var/log/xen-tools/SE4.Moon.log
Remarque :
Problème login : Ctrl + AltGr + ] => vi => :q! => reconnexion
ip -l dans vm cap breton pour voir les ponts
Configuration de la machine de services Moon
1. Création de partitions LVM pour /var et /home
Objectif : Afin de séparer les données utilisateur et applicatives du système principal, nous avons créé deux partitions LVM de 10G chacune, dédiées respectivement à /var
et /home
. Cette séparation facilite la gestion, la sauvegarde et la récupération des données en cas de problème.
Pourquoi ?
- LVM (Logical Volume Manager) permet une gestion flexible du stockage, facilitant l’extension ou la réduction des partitions si nécessaire.
- Séparer
/var
et/home
permet d’isoler les données des utilisateurs et les fichiers système critiques, réduisant les risques en cas de panne ou de saturation de l’espace disque.
Actions :
- Création de deux partitions LVM de 10G pour /var et /home afin de séparer les données utilisateur et applicatives du système principal, facilitant ainsi la gestion, la sauvegarde et la récupération des données en cas de problème.
- Modifier la configuration de la machine virtuelle pour monter ces partitions sous
/var
et/home
. - Transférer les fichiers de
/var
avant de modifier le point de montage pour éviter la perte de données. - Mettre à jour
/etc/fstab
pour un montage automatique des partitions au démarrage.
Partitions
Modification du fichier /etc/fstab
pour un montage automatique au démarrage :
On modifie le fichier /etc/fstab
, qui contient la liste des partitions.
Ouvrir le fichier /etc/fstab
:
vim
/etc/fstab
Ajouter les nouvelles partitions LVM au fichier /etc/fstab
:
Ajoutez les lignes suivantes à la fin du fichier pour monter les partitions LVM /var
et /home
au démarrage. Vous devez spécifier le type de système de fichiers (ici ext4
), les options de montage et l'ordre dans lequel les partitions doivent être montées.
- /dev/xvdb /var ext4 defaults 0 2
- /dev/xvdc /home ext4 defaults 0 2
mettre capture d'écran
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
devpts /dev/pts devpts rw,noexec,nosuid,gid=5,mode=620 0 0
/dev/xvda1 none swap sw 0 0
/dev/xvda2 / ext4 noatime,nodiratime,errors=remount-ro 0 1
/dev/xvdb /var ext4 defaults 0 2
/dev/xvdc /home ext4 defaults 0 2
Préparer les partitions et déplacer les données :
- Montage temporaire des partitions dans
/mnt
: Pour pouvoir déplacer les données, nous avons du monter les nouvelles partitions LVM dans un répertoire temporaire/mnt
. On a créé 2 partitions une pour/var
et une/home
sous les noms xvdb et xvdc dans/dev
,que l'on monte avec :- mount /dev/xvdb /mnt
- mount /dev/xvdc /mnt
- Montage temporaire des partitions
- mount /dev/xvdb /mnt # Montage temporaire pour /var mount /dev/xvdc /mnt # Montage temporaire pour /home
Déplacer les fichiers de /var
et /home
vers les nouvelles partitions :
On déplace les données des répertoires /var
et /home
vers les nouvelles partitions LVM. Les commandes suivantes nous permettent de transférer le contenu des répertoires vers les nouvelles partitions :
- Déplacer les fichiers de
/var
: - mv /var/* /mnt
- Déplacement des fichiers existants
mv /var/* /mnt # Déplacement des fichiers de /var vers la nouvelle partition
umount /mnt # Démontage après transfert des données
mount -a # Remontage des partitions définies dans fstab
Démonter les partitions temporaires :
Avant de configurer les montages permanents, on démonte les partitions des répertoires temporaires (/mnt
) :
umount /mnt
Monter les partitions définies dans fstab
:
Pour monter toutes les partitions définies dans le fichier /etc/fstab
:
mount -a
Cette commande monte toutes les partitions qui ne sont pas encore montées et qui sont définies dans /etc/fstab
remet les données dans le fichier déplacer.
Préparation des partitions
- Création et formatage des partitions
- mkfs -t ext4 /dev/xvdb # Formatage de la partition pour /var mkfs -t ext4 /dev/xvdc # Formatage de la partition pour /home
Configuration des montages permanents
Pour garantir que les nouvelles partitions soient montées automatiquement à chaque démarrage, nous avons modifié le fichier /etc/fstab
en y ajoutant les lignes suivantes :
Ces entrées assurent que les partitions LVM sont correctement prises en charge par le système.
Vérification des partitions montées
Après avoir configuré le montage automatique et remonté les partitions, nous devons vérifier que les partitions sont correctement montées. Nous avons utilisé la commande df -h
pour afficher l'espace disque utilisé et disponible sur les partitions montées.Cela nous permet de confirmer que les partitions /var
et /home
sont correctement montées et qu'il n'y a pas de problème d'espace disque.
2. Configuration du Réseau
Afin de permettre une communication efficace avec la machine mandataire et d’assurer une connectivité IPv6 stable, nous avons modifié le fichier /etc/network/interfaces
pour :
- Attribuer automatiquement une adresse IPv6 routée
- Fixer une adresse IPv4 statique sur le réseau privé
Mise à jour du fichier /etc/network/interfaces
Nous avons ajouté les paramètres suivants :
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 172.16.0.3/24
gateway 172.16.0.1
#IPv6 automatique
iface eth0 inet6 auto
auto eth1
iface eth1 inet6 auto
2. Configuration du réseau
Pourquoi ?
- Assurer une connectivité IPv6 stable et routée pour permettre l’accès direct à Internet.
- Fixer une adresse IPv4 sur le réseau privé permet aux machines de services de communiquer efficacement avec leur machine mandataire.
Actions :
- Modifier
/etc/network/interfaces
pour :- Activer l’obtention automatique d’une IPv6 routée.
- Attribuer une IPv4 fixe sur le réseau privé de la machine mandataire.
Configuration du réseau dans /etc/network/interfaces :
- Attribution automatique d’une adresse IPv6 routée.
- Adresse IPv4 statique sur le réseau privé.
3. Installation des services essentiels
Pourquoi ?
- SSH : Permet l’accès à distance sécurisé à la machine pour l’administration et la maintenance.
- Apache2 (serveur Web) : Héberge des applications et sites web accessibles aux utilisateurs.
- Bind (serveur DNS) : Assure la résolution de noms de domaine, essentielle pour le bon fonctionnement des services sur le réseau.
Actions :
- Installer les paquets nécessaires :
- Vérifier que les services sont bien démarrés et configurés pour s’exécuter au démarrage.
Ces étapes garantissent une infrastructure fonctionnelle, optimisée et sécurisée pour l’hébergement des services sur l’environnement Xen.
Résumé des Commandes Utilisées
Étape | Commande |
---|---|
Création et formatage des partitions | mkfs -t ext4 /dev/xvdb
|
Montage temporaire des partitions | mount /dev/xvdb /mnt
|
Déplacement des données | mv /var/* /mnt
|
Démontage après transfert | umount /mnt
|
Ajout dans /etc/fstab
|
Ajout des entrées pour /var et /home
|
Montage automatique des partitions | mount -a
|
Vérification des partitions montées | df -h
|
Configuration du réseau | Modification du fichier /etc/network/interfaces pour configurer IPv6 et IPv4
|
Choix des addresse IP
Nom machine services | IPv4 privée machine services | Nom de domaine | Nom machine mandataire | IPv4 privée et routée machine mandataire |
---|---|---|---|---|
SE4.Moon | 172.16.0.3/24 | moonrises.online | SE4.Solstice | privée (172.16.0.1/24)
routée (193.48.57.166/28) Routeur en 193.48.57.161/28 |
rq : pas sur eth0 car pas d'ipv6 sur eth0
Modification du fichier /etc/network/interfaces
ajout des addresses privé et public
( on retire dhcp car pb avec ifup (erreur dhcp dicscover))
rq on peut ping nos machines entre elles entre Moon et Appollo
pour les vif
=> vi /etc/xen/SE4.Solstice.cfg
Configuration de la machine mandataire
Modification du fichier /etc/network/interfaces ajout des adresses
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
#Interface IPv4 priv pour le r seau interne (passerelle pour Apollo et M>auto eth0
iface eth0 inet static
address 172.16.0.1/24
#Interface IPv4 rout e pour l'acc s Internet
auto eth1
iface eth1 inet static
address 193.48.57.166/27
gateway 193.48.57.161 #passerelle routeur
#IPv6 automatique
iface eth1 inet6 auto
post-up nft -f /etc/nftables.conf
Ajout pour interface eth1:
ajout bridge : SE4
vi /etc/xen/SE4.Solstice.cfg
ping =>
Configuration Cisco
Mise en Place d’un Serveur DNS
Nous avons configuré un serveur DNS pour gérer les noms de domaine de nos machines virtuelles : apollo-exploration.online et moonrises.online.
La première étape était d'acquérir les noms de domaine pour Apollo et Moon sur Gandi. La seconde étape était d'acquerir les certificats.
Après avoir suivi le tutoriel, nous obtenons deux fichiers : myserver.key (la clé privée) et server.csr (la demande de certificat).
Configuration du Serveur DNS Maître et Secondaire
Sur Moon, nous avons configuré les zones DNS dans /etc/bind/named.conf.local
:
zone "moonrises.online" { type primary; file "/etc/bind/zones/apollo-exploration.online"; }; zone "apollo-exploration.online" { type secondary; file "/etc/bind/backup/apollo-exploration.online"; primaries { 172.16.0.2; }; };
Exemple de Fichiers de Zone ___A TESTER___
Fichier /etc/bind/zones/moonrises.online.
:
Un fichier similaire a été créé pour apollo-exploration.online.
---
Les configurations DNS et réseau permettrons un fonctionnement stable des machines et respectent les exigences du sujet.
Prochaine étapes : finir le serveur DNS et Interconnexion avec Internet (IPv6).