« Atelier SysRes SE4 2024/2025 E5 » : différence entre les versions
Aucun résumé des modifications |
|||
Ligne 1 : | Ligne 1 : | ||
= Projet Virtualisation - Kaoutar EL-BACHIRI = | = Projet Virtualisation - Kaoutar EL-BACHIRI = | ||
= | = Atelier SysRes SE4 2024/2025 - Kaoutar EL-BACHIRI = | ||
== | == 1. Création des machines virtuelles == | ||
=== 1.1 Commande de création des VM === | |||
Nous avons créé les machines virtuelles **Apollo** et **Moon** avec la commande `xen-create-image` : | |||
<syntaxhighlight lang="bash"> | |||
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 | ||
</syntaxhighlight> | |||
=== 1.2 Lancement et connexion aux VM === | |||
Une fois les images créées, nous avons démarré les VMs et accédé à leurs consoles : | |||
<syntaxhighlight lang="bash"> | |||
sudo xl create /etc/xen/SE4.Apollo.cfg | |||
sudo xl create /etc/xen/SE4.Moon.cfg | |||
sudo xl console SE4.Apollo | |||
sudo xl console SE4.Moon | |||
</syntaxhighlight> | |||
--- | |||
== 2. Configuration des machines de services (Apollo et Moon) == | |||
=== 2.1 Partitions et montage de `/var` et `/home` === | |||
<u>Objectif :</u> Déplacer `/var` et `/tmp` vers des partitions dédiées et les monter automatiquement. | |||
#### **Création des partitions LVM** | |||
Sur chaque VM, nous avons créé des volumes logiques : | |||
<syntaxhighlight lang="bash"> | |||
sudo lvcreate -L10G -nvar apollo_vg | |||
sudo lvcreate -L10G -ntmp apollo_vg | |||
sudo lvcreate -L10G -nvar moon_vg | |||
sudo lvcreate -L10G -ntmp moon_vg | |||
</syntaxhighlight> | |||
#### **Formatage des partitions** | |||
Nous avons formaté les volumes logiques en `ext4` : | |||
<syntaxhighlight lang="bash"> | |||
sudo mkfs.ext4 /dev/apollo_vg/var | |||
sudo mkfs.ext4 /dev/apollo_vg/tmp | |||
sudo mkfs.ext4 /dev/moon_vg/var | |||
sudo mkfs.ext4 /dev/moon_vg/tmp | |||
</syntaxhighlight> | |||
#### **Modification du fichier `/etc/fstab`** | |||
Nous avons ajouté ces entrées pour monter automatiquement les partitions : | |||
<u>Sur Apollo :</u> | |||
<syntaxhighlight lang="plaintext"> | |||
/dev/apollo_vg/var /var ext4 defaults 0 2 | |||
/dev/apollo_vg/tmp /tmp ext4 defaults 0 2 | |||
</syntaxhighlight> | |||
<u>Sur Moon :</u> | |||
<syntaxhighlight lang="plaintext"> | |||
/dev/moon_vg/var /var ext4 defaults 0 2 | |||
/dev/moon_vg/tmp /tmp ext4 defaults 0 2 | |||
</syntaxhighlight> | |||
#### **Test des montages** | |||
Nous avons rechargé la configuration et vérifié les montages : | |||
<syntaxhighlight lang="bash"> | |||
sudo mount -a | |||
df -h | |||
</syntaxhighlight> | |||
--- | |||
``` | == 3. Configuration réseau == | ||
=== 3.1 Choix des adresses IPv4 et IPv6 === | |||
<u>Adresses utilisées :</u> | |||
- **Apollo** : `172.16.0.2` | |||
- **Moon** : `172.16.0.3` | |||
- **Machine Mandataire (Solstice)** : `172.16.0.1` et `193.48.57.166/27` | |||
--- | |||
=== 3.2 Configuration des machines de services === | |||
Nous avons modifié `/etc/network/interfaces` pour attribuer une adresse IP statique et obtenir une adresse IPv6 automatiquement. | |||
<u>Sur Apollo :</u> | |||
<syntaxhighlight lang="plaintext"> | |||
auto eth0 | |||
iface eth0 inet static | |||
address 172.16.0.2 | |||
netmask 255.255.255.0 | |||
gateway 172.16.0.1 | |||
iface eth0 inet6 auto | |||
</syntaxhighlight> | |||
<u>Sur Moon :</u> | |||
<syntaxhighlight lang="plaintext"> | |||
auto eth0 | |||
iface eth0 inet static | |||
address 172.16.0.3 | |||
netmask 255.255.255.0 | |||
gateway 172.16.0.1 | |||
iface eth0 inet6 auto | |||
</syntaxhighlight> | |||
Nous avons appliqué la configuration et vérifié : | |||
<syntaxhighlight lang="bash"> | |||
sudo systemctl restart networking | |||
ip a | |||
ping 172.16.0.1 | |||
</syntaxhighlight> | |||
--- | |||
== 4. Configuration de la machine mandataire (Solstice) == | |||
<u>Objectif :</u> Configurer la machine mandataire **SE4.Solstice** pour qu’elle assure la **connexion entre le réseau privé (172.16.0.0/24) et Internet**. | |||
### **4.1 Modification du fichier `/etc/network/interfaces`** | |||
Nous avons attribué une adresse fixe sur l'interface connectée au réseau privé et une IP publique pour l’accès Internet. | |||
<syntaxhighlight lang="plaintext"> | |||
# 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 | |||
</syntaxhighlight> | |||
Nous avons appliqué la configuration : | |||
<syntaxhighlight lang="bash"> | |||
sudo systemctl restart networking | |||
ip a | |||
ping -c 4 172.16.0.2 | |||
ping -c 4 172.16.0.3 | |||
</syntaxhighlight> | |||
--- | |||
### **4.2 Configuration du NAT pour permettre la sortie Internet** | |||
Pour permettre aux machines Apollo et Moon d’accéder à Internet, nous avons activé le NAT. | |||
#### **Activation du transfert IP** | |||
<syntaxhighlight lang="bash"> | |||
sudo sysctl -w net.ipv4.ip_forward=1 | |||
echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf | |||
sudo sysctl -p | |||
</syntaxhighlight> | |||
#### **Ajout des règles `iptables` pour la NAT** | |||
<syntaxhighlight lang="bash"> | |||
sudo iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -o eth0 -j MASQUERADE | |||
</syntaxhighlight> | |||
Nous avons sauvegardé la configuration : | |||
<syntaxhighlight lang="bash"> | |||
sudo iptables-save | sudo tee /etc/iptables/rules.v4 | |||
</syntaxhighlight> | |||
--- | |||
### **4.3 Test de connectivité et accès Internet** | |||
Nous avons testé la sortie Internet depuis **Apollo** et **Moon** : | |||
<syntaxhighlight lang="bash"> | |||
ping -c 4 google.com | |||
</syntaxhighlight> | |||
Si la connexion échoue, nous avons ajouté un serveur DNS temporaire : | |||
<syntaxhighlight lang="bash"> | |||
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf | |||
ping -c 4 google.com | |||
</syntaxhighlight> | |||
--- | |||
## **5. Résumé et conclusion** | |||
✔ **Les machines Apollo et Moon sont bien créées et fonctionnelles** | |||
✔ **Les partitions `/var` et `/tmp` sont montées automatiquement via LVM** | |||
✔ **Le réseau privé est configuré avec `172.16.0.0/24` et Solstice en passerelle** | |||
✔ **Les machines Apollo et Moon peuvent accéder à Internet via NAT** | |||
✔ **Les tests de connectivité IPv4 et IPv6 sont concluants** | |||
Notre infrastructure est maintenant **complètement opérationnelle** ! 🚀 |
Version du 4 février 2025 à 12:25
Projet Virtualisation - Kaoutar EL-BACHIRI
Atelier SysRes SE4 2024/2025 - Kaoutar EL-BACHIRI
1. Création des machines virtuelles
1.1 Commande de création des VM
Nous avons créé les machines virtuelles **Apollo** et **Moon** avec la commande `xen-create-image` :
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
1.2 Lancement et connexion aux VM
Une fois les images créées, nous avons démarré les VMs et accédé à leurs consoles :
sudo xl create /etc/xen/SE4.Apollo.cfg
sudo xl create /etc/xen/SE4.Moon.cfg
sudo xl console SE4.Apollo
sudo xl console SE4.Moon
---
2. Configuration des machines de services (Apollo et Moon)
2.1 Partitions et montage de `/var` et `/home`
Objectif : Déplacer `/var` et `/tmp` vers des partitions dédiées et les monter automatiquement.
- **Création des partitions LVM**
Sur chaque VM, nous avons créé des volumes logiques :
sudo lvcreate -L10G -nvar apollo_vg
sudo lvcreate -L10G -ntmp apollo_vg
sudo lvcreate -L10G -nvar moon_vg
sudo lvcreate -L10G -ntmp moon_vg
- **Formatage des partitions**
Nous avons formaté les volumes logiques en `ext4` :
sudo mkfs.ext4 /dev/apollo_vg/var
sudo mkfs.ext4 /dev/apollo_vg/tmp
sudo mkfs.ext4 /dev/moon_vg/var
sudo mkfs.ext4 /dev/moon_vg/tmp
- **Modification du fichier `/etc/fstab`**
Nous avons ajouté ces entrées pour monter automatiquement les partitions :
Sur Apollo :
/dev/apollo_vg/var /var ext4 defaults 0 2
/dev/apollo_vg/tmp /tmp ext4 defaults 0 2
Sur Moon :
/dev/moon_vg/var /var ext4 defaults 0 2
/dev/moon_vg/tmp /tmp ext4 defaults 0 2
- **Test des montages**
Nous avons rechargé la configuration et vérifié les montages :
sudo mount -a
df -h
---
3. Configuration réseau
3.1 Choix des adresses IPv4 et IPv6
Adresses utilisées : - **Apollo** : `172.16.0.2` - **Moon** : `172.16.0.3` - **Machine Mandataire (Solstice)** : `172.16.0.1` et `193.48.57.166/27`
---
3.2 Configuration des machines de services
Nous avons modifié `/etc/network/interfaces` pour attribuer une adresse IP statique et obtenir une adresse IPv6 automatiquement.
Sur Apollo :
auto eth0
iface eth0 inet static
address 172.16.0.2
netmask 255.255.255.0
gateway 172.16.0.1
iface eth0 inet6 auto
Sur Moon :
auto eth0
iface eth0 inet static
address 172.16.0.3
netmask 255.255.255.0
gateway 172.16.0.1
iface eth0 inet6 auto
Nous avons appliqué la configuration et vérifié :
sudo systemctl restart networking
ip a
ping 172.16.0.1
---
4. Configuration de la machine mandataire (Solstice)
Objectif : Configurer la machine mandataire **SE4.Solstice** pour qu’elle assure la **connexion entre le réseau privé (172.16.0.0/24) et Internet**.
- **4.1 Modification du fichier `/etc/network/interfaces`**
Nous avons attribué une adresse fixe sur l'interface connectée au réseau privé et une IP publique pour l’accès Internet.
# 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
Nous avons appliqué la configuration :
sudo systemctl restart networking
ip a
ping -c 4 172.16.0.2
ping -c 4 172.16.0.3
---
- **4.2 Configuration du NAT pour permettre la sortie Internet**
Pour permettre aux machines Apollo et Moon d’accéder à Internet, nous avons activé le NAT.
- **Activation du transfert IP**
sudo sysctl -w net.ipv4.ip_forward=1
echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
- **Ajout des règles `iptables` pour la NAT**
sudo iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -o eth0 -j MASQUERADE
Nous avons sauvegardé la configuration :
sudo iptables-save | sudo tee /etc/iptables/rules.v4
---
- **4.3 Test de connectivité et accès Internet**
Nous avons testé la sortie Internet depuis **Apollo** et **Moon** :
ping -c 4 google.com
Si la connexion échoue, nous avons ajouté un serveur DNS temporaire :
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
ping -c 4 google.com
---
- **5. Résumé et conclusion**
✔ **Les machines Apollo et Moon sont bien créées et fonctionnelles** ✔ **Les partitions `/var` et `/tmp` sont montées automatiquement via LVM** ✔ **Le réseau privé est configuré avec `172.16.0.0/24` et Solstice en passerelle** ✔ **Les machines Apollo et Moon peuvent accéder à Internet via NAT** ✔ **Les tests de connectivité IPv4 et IPv6 sont concluants**
Notre infrastructure est maintenant **complètement opérationnelle** ! 🚀