Atelier SysRes SE4 2024/2025 E8

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

Création et Configuration des Machines Virtuelles sous Xen

1. Introduction

Ce guide décrit le processus de création et de configuration des machines virtuelles sous Xen dans le cadre du TP de virtualisation. L'infrastructure repose sur un système Xen exécuté sur le serveur capbreton.plil.info.

Trois machines sont créées :

  • Gyro (Machine de service)
  • Gtr (Machine de service)
  • Pegase (Machine mandataire)

Les machines de service accèdent à Internet via leur machine mandataire, qui gère la redirection des connexions IPv4 et la configuration réseau.

2. Connexion au serveur Xen

Se connecter au serveur Xen en tant que root :

ssh root@capbreton.plil.info

3. Création des machines virtuelles

Nous utilisons la commande xen-create-image pour générer nos machines virtuelles.

Exemple pour Gyro :

xen-create-image --hostname=SE4.Gyro --dhcp --bridge=alloco_wahran --dir=/usr/local/xen --size=10GB --dist=daedalus --memory=1024M

Nous répétons ce processus pour Gtr et Pegase.

4. Configuration du réseau sur Dom0

Nous modifions le fichier /etc/network/interfaces pour définir le commutateur virtuel du réseau routé :

auto alloco_wahran
iface alloco_wahran inet manual
        bridge_ports none
        up ip link set $IFACE up
        down ip link set $IFACE down

5. Création des partitions LVM

Nous créons deux partitions LVM pour chaque machine de service :

lvcreate -n SE4.Gyro.home -L 10G virtual
lvcreate -n SE4.Gyro.var -L 10G virtual

Nous répétons ces étapes pour Gtr.

6. Lancement des machines virtuelles

Nous lançons nos machines avec :

xen create /etc/xen/SE4.Gyro.cfg

Nous vérifions leur état avec :

xen list

7. Connexion aux machines virtuelles

Nous nous connectons en mode console :

xen console SE4.Gyro

8. Ajout des partitions dans la configuration Xen

Nous modifions la configuration pour ajouter les partitions LVM :

'phy:/dev/virtual/SE4.Gyro.var,xvda3,w', 'phy:/dev/virtual/SE4.Gyro.home,xvdb1,w',

9. Configuration des partitions dans /etc/fstab

Nous ajoutons les partitions dans /etc/fstab :

/dev/xvda3 /var ext4 defaults 0 2
/dev/xvdb1 /home ext4 defaults 0 2

10. Formatage des partitions

Nous formatons les partitions avant de les utiliser :

mkfs -t ext4 /dev/xvda3
mkfs -t ext4 /dev/xvdb1

11. Déplacement du contenu des répertoires

Nous copions le contenu de /var :

mount /dev/xvda3 /mnt
mv /var/* /mnt
umount /mnt

Nous montons ensuite automatiquement les partitions définies dans /etc/fstab :

mount -a

12. Attribution d’une adresse IPv4

Nous configurons une adresse IPv4 statique pour nos machines virtuelles en modifiant /etc/network/interfaces.

Exemple pour Gyro :

auto eth0
iface eth0 inet static
    address 192.168.0.3 
    netmask 255.255.255.0
    gateway 192.168.0.1

la gateway étant l'adresse de la machine mandataire (Pegase). Nous modifions également le fichier log de la machine manadataire comme vous pouvez le voir dans l'image ci-dessous.

ajout du bridge "SE4"

Ci-dessous vous pouvez voir la configuration des interfaces de la mandataire Pegase.

# The primary network interface
auto eth0
iface eth0 inet static
        address 192.168.0.1/24

auto eth1
iface eth1 inet static
        address 193.48.57.164/24
        gateway 193.48.57.161
iface eth1 inet6 auto

l'adresse gateway étant celle du routeur.

13. Test ping entre les machines

Depuis la machine Gyro nous tentons un ping sur la machine de service Gtr; vous pouvez le voir dans l'image ci-dessous.

ping entre les machines de service

Toujours sur Gyro nous tentons un ping sur la machine mandataire Pegase; vous pouvez le voir dans l'image ci-dessous.

ping entre Gyro et Pegase (la mandataire)

conf interface ipV6 dans machine de service

auto lo iface lo inet loopback

  1. The primary network interface

auto eth0 iface eth0 inet static address 192.168.0.3/24 gateway 192.168.0.1 iface eth0 inet6 auto

  1. post-up ethtool -K eth0 tx off

auto eth1 iface eth1 inet6 auto

configuration ipv4 sur la mandataire dans le fichier /etc/sysctl.conf on active le forwarding ipv4 en decommanatant la ligne puis on fait sysctl -p puis on fait apt install iptables -persistent ensuite on fait iptables -t nat -A POSTROUTING -j MASQUERADE apres ca nous pouvons faire un ping 8.8.8.8 sur nos machine de services redirection nft add table ip NAT

 129  nft add chain NAT PREROUTING { type nat hook prerouting priority 0\; }
 130  nft add chain NAT POSTROUTING { type nat hook postrouting priority 100\; }
 131  nano /etc/network/interfaces
 132  nft add rule NAT PREROUTING tcp dport 2202 dnat to 192.168.0.2:22
 133  nft add rule NAT PREROUTING tcp dport 2203 dnat to 192.168.0.3:22

DNS configuration du named.conf.local pour le DNS / // Do any local configuration here //

// Consider adding the 1918 zones here, if they are not used in your // organization //include "/etc/bind/zones.rfc1918";

zone "alloco.online" {

 type master;
 file "/etc/bind/db.alloco.online";
 allow-transfer{secondaries;};  // filtrage des secondaires
 //also-notify{hiddensecondaries;}; // pour les secondaires vicieux
 notify yes;    // notification des secondaires

}; acl "secondaries" {

 192.168.0.2;   // serveur secondaire
 2001:660:4401:60a0:216:3eff:fe32:8fa2; //serveur secondaire IPV6

}; fichier de zone du serveur dns(alloco.zone) présent dans etc/bind/alloco_online/ TTL 400

@ IN SOA ns.alloco.online. postmaster.alloco.online. ( 3600 ; Version 21600 ; Refresh secondary (6h) 3600 ; Retry secondary (1h) 2592000 ; Expire if no refresh (30 jours) 86400 ; Negative cache (24h) )

Enregistrements des serveurs de noms

@ IN NS ns.alloco.online. @ IN NS ns2.wahran.online.

Enregistrements AAAA (IPv6)

ns IN AAAA 2001:660:4401:60a0:216:3eff:fe81:abfe

Enregistrements A (IPv4)

ns IN A 193.48.57.164

Enregistrements CNAME

www IN CNAME alloco.online