Atelier SysRes SE4 2024/2025 E1

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche

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

Les machines virtuelles sont créées sur le Dom0 capbreton.plil.info.

Pour la création des commutateurs virtuels du réseau routé de la promotion et des réseaux privés on a :

  • modifié le fichier /etc/network/interfaces du Dom0 pour décrire le commutateur du réseau routé.
Commutateur virtuel SE4

  • créé un fichier dans le répertoire /etc/network/interfaces.d du Dom0 pour créer notre pont.
bridge pontKS

Dans la VM cap breton, pour voir les ponts :

Ip l pontKS.png

Ensuite, nous avons pu 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 de l'interconnexion avec l'extérieur,

Architecture VM.png
  • Nom de la machine de service : SE4.Moon
  • Taille du disque : 10G

Configuration de la VM dans : /etc/network/interfaces

auto eth0
iface eth0 inet dhcp


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
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


Remarque :

Problème login : Ctrl + AltGr + ] => vi => :q! => reconnexion

Le mot de passe de la VM est dans /var/log/xen-tools/SE4.Moon.log

Pour changer le nom de la VM :

vi /etc/hostname

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

De plus, séparer /var et /home permet d’isoler 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.

Nous devons :

  • 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.

Création des Fichiers de Partition

Depuis le serveur Capbreton, on a créé 2 fichiers de partitions dans /dev/virtual pour chaque machines de services pour Moon SE4.Moon.var et SE4.Moon.home :

root@capbreton:/dev/virtual# ls
SE4.Apollo.var  SE4.Apollo.home  SE4.Moon.var  SE4.Moon.home

Après la création de nos partitions, nous avons modifié le fichier .cfg de la VM pour y ajouter les deux répertoires.

disk = [
    'file:/usr/local/xen/domains/SE4.Moon/disk.img,xvda2,w',
    'file:/usr/local/xen/domains/SE4.Moon/swap.img,xvda1,w',
    'phy:/dev/virtual/SE4.Moon.home,xvdb,w',
    'phy:/dev/virtual/SE4.Moon.var,xvdc,w',
]
  • 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

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
  • Déplacement des fichiers existants
mv /var/* /mnt  # Déplacement des fichiers de /var vers la nouvelle partition

Démonter les partitions temporaires : Avant de configurer les montages permanents, on démonte les partitions des répertoires temporaires (/mnt) umount /mnt      # Démontage après transfert des données

Modification du fichier /etc/fstab pour un montage automatique au démarrage :

On modifie le fichier /etc/fstab, qui contient la liste des partitions.

Ajout des nouvelles partitions LVM au fichier /etc/fstab :

  • /dev/xvdb /var ext4 defaults 0 2
  • /dev/xvdc /home ext4 defaults 0 2
# /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

Monter les partitions définies dans fstab :

Pour monter toutes les partitions définies dans le fichier /etc/fstab  :

mount -a  # Remontage des partitions définies dans fstab

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.

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 sur les répertoires associés et qu'il n'y a pas de problème d'espace disque.

root@Moon:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            973M     0  973M   0% /dev
tmpfs           199M  108K  199M   1% /run
/dev/xvda2      9.8G  673M  8.6G   8% /
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           500M     0  500M   0% /dev/shm
/dev/xvdb       9.8G  229M  9.1G   3% /var
/dev/xvdc       9.8G   24K  9.3G   1% /home

Résumé des Commandes Utilisées

Étape Commande
Création et formatage des partitions mkfs -t ext4 /dev/xvdb

mkfs -t ext4 /dev/xvdc

Montage temporaire des partitions mount /dev/xvdb /mnt

mount /dev/xvdc /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/interfacespour configurer IPv6 et IPv4

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.

====== Installation des paquetages sur Moon : ======

Installations des paquetages.png

apt install -y openssh-server apache2 bind9


Détails des paquetages :

  • openssh-server → Serveur SSH pour permettre l'accès à distance sécurisé.
  • apache2 → Serveur Web Apache.
  • bind9 → Serveur DNS BIND.


Après l'installation :

Vérifiez si les services sont en cours d'exécution :

systemctl status ssh apache2 bind9

Activez et démarrez les services si nécessaire :

systemctl enable --now ssh apache2 bind9

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).