« 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
Aucun résumé des modifications
Ligne 1 : Ligne 1 :
= Projet Virtualisation - Kaoutar EL BACHIRI =
= Projet Virtualisation - Kaoutar EL-BACHIRI =


== 1. Introduction ==
== 1. Introduction ==
Dans ce TP, nous avons mis en place une infrastructure de virtualisation sous '''Xen''' sur le serveur '''Capbreton'''.   
Dans ce TP, nous avons mis en place une infrastructure de **virtualisation sous Xen** sur le serveur **Capbreton**.   
L’objectif était de :
L’objectif est de :
* Créer et configurer plusieurs machines virtuelles (VM) : '''Apollo''', '''Moon''', '''Solstice'''.
* 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.
* 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.
* 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.
* Mettre en place une **machine mandataire (Solstice)** pour assurer le routage et l’accès Internet.
* Vérifier la connectivité et la sortie vers 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 :
Toutes les manipulations ont été effectuées en **SSH** sur Capbreton :
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
ssh root@capbreton.plil.info
ssh user@capbreton.plil.info
</syntaxhighlight>
</syntaxhighlight>
---


== 2. Création des machines virtuelles ==
== 2. Création des machines virtuelles ==
Ligne 29 : Ligne 32 :


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
xen console SE4.Apollo
sudo xl create /etc/xen/SE4.Apollo.cfg
xen console SE4.Moon
sudo xl create /etc/xen/SE4.Moon.cfg
xen console SE4.Solstice
sudo xl create /etc/xen/SE4.Solstice.cfg
 
sudo xl console SE4.Apollo
sudo xl console SE4.Moon
sudo xl console SE4.Solstice
</syntaxhighlight>
</syntaxhighlight>
---


== 3. Configuration du stockage et montage de /var et /home ==
== 3. Configuration du stockage et montage de /var et /home ==
=== 3.1 Objectif ===
=== 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.
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 ===
=== 3.2 Création des partitions LVM ===
Nous avons initialisé LVM sur chaque VM :
Nous avons initialisé **LVM** sur chaque VM :


'''Sur Apollo :'''
'''Sur Apollo :'''
Ligne 54 : Ligne 63 :


=== 3.3 Formatage des partitions ===
=== 3.3 Formatage des partitions ===
Nous avons formaté les volumes en ext4 :
Nous avons formaté les volumes en **ext4** :


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Ligne 83 : Ligne 92 :
df -h
df -h
</syntaxhighlight>
</syntaxhighlight>
---


== 4. Configuration réseau ==
== 4. Configuration réseau ==
=== 4.1 Adressage des machines ===
=== 4.1 Configuration des VLAN et du Routeur ===
Nous avons défini les adresses IPv4 et IPv6 suivantes :
Afin d’assurer la connectivité des machines virtuelles et leur accès à Internet, nous avons participé à la configuration du routeur de la promotion. 


* Apollo : `172.16.0.2`
'''VLAN mis en place :'''
* Moon : `172.16.0.3`
* **VLAN 1** : Réseau de service
* Machine Mandataire (Solstice) :
* **VLAN 50** : VLAN regroupant toutes les machines XEN
  * Réseau privé : `172.16.0.1`
* **VLAN X (100+n)** : Réseaux individuels pour chaque machine de service
  * Réseau routé : `193.48.57.166/27`
* **VLAN 530** : Interconnexion avec SR52 de l’école pour la sortie Internet.


=== 4.2 Configuration réseau des machines de services ===
Nous avons affiché la configuration des VLANs avec :
Nous avons modifié `/etc/network/interfaces` pour attribuer une adresse IPv4 statique et activer l’IPv6 automatique.
<syntaxhighlight lang="bash">
show run
</syntaxhighlight>
 
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 :


'''Sur Apollo :'''
<syntaxhighlight lang="plaintext">
<syntaxhighlight lang="plaintext">
auto eth0
access-list 10 permit 193.48.57.160 0.0.0.15
iface eth0 inet static
access-list 10 deny any
    address 172.16.0.2
</syntaxhighlight>
    netmask 255.255.255.0
    gateway 172.16.0.1


iface eth0 inet6 auto
Puis, nous avons appliqué cette access-list à la **line vty** pour filtrer les connexions SSH :
</syntaxhighlight>


'''Sur Moon :'''
<syntaxhighlight lang="plaintext">
<syntaxhighlight lang="plaintext">
auto eth0
line vty 0 15
iface eth0 inet static
  access-class 10 in
    address 172.16.0.3
</syntaxhighlight>
    netmask 255.255.255.0
    gateway 172.16.0.1


iface eth0 inet6 auto
Connexion en SSH :
<syntaxhighlight lang="bash">
ssh admin@193.48.57.161 -o KexAlgorithms=diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1 -o HostKeyAlgorithms=ssh-rsa
</syntaxhighlight>
</syntaxhighlight>


Nous avons appliqué la configuration et vérifié :
=== 4.3 Mise en place du routage OSPF ===
<syntaxhighlight lang="bash">
Le routeur utilise **OSPF** pour échanger les tables de routage avec **SR52** :
sudo systemctl restart networking
<syntaxhighlight lang="plaintext">
ip a
router ospf 1
ping 172.16.0.1
  network 193.48.57.160 0.0.0.15 area 10
  summary-address 172.16.0.0 255.255.255.0 not-advertise
</syntaxhighlight>
</syntaxhighlight>
Après cette configuration, nous avons vérifié que le routeur pouvait ping **Google**.
---


== 5. Configuration de la machine mandataire (Solstice) ==
== 5. Configuration de la machine mandataire (Solstice) ==
Ligne 137 : Ligne 155 :
     netmask 255.255.255.224
     netmask 255.255.255.224
     gateway 193.48.57.161
     gateway 193.48.57.161
    dns-nameservers 8.8.8.8 1.1.1.1


iface eth0 inet6 auto
iface eth0 inet6 auto
Ligne 145 : Ligne 164 :
     address 172.16.0.1
     address 172.16.0.1
     netmask 255.255.255.0
     netmask 255.255.255.0
</syntaxhighlight>UPDATE 04 Fevrier : on a reussi a ping 8.8.8.8 -> routeur connected et machine mandataire qui peut ping et telecharger les package
</syntaxhighlight>
 
Redémarrage du réseau :
<syntaxhighlight lang="bash">
sudo systemctl restart networking
</syntaxhighlight>
 
=== 5.2 Configuration SSH ===
Nous avons modifié le fichier `/etc/ssh/sshd_config` pour autoriser la connexion SSH root :
<syntaxhighlight lang="plaintext">
PermitRootLogin yes
</syntaxhighlight>
Puis, nous avons redémarré SSH :
<syntaxhighlight lang="bash">
sudo systemctl restart ssh
</syntaxhighlight>
 
=== 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 :
 
<syntaxhighlight lang="bash">
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
</syntaxhighlight>
 
---


== 6. Conclusion ==
== 6. Prochaines étapes ==
* **Les machines Apollo et Moon sont bien créées et configurées**.
Nous avons maintenant un accès Internet et une configuration réseau fonctionnelle. 
* **Les partitions /var et /home sont montées automatiquement via LVM**.
Les prochaines étapes incluent :
* **Le réseau privé 172.16.0.0/24 est fonctionnel** avec Solstice comme passerelle.
* **Installation des services** : Apache2, Bind9.
* **Mise en place du serveur DNS et du proxy inverse**.
* **Tests de connectivité et routage avancé**.

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é**.