« Atelier SysRes SE4 2024/2025 E5 » : différence entre les versions
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 | Dans ce TP, nous avons mis en place une infrastructure de **virtualisation sous Xen** sur le serveur **Capbreton**. | ||
L’objectif | L’objectif est de : | ||
* Créer et configurer plusieurs machines virtuelles (VM) : | * Créer et configurer plusieurs machines virtuelles (VM) : **Apollo, Moon, Solstice**. | ||
* Séparer les espaces de stockage avec | * 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. | ||
* | * 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 | 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 | ||
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 | |||
</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 | === 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. | |||
=== 4.2 Configuration | Nous avons affiché la configuration des VLANs avec : | ||
<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 : | |||
<syntaxhighlight lang="plaintext"> | <syntaxhighlight lang="plaintext"> | ||
access-list 10 permit 193.48.57.160 0.0.0.15 | |||
access-list 10 deny any | |||
</syntaxhighlight> | |||
Puis, nous avons appliqué cette access-list à la **line vty** pour filtrer les connexions SSH : | |||
<syntaxhighlight lang="plaintext"> | <syntaxhighlight lang="plaintext"> | ||
line vty 0 15 | |||
access-class 10 in | |||
</syntaxhighlight> | |||
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> | ||
=== 4.3 Mise en place du routage OSPF === | |||
<syntaxhighlight lang=" | Le routeur utilise **OSPF** pour échanger les tables de routage avec **SR52** : | ||
<syntaxhighlight lang="plaintext"> | |||
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 | |||
</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> | </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. | == 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é**. |
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é**.