« Atelier SysRes SE4 2024/2025 E5 » : différence entre les versions

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Ligne 1 : Ligne 1 :
= Projet Virtualisation - Kaoutar EL-BACHIRI =
= Projet Virtualisation - Kaoutar EL BACHIRI =


== 1. Introduction ==
== 1. Introduction ==

Version du 5 février 2025 à 08:55

Projet Virtualisation - Kaoutar EL BACHIRI

1. Introduction

Dans ce TP, nous avons mis en place une infrastructure de **virtualisation sous Xen** sur le serveur **Capbreton**. L’objectif est de :

  • Créer et configurer plusieurs machines virtuelles (VM) : **Apollo, Moon, Solstice**.
  • Séparer les espaces de stockage avec **LVM** et monter `/var` et `/home` sur des partitions dédiées.
  • Configurer l’adressage réseau IPv4 et IPv6 en respectant l’architecture réseau.
  • Mettre en place une **machine mandataire (Solstice)** pour assurer le routage et l’accès Internet.
  • Configurer le routeur de promotion et les VLAN pour permettre la communication et l’accès Internet.
  • Mettre en place le NAT et les règles de redirection de ports pour assurer l’accessibilité des services.

Toutes les manipulations ont été effectuées en **SSH** sur Capbreton :

ssh user@capbreton.plil.info

---

2. Création des machines virtuelles

2.1 Commande de création des VM

Nous avons utilisé la commande `xen-create-image` pour créer nos VMs :

xen-create-image --hostname=SE4.Apollo --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontKS
xen-create-image --hostname=SE4.Moon --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontKS
xen-create-image --hostname=SE4.Solstice --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontKS

2.2 Lancement et connexion aux VM

Une fois les VMs créées, nous les avons démarrées et avons accédé aux consoles :

sudo xl create /etc/xen/SE4.Apollo.cfg
sudo xl create /etc/xen/SE4.Moon.cfg
sudo xl create /etc/xen/SE4.Solstice.cfg

sudo xl console SE4.Apollo
sudo xl console SE4.Moon
sudo xl console SE4.Solstice

---

3. Configuration du stockage et montage de /var et /home

3.1 Objectif

Nous avons déplacé les répertoires `/var` et `/home` vers des partitions dédiées avec **LVM** pour optimiser la gestion du stockage.

3.2 Création des partitions LVM

Nous avons initialisé **LVM** sur chaque VM :

Sur Apollo :

sudo lvcreate -L10G -n var apollo_vg
sudo lvcreate -L10G -n home apollo_vg

Sur Moon :

sudo lvcreate -L10G -n var moon_vg
sudo lvcreate -L10G -n home moon_vg

3.3 Formatage des partitions

Nous avons formaté les volumes en **ext4** :

sudo mkfs.ext4 /dev/apollo_vg/var
sudo mkfs.ext4 /dev/apollo_vg/home

sudo mkfs.ext4 /dev/moon_vg/var
sudo mkfs.ext4 /dev/moon_vg/home

3.4 Ajout dans /etc/fstab pour montage automatique

Sur Apollo :

/dev/apollo_vg/var  /var  ext4 defaults 0 2
/dev/apollo_vg/home  /home  ext4 defaults 0 2

Sur Moon :

/dev/moon_vg/var  /var  ext4 defaults 0 2
/dev/moon_vg/home  /home  ext4 defaults 0 2

3.5 Vérification des montages

Nous avons testé le montage automatique :

sudo mount -a
df -h

---

4. Configuration réseau

4.1 Configuration des VLAN et du Routeur

Afin d’assurer la connectivité des machines virtuelles et leur accès à Internet, nous avons participé à la configuration du routeur de la promotion.

VLAN mis en place :

  • **VLAN 1** : Réseau de service
  • **VLAN 50** : VLAN regroupant toutes les machines XEN
  • **VLAN X (100+n)** : Réseaux individuels pour chaque machine de service
  • **VLAN 530** : Interconnexion avec SR52 de l’école pour la sortie Internet.

Nous avons affiché la configuration des VLANs avec :

show run

Après plusieurs ajustements, la configuration a été modifiée pour respecter le cahier des charges, notamment en **corrigeant le routage IPv4**.

4.2 Configuration du SSH sur le routeur

Pour sécuriser l’accès SSH, nous avons créé une **access-list** qui accepte uniquement les connexions depuis notre réseau :

access-list 10 permit 193.48.57.160 0.0.0.15
access-list 10 deny any

Puis, nous avons appliqué cette access-list à la **line vty** pour filtrer les connexions SSH :

line vty 0 15
  access-class 10 in

Connexion en SSH :

ssh admin@193.48.57.161 -o KexAlgorithms=diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1 -o HostKeyAlgorithms=ssh-rsa

4.3 Mise en place du routage OSPF

Le routeur utilise **OSPF** pour échanger les tables de routage avec **SR52** :

router ospf 1
  network 193.48.57.160 0.0.0.15 area 10
  summary-address 172.16.0.0 255.255.255.0 not-advertise

Après cette configuration, nous avons vérifié que le routeur pouvait ping **Google**.

---

5. Configuration de la machine mandataire (Solstice)

5.1 Configuration réseau

Nous avons défini les interfaces réseau :

# Interface principale (Internet)
auto eth0
iface eth0 inet static
    address 193.48.57.166
    netmask 255.255.255.224
    gateway 193.48.57.161
    dns-nameservers 8.8.8.8 1.1.1.1

iface eth0 inet6 auto

# Interface privée pour les machines de services
auto eth1
iface eth1 inet static
    address 172.16.0.1
    netmask 255.255.255.0

Redémarrage du réseau :

sudo systemctl restart networking

5.2 Configuration SSH

Nous avons modifié le fichier `/etc/ssh/sshd_config` pour autoriser la connexion SSH root :

PermitRootLogin yes

Puis, nous avons redémarré SSH :

sudo systemctl restart ssh

5.3 Redirection de ports avec nftables

Pour permettre l’accès SSH via la machine mandataire, nous avons mis en place une redirection de ports :

nft add table ip NAT
nft add chain NAT PREROUTING { type nat hook prerouting priority 0\; }
nft add rule NAT PREROUTING tcp dport 2202 dnat to 172.16.0.2:22

---

6. Prochaines étapes

Nous avons maintenant un accès Internet et une configuration réseau fonctionnelle. Les prochaines étapes incluent :

  • **Installation des services** : Apache2, Bind9.
  • **Mise en place du serveur DNS et du proxy inverse**.
  • **Tests de connectivité et routage avancé**.