TP sysres IMA5sc 2018/2019 G2
Sommaire
TP GIS4 - Conteneur réalisation manuelle
Création des systèmes fichier
Dans le répertoire /home/pifou/Documents/IMA5/JDQB/PRA/ (Zabeth09)
dd if=/dev/zero of=disk1 bs=1024k count=10240
mkfs disk1
Dans /tmp création de répertoires pour le stockage
mkdir JDQB_DISK1 mkdir JDQB_DISK2 mkdir JDQB_DISK3
mount -o loop disk1 /tmp/JDQB_DISK1
debootstrap --include=apache2,nano stable /tmp/JDQB_DISK1
echo "proc /proc defaults 0 0" >> /tmp/JDQB_DISK1/etc/fstab
umount -d /tmp/JDQB_DISK1
On clone le disk1 pour avoir disk2 et disk3 (cp)
On remonte les trois disques
mount -o loop diskX /tmp/JDQB_DISKX
Lancement des conteneurs
Ouverture de trois terminaux en root, puis utilisation de la commande dans chacun des terminaux
unshare -n -u -p -f -m chroot /tmp/JDQB_DISKX /bin/sh -c "mount /proc ; /bin/bash" ;
Dans chaque conteneur
ip l set eth0 up
Cette commande s'applique aussi à eth1 pour le conteneur 1
Mise en place commutateur virtuel
Création des interfaces liées
iface_virt_X (interface virtuelle X) <-> iface_ns_X (interface namespace X)
ip link add iface_virt_1 type veth peer name iface_ns_1 ip link add iface_virt_2 type veth peer name iface_ns_2 ip link add iface_virt_3 type veth peer name iface_ns_3
Création de notre propre pont
ip link add jdqb_bridge type bridge
Ajout des parties des interfaces dans le commutateur
ip link set iface_virt_1 master jdqb_bridge ip link set iface_virt_2 master jdqb_bridge ip link set iface_virt_3 master jdqb_bridge
Activation des interfaces
ip link set iface_virt_1 up ip link set iface_virt_2 up ip link set iface_virt_3 up
Activation du pont
ip address add dev jdqb_bridge 192.168.0.1/24
Montée du pont
ip link set jdqb_bridge up
Connexion des conteneurs à leur interface virtuelle respective
ip link set iface_ns_1 netns /proc/<PID1>/ns/net name eth0 ip link set iface_ns_2 netns /proc/<PID2>/ns/net name eth0 ip link set iface_ns_3 netns /proc/<PID3>/ns/net name eth0
Obtention des PIDs
ps aux | grep unshare
Quatrième interface, reliant le mandataire web inverse (conteneur 1) et le bridge de zabeth09
ip link add iface_virt_0 type veth peer name iface_ns_0 ip link set iface_virt_0 master bridge ip link set iface_virt_0 up ip link set iface_ns_0 netns /proc/<PID1>/ns/net name eth1
Modification de la table IP
iptables -F iptables -F -t nat iptables -P FORWARD ACCEPT
Attribution des adresses aux conteneurs
nsenter -t <PID1> -n ip address add dev eth0 192.168.0.91/24 nsenter -t <PID2> -n ip address add dev eth0 192.168.0.92/24 nsenter -t <PID3> -n ip address add dev eth0 192.168.0.93/24
nsenter -t <PID1> -n ip address add dev eth1 172.26.145.90/24
Mandataire inverse
Configuration Apache2
Afin de configurer notre premier conteneur en mandataire inverse, nous modifions le fichier : /etc/apache2/sites-available/000-default.conf
Nous ajoutons :
<VirtualHost *:80> ... ProxyPass /site1 http://192.168.0.92/ ProxyPassReverse /site1 http://192.168.0.92/ ProxyPass /site2 http://192.168.0.93/ ProxyPassReverse /site2 http://192.168.0.93/ ProxyRequests Off ... </VirtualHost>
Configuration réseau
Ajout de la route par défaut (Polytech) :
ip route add default via 172.26.145.254
Configuration eth1 :
ip add add dev eth1 172.26.145.90/24 ip link set eth1 up
11h25 => Serveurs Web unshare OK
Création des conteneurs via Docker
InstructionsTexte italique
docker run -i -t debian
export http
apt-get install apache nano vi
En dehors conteneur docker commit <image name> sur le conteneur
Creer réseau privé docker network create
(2X)docker run -i -t <image name> --net nom réseau
docker run -i -t <image name> --net nom réseau -p 80:80
DNS : vérifier les @IP des conteneurs LE mandataire inverse doit avoir @IP de zabeth
Procédure
Modification des paramètres de docker dans /etc/default/docker, commenter la ligne DOCKER_EPTS="--iptables=false"
iptables-save service docker restart
docker run -i -t debian /bin/bash
Dans le conteneur
export http_proxy export https_proxy
apt-get update apt-get install apache2 nano vim
Récupération ID du docker
docker ps
Commit sur le docker
docker commit <ID> apache2
Création du network
docker network create jdqb_network
Lancement des conteneurs
docker run -i -t --net jdqb_network apache2 docker run -i -t --net jdqb_network apache2 docker run -i -t --net jdqb_network -p 80:80 apache2
Dans chaque conteneur
ip a
Dans le conteneur mandataire
nano /etc/apache2/sites-enabled/000-default.conf
Ajout des proxypass
ProxyPass /site1 http://<IP conteneur 1>/ ProxyPassReverse /site1 http://<IP conteneur 1>/ ProxyPass /site2 http://<IP conteneur 2>/ ProxyPassReverse /site2 http://<IP conteneur 2>/ ProxyRequests Off
Ajout d'un DNS dans GANDI @plil.space
Type A , TTL 1800, nom jdqb-docker, <ip bridge zabeth>
Sur les trois conteneurs
service apache2 restart
10h20 Serveurs Web (docker) OK
TP PRA - Mise en place du routeur Catalyst 3650
Séance 1 : 26/11/2018
Nous avons à notre disposition l'adresse IPV4 routée 193.48.57.160/27.
Nous disposons également de l'adresse IPV4 non routée 10.60.0.0/16.
Découpage réseau IPV4 routé en deux sous réseaux
Nous divisons l'IPV4 routée en deux sous réseaux.
Pour réaliser leur TP, les IMA2A5 ont utilisés les adresses comprises entre 193.48.57.160/28 et 193.48.57.175/28.
Nous utiliserons donc le second sous réseau : 193.48.57.176/28 à 193.48.57.191/28.
Par conséquent l'adresse IP du routeur 1 est 193.48.57.188/28
Celle du routeur 2 est 193.48.57.189/28
Et enfin le routeur virtuel, pour la diffusion entre routeurs, est 193.48.57.190/28
Découpage du réseau IPV4 non routée en sous réseaux
Nous découpons notre réseau en 254 sous réseaux disponibles. Les IMA2A5 ont utilisés les 5 premiers 10.60.1.0/24 à 10.60.5.0/24 .
Nous prendrons donc les adresses entre 10.60.11.0/24 et 10.60.21.0/24 .
Ces adresses seront routées vers les adresses comprises entre 193.48.57.177/28 et 193.48.57.187/28 .
Séance 2 : 27/11/2018
Configuration du routeur Catalyst 3560
Mise en place du routeur et connexion à celui ci
La configuration du routeur se fera via minicom.
Vérification de l'interface à utiliser :
ls /dev/ | grep ttyUSB
Notre routeur est connecté sur ttyUSB0.
minicom -os
Les paramètres de configuration de minicom sont les suivants :
- port /dev/ttyUSB0
- baud 9600
- 8 bits
- pas de bit de parité
- 1 bit de stop
- pas de contrôle de flux
Configuration du routeur : Configuration des ports
Passage en administrateur :
Router>enable Router#
On liste les interfaces
Router#show interface status Port Name Status Vlan Duplex Speed Type Gi0/1 connected Trunk a-full a-100 10/100/1000BaseTX // vers le commutateur 1 Gi0/2 connected Trunk a-full a-100 10/100/1000BaseTX // vers le commutateur 1 Gi0/3 connected Trunk a-full a-100 10/100/1000BaseTX // vers le commutateur 1 Gi0/4 connected Trunk a-full a-100 10/100/1000BaseTX // vers le commutateur 1 Gi0/5 connected Trunk a-full a-100 10/100/1000BaseTX // vers le commutateur 1 Gi0/6 connected Trunk a-full a-100 10/100/1000BaseTX // vers le commutateur 1 Gi0/7 connected Trunk a-full a-100 10/100/1000BaseTX // vers le commutateur 1 Gi0/8 connected Trunk a-full a-100 10/100/1000BaseTX // vers le commutateur 1 Gi0/9 connected Trunk a-full a-100 10/100/1000BaseTX // vers le commutateur 1 Gi0/10 connected Trunk a-full a-100 10/100/1000BaseTX // vers le commutateur 1 Gi0/11 connected Trunk a-full a-100 10/100/1000BaseTX // vers le commutateur 2 (en E306) // Non connecté [...interfaces Gi0/12-Gi0/48] // les fibres Te0/1 notconnect 1 full 10G 10GBase-SR // vers le local SR52 Te0/2 notconnect 1 full 10G 10GBase-SR // vers cordouan
Afin d'accélérer la communication entre le routeur et le commutateur, les ports 1 à 10 du routeur seront connectés au commutateur.
Router(config)#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface range Gi0/1 - 11 Switch(config-if)#switchport mode access Switch(config-if)#switchport access access trunk Switch(config-if)#exit
Configuration de l'interface 10G vers le local SR52
Router(config)#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface Te0/1 Switch(config-if)#switchport mode access Switch(config-if)#switchport access access vlan 131 // vlan 131 (interconnexion IMA5) Switch(config-if)#exit
Configuration de l'interface 10G vers Cordouan
Router(config)#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface Te0/2 Switch(config-if)#switchport mode access Switch(config-if)#switchport access access vlan 43 // vlan 43 (XEN IMA5) Switch(config-if)#exit
PROBLEME :
*Mar 1 01:42:30.518: %CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on TenGigabitEthernet0/2 (43), with Switch GigabitEthernet3/2 (42).
A FAIRE :
- configurer les interfaces / BDI
Mise en place de la machine virtuelle
Notre machine virtuelle a les paramètres suivants :
-Hostname = Dionysos
-@IP = 193.48.57.178
-Netmask = 255.255.255.240
-dossier = /usr/local/xen
xen-create-image __hostname=Dionysos --ip=193.48.57.178 --netmask=255.255.255.240 --dir=/usr/local/xen
Dans le répertoire /etc/xen, nous modifions le fichier Dionysos.cfg.
Nous adaptons le bridge StudentsInfo, qui devient IMA5sc.
Pour que le système soit connecté dans /etc/network/interfaces nous ajoutons la gateway.
gateway 193.48.57.190
Pour autoriser les connections ssh. Dans /etc/ssh/sshd_config
Puis nous lançons une instance de la VM
xl create Dionysos.cfg xl console Dionysos
Nous avons modifié le mot de passe initial.
Pour éteindre une VM
xl shutdown Dionysos
Séance 3 : 10/12/2018
Config Routeur 3560
- Commande pour save la configuration
Switch#write
Correction sur la config du routeur
- Vers le commutateur 4006 - 10 cables 1G (Notre Salle)
enable conf t interface range Gi0/1 - 10 switchport switchport trunk encapsulation dot1q switchport mode trunk exit
- Vers le commutateur 6000 - 1 cable 1G (Autre Salle)
enable conf t interface gi0/11 switchport switchport trunk encapsulation dot1q switchport mode trunk exit
- Vers Cordouan - cable 10G (Fibre)
conf t interface Te0/2 switchport trunk encapsulation dot1q switchport mode access switchport access vlan 43 // vlan 43 (XEN IMA5) exit
- Vers le local SR52
conf t interface Te0/1 switchport trunk encapsulation dot1q switchport mode access switchport access vlan 131 // vlan 131 (interconnexion IMA5) exit
- Le vlan M = 10 + N (Groupe N)
conf t int vlanM ip address 10.60.M.252 255.255.255.0 standby version 2 standby M ip 10.60.M.254 standby M preempt ipv6 enable ipv6 address 2001:660:4401:60CN eui-64 ipv6 nd prefix 2001:660:4401:60CN::/64 1000 9000 ipv6 nd router-preference High exit
- Le vlan 43 (IM5sc)
int vlan43 ip address 193.48.57.188 255.255.255.240 standby version 2 standby 22 ip 193.48.57.190 standby 22 preempt ipv6 enable ipv6 address 2001:660:4401:60C0 eui-64 ipv6 nd prefix 2001:660:4401:60C0::/64 1000 900 ipv6 nd router-preference High exit
- Le vlan 131 (Interconnexion)
int vlan 131 ip address 192.168.222.9 255.255.255.248 ipv6 address fe80::2 link-local ipv6 enable ipv6 rip tpima2a5 enable exit
- Nommer un VLANs
vlan M name groupeN exit
vlan 43 name Xen exit
vlan 131 name interconnexion exit
conf t ip routing exit show ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set 193.48.57.0/28 is subnetted, 1 subnets C 193.48.57.176 is directly connected, Vlan43 10.0.0.0/24 is subnetted, 11 subnets C 10.60.20.0 is directly connected, Vlan20 C 10.60.21.0 is directly connected, Vlan21 C 10.60.18.0 is directly connected, Vlan18 C 10.60.19.0 is directly connected, Vlan19 C 10.60.16.0 is directly connected, Vlan16 C 10.60.17.0 is directly connected, Vlan17 C 10.60.14.0 is directly connected, Vlan14 C 10.60.15.0 is directly connected, Vlan15 C 10.60.12.0 is directly connected, Vlan12 C 10.60.13.0 is directly connected, Vlan13 C 10.60.11.0 is directly connected, Vlan11 192.168.222.0/29 is subnetted, 1 subnets C 192.168.222.8 is directly connected, Vlan131
- OSPF
Switch(config)#router ospf 1 Switch(config-router)#router-id 10.60.11.252 Switch(config-router)#summary-address 193.48.57.176 255.255.255.240 Switch(config-router)#redistribute connected subnets Switch(config-router)#summary-address 192.168.0.0 255.255.255.0 not-advertise Switch(config-router)#summary-address 10.60.0.0 255.255.0.0 not-advertise Switch(config-router)#network 192.168.222.8 0.0.0.7 area 2 Switch(config-router)#exit
Mise en place des partitions pour la VM
Sur cordouan
lvcreate -L10G -nIMA5_Dionysos_var virtual lvcreate -L10G -nIMA5_Dionysos_home virtual mke2fs /dev/virtual/IMA5_Dionysos_var mke2fs /dev/virtual/IMA5_Dionysos_home
Dans le fichier /etc/xen/Dionysos.cfg
disk = [ 'file:/usr/local/xen/domains/Dionysos/disk.img,xvda2,w', 'file:/usr/local/xen/domains/Dionysos/swap.img,xvda1,w 'phy:/dev/virtual/IMA5_Dionysos_var,xvdb2,w', 'phy:/dev/virtual/IMA5_Dionysos_home,xvdb1,w', ]
Sur la VM, dans le fichier /etc/fstab
/dev/xvdb1 /home ext4 defaults 0 3
Le cas du répertoire /var est plus complexe.
Si nous utilisons la même méthode que pour /home, nous perdrons le /var. Nous ne pourrions donc plus utiliser apt-get, par exemple.
Dans la VM, dans le fichier /etc/fstab
/dev/xvdb2 /var ext4 defaults 0 2
Puis dans le terminal de la VM
mount /dev/xvdb2 /mnt mv /var/* /mnt/ unmount /mnt mount -a
Via la commande df nous contrôlons le résultat.
Filesystem 1K-blocks Used Available Use% Mounted on ... ... ... ... ... ... /dev/xvdb1 10255636 36888 9678076 1% /home /dev/xvdb2 10321208 23028 9773892 1% /var
Mise en place serveur DNS
Utilisation de la méthode bind
Dans le répertoire /etc/bind, nous modifirons les trois fichiers suivants :
named.conf.options
options { directory "/var/cache/bind"; // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113 // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder. // forwarders { // 0.0.0.0; // }; //======================================================================== // If BIND logs error messages about the root key being expired, // you will need to update your keys. See https://www.isc.org/bind-keys //======================================================================== //Mise en place du DNSSEC dnssec-enable yes; dnssec-validation auto; auth-nxdomain no; listen-on-v6 { any; }; allow-recursion{localhost;}; };
named.conf.local
zone "dionysos.space"{ type master; file "/etc/bind/db.dionysos.space"; allow-transfer{217.70.177.40;}; //Autorisation transfert vers ns6.gandi.net };
Puis nous créons le fichier /etc/bind/db.dionysos.space
cp db.local db.dionysos.pw
Dans ce fichier nous entrons les paramètres suivants
; ; BIND data file for local loopback interface ; $TTL 604800 $include /root/SSL_certif/dionysos-ksk.key $include /root/SSL_certif/dionysos-zsk.key @ IN SOA ns.dionysos.space. root.dionysos.space ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; IN NS ns.dionysos.space. ;dns principal IN NS ns6.gandi.net. ;dns secondaire @ IN A 193.48.57.178 ;acces sans le "www." ns IN NS 193.48.57.178 ;acces avec http https www IN A 193.48.57.178; ;acces avec le "www.
Certificat SSL
openssl req -nodes -newkey rsa:2048 -sha1 -keyout dionysos.space.key -out dionysos.space.csr ... Common Name (e.g. server FQDN or YOUR name) []:dionysos.space et dionysos.space.key Email Address []:qboens@polytech-lille.net
Cette opération génére deux fichiers : dionysos.space.crt et dionysos.space.key
Une fois cette étape faite on récupére sur gandi GandiStandardSSLCA2.pem, dans l'onglet du certificat.
Tous les fichiers sont placés dans le répertoire SSL_certif
mv dionysos.space.csr SSL_certif mv dionysos.space.key SSL_certif mv GandiStandardSSLCA2.pem SSL_certif
Installation de DNSSEC
Création de la clef KSK
dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE dionysos.space
Création de la clef ZSK
dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE dionysos.space
Ces clefs ont été crées dans le dossier SSL_certif
Création d'un fichier signé à partir de db.dionysos.space
dnssec-signzone -o dionysos.space -k dionysos-ksk.key /etc/bind/db.dionysos.space dionysos-zsk.key
Dans named.conf.local nous changons le fichier cible, pour que bind9 prenne en compte db.dionysos.space.signed, qui est le fichier signé
zone "dionysos.space"{ type master; file "/etc/bind/db.dionysos.space.signed"; allow-transfer{217.70.177.40;}; //Autorisation transfert vers ns6.gandi.net };
Puis nous relançons bind9
service bind9 restart
Sur le site gandi nous ajoutons les deux clefs, dans l'onglet DNSSEC
Séance 3.5 : 14/12/2018
Craquage WPA/PSK par dictionnaire
Materiel utilisé :
- un PC portable
- une clé Wi-Pi (nécessaire pour le PC portable que nous avons utilisé pour la partie handshake)
- Zabeth13 pour le craquage
Récupération du handshake
Premièrement sur le PC portable SOLE,
#ip a
pour vérifier que nous disposons bien d'une interface wifi wlx40a5ef0f68ce
, puis nous l'utilisons pour écouter sur le wifi :
#airmon-ng start <nom_de_l'interface>
On récupère l'interface retournée, dans notre cas wlan0mon
#airodump-ng wlan0mon
On note l'ESSID de cracotte02 et son channel pour ensuite renvoyer dans des fichiers
#airodump-ng --bssid <ESSID cracotte02> wlan0mon --channel 9 --write FILENAME
On dispose ensuite de 4 fichiers FILENAME.cap FILENAME.csv FILENAME.kismet.csv FILENAME.kismet.netxml
On peut à présent transférer ces fichiers sur ZABETH13 via clé usb:
Rappel montage USB
#fdisk -l //avant de brancher la clé USB #fdisk -l //on récupère l'emplacement de la clé (ex: /dev/sdb -> /dev/sdb1) #mkdir /media/MA_CLE_USB #mount /dev/sdb1 /media/MA_CLE_USB #mv /home/pifou/Mon_FICHIER /media/MA_CLE_USB //répéter autant que nécessaire #umount /media/MA_CLE_USB
Crack WPA/PSK
On crée un petit programme main.c
pour lister tous les codes possibles, on sait qu'il s'agit d'un code de 8 chiffres
#include <stdio.h> #include <stdlib.h> int main(){ int i; // key is 8 numeric digits for(i=0;i<99999999;i++){ printf("%d\n",i); } return 0; }
On compile et on stock dans un txt
#gcc main.c -o main -Wall #./main > dictionnaire.txt
On peut à présent lancer le crack
#aircrack-ng FILENAME.cap -w dictionnaire.txt
Après un certains temps d'execution, on obtient la clé
Clé : 42429902
Séance 4 : 17/12/2018
IPV6 routeur
Vlan 43 - XEN
conf t no int vlan43 int vlan43 ip address 193.48.57.188 255.255.255.240 standby version 2 standby 22 ip 193.48.57.190 standby 22 preempt ipv6 enable ipv6 address 2001:660:4401:60C0::/64 eui-64 ipv6 nd prefix 2001:660:4401:60C0::/64 1000 900 ipv6 nd router-preference High exit
Vlan 131 - Interconnexion
conf t no int vlan 131 int vlan 131 ip address 192.168.222.9 255.255.255.248 ipv6 address fe80::2 link-local ipv6 enable ipv6 rip tpima2a5 enable exit
Vlan 10+N - Groupe N
IPv4
- Notre Routeur :
10.60.10+N.252
- Routeur Virtuel :
10.60.10+N.254
IPv6
2001:660:4401:60XX
- VLAN 11 à 21 :
C1
àCB
- VLAN 43 :
C0
conf t no int vlan11 int vlan11 ip address 10.60.11.252 255.255.255.0 standby version 2 standby 11 ip 10.60.11.254 standby 11 preempt ipv6 enable ipv6 address prefix 2001:660:4401:60C1::/64 eui-64 ipv6 nd prefix 2001:660:4401:60C1::/64 1000 900 ipv6 nd router-preference High exit vlan 11 name groupe1 exit
conf t no int vlan12 int vlan12 ip address 10.60.12.252 255.255.255.0 standby version 2 standby 12 ip 10.60.12.254 standby 12 preempt ipv6 enable ipv6 address prefix 2001:660:4401:60C2::/64 eui-64 ipv6 nd prefix 2001:660:4401:60C2::/64 1000 900 ipv6 nd router-preference High exit vlan 12 name groupe2 exit
conf t no int vlan13 int vlan13 ip address 10.60.13.252 255.255.255.0 standby version 2 standby 13 ip 10.60.13.254 standby 13 preempt ipv6 enable ipv6 address prefix 2001:660:4401:60C3::/64 eui-64 ipv6 nd prefix 2001:660:4401:60C3::/64 1000 900 ipv6 nd router-preference High exit vlan 13 name groupe3 exit
conf t no int vlan14 int vlan14 ip address 10.60.14.252 255.255.255.0 standby version 2 standby 14 ip 10.60.14.254 standby 14 preempt ipv6 enable ipv6 address prefix 2001:660:4401:60C4::/64 eui-64 ipv6 nd prefix 2001:660:4401:60C4::/64 1000 900 ipv6 nd router-preference High exit vlan 14 name groupe4 exit
conf t no int vlan15 int vlan15 ip address 10.60.15.252 255.255.255.0 standby version 2 standby 15 ip 10.60.15.254 standby 15 preempt ipv6 enable ipv6 address prefix 2001:660:4401:60C5::/64 eui-64 ipv6 nd prefix 2001:660:4401:60C5::/64 1000 900 ipv6 nd router-preference High exit vlan 15 name groupe5 exit
conf t no int vlan16 int vlan16 ip address 10.60.16.252 255.255.255.0 standby version 2 standby 16 ip 10.60.16.254 standby 16 preempt ipv6 enable ipv6 address prefix 2001:660:4401:60C6::/64 eui-64 ipv6 nd prefix 2001:660:4401:60C6::/64 1000 900 ipv6 nd router-preference High exit vlan 16 name groupe6 exit
conf t no int vlan17 int vlan17 ip address 10.60.17.252 255.255.255.0 standby version 2 standby 17 ip 10.60.17.254 standby 17 preempt ipv6 enable ipv6 address prefix 2001:660:4401:60C7::/64 eui-64 ipv6 nd prefix 2001:660:4401:60C7::/64 1000 900 ipv6 nd router-preference High exit vlan 17 name groupe7 exit
conf t no int vlan18 int vlan18 ip address 10.60.18.252 255.255.255.0 standby version 2 standby 18 ip 10.60.18.254 standby 18 preempt ipv6 enable ipv6 address prefix 2001:660:4401:60C8::/64 eui-64 ipv6 nd prefix 2001:660:4401:60C8::/64 1000 900 ipv6 nd router-preference High exit vlan 18 name groupe8 exit
conf t no int vlan19 int vlan19 ip address 10.60.19.252 255.255.255.0 standby version 2 standby 19 ip 10.60.19.254 standby 19 preempt ipv6 enable ipv6 address prefix 2001:660:4401:60C9::/64 eui-64 ipv6 nd prefix 2001:660:4401:60C9::/64 1000 900 ipv6 nd router-preference High exit vlan 19 name groupe9 exit
conf t no int vlan20 int vlan20 ip address 10.60.20.252 255.255.255.0 standby version 2 standby 20 ip 10.60.20.254 standby 20 preempt ipv6 enable ipv6 address prefix 2001:660:4401:60CA::/64 eui-64 ipv6 nd prefix 2001:660:4401:60CA::/64 1000 900 ipv6 nd router-preference High exit vlan 20 name groupe10 exit
conf t no int vlan21 int vlan21 ip address 10.60.21.252 255.255.255.0 standby version 2 standby 21 ip 10.60.21.254 standby 21 preempt ipv6 enable ipv6 address prefix 2001:660:4401:60CB::/64 eui-64 ipv6 nd prefix 2001:660:4401:60CB::/64 1000 900 ipv6 nd router-preference High exit vlan 21 name groupe11 exit
Sécurisation des données via RAID5
Les partitions
Création des trois partitions 1G,
lvcreate -L1G -n IMA5_Dionysos_part1 virtual lvcreate -L1G -n IMA5_Dionysos_part2 virtual lvcreate -L1G -n IMA5_Dionysos_part3 virtual
Ajout de ces partitions lors de la création de la VM, dans le fichier Dionysos.cfg:
disk = [ 'file:/usr/local/xen/domains/Dionysos/disk.img,xvda2,w', 'file:/usr/local/xen/domains/Dionysos/swap.img,xvda1,w', 'phy:/dev/virtual/IMA5_Dionysos_var,xvdb2,w' 'phy:/dev/virtual/IMA5_Dionysos_part1,xvdf1,w', 'phy:/dev/virtual/IMA5_Dionysos_part2,xvdg1,w', 'phy:/dev/virtual/IMA5_Dionysos_part3,xvdh1,w', ]
Création du RAID
Création du RAID5 à l'aide de mdadm
sudo mdadm --create /dev/md0 --level=5 --assume-clean --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
Lors du premier essai l'erreur suivante est apparue
mdadm: cannot open /dev/xvdf1: Device or resource busy
Après quelques recherches, j'ai consulté le fichier /proc/mdstat
root@Dionysos:~# cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md127 : active (auto-read-only) raid5 xvdg1[0] xvdf1[2] 2093056 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [U_U] unused devices: <none>
J'ai donc arrêté md127 grâce à
mdadm --stop /dev/md127
Puis j'ai relancé la commande de création du RAID
En relisant /proc/mdstat, j'ai obtenu
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid5 xvdh1[2] xvdg1[1] xvdf1[0] 2093056 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
Daemonisation du volume RAID, pour que la VM le charge à chaque redémarrage
mdadm --monitor --daemonise /dev/md0
On formate le RAID
root@Dionysos:~#mkfs.ext4 /dev/md0 mke2fs 1.44.4 (18-Aug-2018) Creating filesystem with 523264 4k blocks and 130816 inodes Filesystem UUID: e7b32d68-7297-4957-9104-574fff233b93 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Allocating group tables: done Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done
Dans le fichier /etc/fstab, nous demandons à notre VM de monter le volume à chaque redémarrage
/dev/md0 /media/raid ext4 defaults 0 1
Puis nous créons un dossier
mkdir /media/raid
Dans ce fichier, nous créons un simple fichier texte blabla.txt
Comme demandé dans le sujet, j'ai arrêté ma VM. Puis je l'ai relancée, en désactivant une des partitions : xvdh1
Résultat, dans le dossier /media/raid
root@Dionysos:/media/raid# ls lost+found