Vous êtes sur la page 1sur 34

Khalid-AMATOCH

Maximisation de la Résilience
Réseau :

Guide sur la Haute


Disponibilité de pfSense avec
Architecture Collapsed-Core

Réalisé par :
Khalid AMATOCH

1
Khalid-AMATOCH

Table of Contents
CHAPITRE 1- SIMULATION DU RÉSEAU DE L'ORGANISATION .................................................................................. 3

1.1 APERÇU ................................................................................................................................................................. 3


1.2 ARCHITECTURE DE RÉSEAU ................................................................................................................................... 5
1.2.1 Avantages des réseaux Collapsed Core ......................................................................................................... 5
1.3 LA SÉCURITÉ DES RÉSEAUX.................................................................................................................................... 6
1.3.1 Présentation du CARP ................................................................................................................................. 7
1.3.2 Configuration de la haute disponibilité avec pfSense .................................................................................... 7
1.4 L'ADMINISTRATION DU SYSTÈME ........................................................................................................................ 14
1.4.1 Active Directory Domain Services ............................................................................................................. 14
1.4.2 Domain Name System (DNS) .................................................................................................................... 15
1.4.3 Network Policy Server (NPS) ..................................................................................................................... 16
1.4.4 Mail Server ................................................................................................................................................. 17
1.5 VIRTUALISATION ................................................................................................................................................. 20
1.5.1 Solutions Vmware ....................................................................................................................................... 20
1.5.2 Network-Attached Storage .......................................................................................................................... 23
1.5.3 vSphere Cluster ........................................................................................................................................... 27
1.6 LA CONTAINERIZATION ..................................................................................................................................... 30
1.6.1 Installation du moteur Docker. ................................................................................................................... 31
1.7 CONCLUSION ........................................................................................................................................................... 34

2
Khalid-AMATOCH

Chapitre 1- Simulation du réseau de l'organisation

1.1 Aperçu
Dans cette topologie, j'ai essayé de simuler l'environnement d'une organisation, en commençant par implémentation l'architecture CollapsedCore
préconisée par Cisco, implémentation d’une topologie hautement disponible et redondante, centraliser les tâches d'administration, sécuriser le réseau
à l'aide d'une solution open-source (pfSense), et en utilisant le protocole intégré lié à la haute disponibilité qui accompagne cette solution,
implémentant le concept de virtualisation dans l'environnement, et enfin en conteneurisant le travail en utilisant l'environnement docker.

3
Khalid-AMATOCH

Figure 1: Topologie simulant le réseau de l'entreprise dans GNS3

4
Khalid-AMATOCH

1.2 Architecture de réseau


Dans le modèle standard à trois niveaux, le réseau de campus se compose de trois couches composées de blocs
de couche de distribution fonctionnelle. La couche centrale gère le transport entre les sites et répond aux besoins
de routage. Il gère les connexions serveur et Internet. Les pannes de réseau à ce niveau peuvent avoir un impact
significatif, il est donc crucial que cette couche soit conçue avec la résilience à l'esprit afin qu'elle puisse se rétablir
rapidement. La couche d'accès fournit un accès réseau aux utilisateurs finaux. Cela inclut les connexions aux
appareils, tels que les PC et les tablettes. La couche de distribution gère la connectivité entre les couches centrale
et d'accès, sur la base de politiques et de limites intégrées au réseau. Dans l'architecture centrale réduite, les
couches centrales et de distribution sont combinées, ce qui simplifie la conception.

Le modèle à trois niveaux est nécessaire pour les campus complexes qui nécessitent un accès par plusieurs sites,
appareils et utilisateurs. Il en résulte un réseau évolutif, rentable et fiable pour les grandes entreprises.
Cependant, les campus plus petits peuvent récolter des avantages similaires avec un modèle plus simple, réduit
pour améliorer les coûts et la surveillance.

1.2.1 Avantages des réseaux Collapsed Core


Les réseaux Collapsed Core fonctionnent en grande partie de la même manière que leurs homologues plus
grands à trois niveaux. Cependant, certains avantages propres au modèle central effondré en font une meilleure
option pour les petits campus.

• Réduction des coûts : les réseaux centraux effondrés peuvent faire économiser de l'argent à l'entreprise
en réduisant la quantité de matériel nécessaire pour construire et faire fonctionner le réseau. En
combinant les couches centrales et de distribution, ce modèle élimine le besoin d'appareils séparés. Cela
offre aux entreprises la possibilité d'utiliser la plupart des avantages offerts par le modèle à trois niveaux
dans une option économique.
• Protocoles réseau simplifiés : les protocoles nécessaires pour faire fonctionner un réseau central
effondré sont moins complexes. Avec seulement deux couches nécessitant une communication, il y a
moins de possibilités de problèmes de protocole réseau.
• Conçu pour les petits campus : étant donné que le modèle de base réduit était dérivé du modèle à trois
niveaux, le modèle a été conçu pour répondre aux besoins des campus de petite et moyenne taille. Cela
garantit que ces campus peuvent utiliser les avantages pertinents du modèle à trois niveaux sans avoir à
se soucier d'un équipement ou d'une surveillance inutile.

5
Khalid-AMATOCH

Figure 2: Collapsed Core Architecture

1.3 La sécurité des réseaux


Le réseau de l'entreprise implémente des données sensibles, les stocke, les partage en interne, et parfois les
communique à d'autres entreprises ou personnes. Cette ouverture sur l'extérieur détermine des gains de
productivité et de compétitivité. Il est impossible de renoncer aux avantages de l'informatisation, d'isoler le
réseau de l'extérieur ou de risquer la confidentialité des données de l'entreprise. Les données sensibles du
système d'information de l'entreprise sont donc exposées à des actes de malveillance dont la nature et le mode
d'intrusion sont en constante évolution. Les pirates attaquent les ordinateurs principalement par l'accès aux
réseaux qui relient l'entreprise à l'extérieur.

En plus d'avoir un réseau élevé et redondant et avec l'aide des fonctionnalités de pfSense, j'ai pu trouver une
telle solution. Le logiciel pfSense est l'une des rares solutions open source offrant des capacités de haute
disponibilité de niveau entreprise avec basculement dynamique, permettant l'élimination du pare-feu en tant
que point de défaillance unique. La haute disponibilité est obtenue grâce à une combinaison de fonctionnalités :

• CARP pour la redondance des adresses IP


• XMLRPC pour la synchronisation de la configuration
• pfsync pour la synchronisation de la table d'état

Avec cette configuration, les nœuds agissent comme un cluster « actif/passif », le nœud principal jouant le rôle
de nœud maître et le nœud secondaire jouant un rôle de secours, prenant le relais si nécessaire en cas de
défaillance du nœud principal.

6
Khalid-AMATOCH

Une interface sur chaque nœud de cluster sera dédiée aux tâches de synchronisation. Ceci est généralement
appelé l'interface "Sync", et il est utilisé pour la synchronisation de la configuration et la synchronisation de l'état
pfsync. Toute interface disponible peut être utilisée.

1.3.1 Présentation du CARP


Le protocole CARP (Common Address Redundancy Protocol) a été créé par les développeurs OpenBSD en tant
que solution de redondance ouverte et gratuite pour le partage d'adresses IP entre un groupe de périphériques
réseau. Des solutions similaires existaient déjà, principalement la norme IETF pour Virtual Router Redundancy
Protocol (VRRP).

Une adresse IP virtuelle (VIP) de type CARP est partagée entre les nœuds d'un cluster. Un nœud est maître et
reçoit le trafic pour l'adresse IP, et les autres nœuds maintiennent l'état de sauvegarde et surveillent les
battements de cœur pour voir s'ils doivent assumer le rôle de maître si le maître précédent échoue. Étant donné
qu'un seul membre du cluster à la fois utilise l'adresse IP, il n'y a pas de conflit d'adresse IP pour les VIP CARP.

Figure 3 CARP topology

1.3.2 Configuration de la haute disponibilité avec pfSense


Cette recette décrit la configuration HA à cinq interfaces. Deux interfaces pour chaque réseau pour obtenir une
redondance complète sur le réseau signifie deux interfaces pour le déploiement de la connexion LAN, deux
autres pour le déploiement de la zone DMZ et l'interface Sync utilisée pour synchroniser la configuration et les
états du pare-feu entre les pare-feu principal et secondaire.

1.3.2.1 La redondance
Afin d'atteindre une redondance dans nos zones (exemple de LAN), j'ai créé une interface LAGG, qui combine
les deux interfaces physiques en une seule interface logique. Vous avez la possibilité d'utiliser différentes
technologies, mais j'ai choisi de simplifier le processus.

7
Khalid-AMATOCH

Figure 4: Création de l'interface LAGG

Figure 5: Affectation d'une adresse IP à l'interface LAGG.

J'ai rencontré plusieurs obstacles pour accéder à l'interface LAN depuis les pare-feu, car pfSense ne permet plus
qu'une seule route statique vers une destination spécifique. Dans cette situation, j'ai choisi d'activer HSRP dans
le commutateur Layer3 pour une redondance inversée. Je n'ai pas souhaité utiliser le package de routage
dynamique (FRR Package) pour cette configuration, mais je laisse cette option ouverte pour un futur
lab.Toutefois, si cela vous intéresse, vous pouvez utiliser le routage dynamique.

Figure 6: Configuration HSRP dans le premier commutateur de distribution

8
Khalid-AMATOCH

Figure 7: Configuration HSRP dans le deuxième commutateur de distribution

1.3.2.2 Configuration du pfsync et la synchronisation de la configuration (XML-RPC)


La synchronisation d'état à l'aide de pfsync doit être configurée sur les nœuds principal et secondaire pour
fonctionner.

Tout d'abord, nous devons configurer les interfaces des deux côtés, en leur donnant une adresse afin qu'ils
puissent communiquer entre eux.

Figure 8: Configuration de l'interface pfsync pour le premier pfSense.

Figure 9: Configuration de l'interface pfsync pour le deuxième pfSense

Après avoir configuré l'interface, il est temps d'activer le mécanisme pfSync sur les deux entités, en fournissant
l'adresse IP de l'interface de synchronisation de l'autre.

9
Khalid-AMATOCH

Figure 10: Activation de la synchronisation d'état du premier pfSense

Figure 11: Activation de la synchronisation d'état du deuxième pfSense

Pour la synchronisation de la configuration , il ne doit être configurée que sur le nœud principal. Nous ne devons
jamais activer les options de cette section sur le nœud secondaire d'un cluster à deux membres.

Figure 12: Activation de XML RPC pour le master

10
Khalid-AMATOCH

Nous devons entrer le nom d'utilisateur et le mot de passe de l'autre pfSense, les cases de chaque zone à
synchroniser avec le nœud secondaire. Comme pour la plupart des configurations, toutes les cases sont cochées
pour choisir quoi synchroniser.

Figure 13: Sélection des configurations à synchroniser

Les deux nœuds sont maintenant liés pour la synchronisation de la configuration ! Les modifications apportées
au nœud principal dans les zones prises en charge seront synchronisées avec le nœud secondaire chaque fois
qu'une modification est apportée.

1.3.2.3 Configuration des adresses IP virtuelles CARP


Avec la synchronisation de la configuration en place, les adresses IP virtuelles CARP doivent seulement être
ajoutées au nœud primaire et elles seront automatiquement copiées sur le secondaire.

11
Khalid-AMATOCH

Figure 14: Activation du protocole CARP

Pour la boîte d'interface, elle définit l'interface sur laquelle le VIP résidera, la boîte d'adresse est l'endroit où les
valeurs d'adresse IP sont entrées pour le VIP. Un masque de sous-réseau doit également être sélectionné et il
doit correspondre au masque de sous-réseau sur l'adresse IP de l'interface. Nous devons également définir le
mot de passe pour le CARP VIP. Cela doit uniquement correspondre entre les deux nœuds, ce qui sera géré par
synchronisation.

Après avoir entré les adresses IP virtuelles pour les interfaces LAN, DMZ et WAN, voici à quoi cela ressemble.

Figure 15: Vue d'ensemble des interfaces CARP

Il est maintenant temps de vérifier l'état du protocole CARP sur les deux firewalls.

Figure 16: Statut CARP pour le master pfSense

12
Khalid-AMATOCH

Le premier pare-feu a le statut de Master, ce qui signifie qu'il possède l'adresse IP virtuelle et qu'il est la passerelle
active par défaut.

Figure 17: Statut CARP pour la backup pfSense

Pour le second Firewall, il a un statut Backup, ce qui signifie qu'en cas de panne, il deviendrait le routeur
principal.

À des fins de test, j'ai envoyé un ping à Google à partir du commutateur de couche 3 pour vérifier sur quel pare-
feu le paquet est passé.

Figure 18: Traceroute vers le DNS de Google

Après avoir implémenté la solution de haute disponibilité dans notre topologie, il est temps de mettre à jour à
la fois le proxy Squid et les interfaces VPN pour correspondre à l'adresse IP virtuelle que nous avons créée.

Figure 19: Modifier les paramètres de Squid pour écouter sur l'interface CARP

Et voici le point final du VPN auquel les utilisateurs doivent se connecter.

13
Khalid-AMATOCH

Figure 20: Modifier les paramètres VPN pour écouter sur l'interface CARP

1.4 L'administration du système


Le modèle d'administration centralisée est le modèle administratif que la plupart des entreprises s'efforcent
d'atteindre. Avec le modèle d'administration centralisée, un groupe administratif principal contrôle tous les
actifs informatiques à un emplacement central.

L'un des grands avantages de l'approche des ressources centralisées est qu'elle est facile à administrer. Avec tous
les actifs basés sur un seul emplacement, les administrateurs ont tous les systèmes à portée de main. Chaque fois
qu'une mise à jour de sécurité ou un correctif système doit être appliqué, les systèmes sont à proximité. Étant
donné que tous les systèmes sont géographiquement proches les uns des autres, les problèmes de
communication ne sont généralement pas un problème. Dans un réseau local, les systèmes doivent disposer
d'une large bande passante disponible pour communiquer et partager des données.

Figure 21: Rôles et groupes de serveurs au sein de Windows Server

1.4.1 Active Directory Domain Services


La conception d'Active Directory pour l'approche centralisée est généralement facile à choisir. Étant donné que
les ressources sont centralisées et que le personnel administratif est généralement regroupé, une conception de
forêt simple et unique contenant généralement un seul domaine suffit. Bien sûr, d'autres critères de conception
entreront en jeu et peuvent modifier la structure de la forêt et du domaine, mais il est préférable de commencer
simplement et d'ajouter de la complexité si nécessaire.

14
Khalid-AMATOCH

Figure 22: Utilisateur et groupes Active Directory

Le serveur Windows est promu en tant que contrôleur de domaine, qui est un serveur qui répond aux demandes
d'authentification et vérifie les utilisateurs sur le réseau.

Figure 23: Contrôleur de domaine

1.4.2 Domain Name System (DNS)


Les services de domaine Active Directory (AD DS) utilisent les services de résolution de noms DNS (Domain
Name System) pour permettre aux clients de localiser les contrôleurs de domaine et aux contrôleurs de domaine
qui hébergent le service d'annuaire. Lorsque l'une des opérations principales d'Active Directory est effectuée,
telles que l'authentification, la mise à jour ou la recherche, les ordinateurs utilisent DNS pour localiser les
contrôleurs de domaine Active Directory.

AD DS permet une intégration facile de l'espace de noms Active Directory dans un espace de noms DNS existant.
Des fonctionnalités telles que les zones DNS intégrées à Active Directory facilitent le déploiement du DNS en
éliminant le besoin de configurer des zones secondaires, puis de configurer les transferts de zone.

15
Khalid-AMATOCH

Figure 24: Gestionnaire DNS

De plus, en ce qui concerne les requêtes Internet, j'ai promu le serveur DNS en tant que redirecteur DNS, qui est
le processus par lequel des ensembles particuliers de requêtes DNS sont transmis à un serveur désigné pour une
résolution en fonction du nom de domaine DNS dans la requête plutôt que d'être géré par le serveur initial qui
a été contacté par le client.

1.4.3 Network Policy Server (NPS)


Network Policy Server (NPS) permet de créer et d'appliquer des politiques d'accès au réseau à l'échelle de
l'organisation pour l'authentification et l'autorisation des demandes de connexion.

Dans le cas de cette topologie, NPS était censé être utilisé comme proxy RADIUS (Remote Authentication Dial-
In User Service) pour transférer les demandes de connexion à un serveur RADIUS local afin qu'il puisse
équilibrer la charge des demandes de connexion et les transmettre au bon domaine pour authentification.

NPS permet de configurer et de gérer de manière centralisée l'authentification, l'autorisation et la comptabilité


de l'accès au réseau au sein de notre réseau. Tout d'abord, nous devons configurer le client RADIUS.

Figure 25:Serveur NPS

NPS uses network policies and the dial-in properties of user accounts to determine whether a connection request
is authorized to connect to the network.

16
Khalid-AMATOCH

Figure 26: Création d'une nouvelle politique au sein de notre serveur NPS

1.4.4 Mail Server


Un serveur de messagerie est essentiellement un système informatique qui envoie et reçoit des e-mails. Lorsque
vous envoyez un e-mail, il passe par une série de serveurs pour atteindre sa destination finale. Bien que ce
processus soit rapide et efficace comme l'éclair, l'envoi et la réception d'e-mails sont très complexes. La
communication par e-mail implique des protocoles et des processus complexes. Habituellement, le serveur de
messagerie est un ordinateur ou une machine qui dispose d'un système complet avec différentes applications
ou services. En fonction du type d'action qu'ils effectuent, les serveurs de messagerie peuvent être classés en
serveurs de messagerie entrants et sortants.

17
Khalid-AMATOCH

Figure 27: Architecture du serveur MAIL

Dans le cas de cette implémentation, j'ai utilisé la solution MailEnable, qui est un serveur de messagerie
commercial basé sur Windows distribué par MailEnable Pty. Ses fonctionnalités incluent la prise en charge des
protocoles de messagerie IMAP, POP3 et SMTP avec prise en charge SSL/TLS, liste serveur, antivirus, anti-spam
et fonctionnalité de messagerie Web. Ce qui facilite sa gestion, c'est que ses fonctions d'administration peuvent
être exécutées à l'aide de la Microsoft Management Console (MMC) ou d'un navigateur Web.

Figure 28: Configuration de mailEnable

Et voici une démo entre l'utilisateur Khalid et User.

18
Khalid-AMATOCH

Figure 29: Page de connexion MailEnable

Figure 30: démo mailEnable entre l'utilisateur Khalid et l'utilisateur user

19
Khalid-AMATOCH

1.5 Virtualisation
De nombreuses organisations informatiques déploient des serveurs qui ne fonctionnent qu'à une fraction de leur
capacité, souvent parce qu'elles dédient leur serveur physique à une application spécifique. Il s'agit
généralement d'un mécanisme inefficace car il existe une capacité excédentaire qui n'est pas consommée, ce qui
entraîne des coûts d'exploitation et des coûts informatiques plus élevés.Dans le but d'augmenter l'utilisation de
la capacité et de réduire les coûts, la virtualisation a été créée.

La virtualisation utilise un logiciel pour créer une couche d'abstraction sur le matériel physique. Ce faisant, il
crée un système de calcul virtuel, appelé machines virtuelles (VM). Cela permet aux organisations d'exécuter
plusieurs ordinateurs virtuels, systèmes d'exploitation et applications sur un seul serveur physique, en le
partitionnant essentiellement en plusieurs serveurs virtuels. En termes simples, l'un des principaux avantages
de la virtualisation est qu'il s'agit d'une utilisation plus efficace du matériel informatique physique ; ceci, à son
tour, offre un meilleur retour sur investissement d'une entreprise.

Figure 31: Types d'hyperviseurs

1.5.1 Solutions Vmware


La gamme complète de produits VMware peut être difficile à parcourir pour certains administrateurs
informatiques. Une présentation des produits VMware offrira un aperçu de certains des produits de
virtualisation bien connus de VMware et de leurs fonctionnalités, ainsi que des opportunités de certification
pour ces produits.

La virtualisation des centres de données et l'informatique de l'utilisateur final sont de grands marchés avec une
abondance de produits parmi lesquels les administrateurs peuvent choisir. VMware fournit plusieurs outils dans
ces segments, notamment vSphere, NSX-T Data Center (anciennement NSX-T), vSAN et vRealize pour la
virtualisation des centres de données et VMware Horizon Suite et Workspace ONE UEM pour la virtualisation
des postes de travail.

20
Khalid-AMATOCH

Dans cette topologie, nous avons choisi les solutions vSphere comme principal mécanisme de virtualisation dans
notre environnement.

1.5.1.1 VMware vSphere 7


La fonction principale de vSphere continue d'exécuter des machines virtuelles dans la majorité des charges de
travail VMware. VMware gère vSphere avec vCenter Server, qui est l'appliance de gestion centrale qui régit
chaque hôte vSphere et VM. VMware vSphere comprend une multitude de produits et de fonctionnalités, tels
que l'hyperviseur ESXi, le serveur vCenter, vSphere Client, les kits de développement logiciel vSphere, Virtual
Machine File System, Virtual SMP, vMotion, vSphere High Availability, DRS, Fault Tolerance et Host Profiles -
- qui permettent tous aux administrateurs de virtualiser et de moderniser leurs applications.

Remarque : dans cette démonstration, j'expliquerai quelques éléments sur la raison du concept de virtualisation
et vSphere consomme des ressources, je n'ai pas pu couvrir tous les sujets de la topologie en raison du manque
de ressources nécessaires.

Commencent la démo en installant ESXI qui signifie Elastic Sky X Integrated. ESXi est un hyperviseur de type
1, ce qui signifie qu'il s'exécute directement sur le matériel du système sans avoir besoin d'un système
d'exploitation (OS). Les hyperviseurs de type 1 sont également appelés hyperviseurs bare metal car ils
s'exécutent directement sur le matériel. ESXi est destiné aux entreprises.

Figure 32: Présentation de l'hôte ESXi

Dans l'intérêt de cette architecture, j'ai choisi de déployer un serveur Windows secondaire sur l'ESXi pour agir
en tant que contrôleur de domaine pour notre topologie à l'aide d'un magasin de données local, puis plus tard
sur l'utilisation du stockage en réseau pour déployer un Serveur Linux (Ubuntu Server) pour bénéficier des
fonctionnalités de Virtualisations et surtout de ce que vSphere peut nous offrir.

21
Khalid-AMATOCH

Figure 33: Installation du serveur Windows dans l'hôte ESXi

Le serveur DNS doit être mis en correspondance sur le deuxième serveur avant de pouvoir rejoindre le même
domaine. Ensuite, nous devrions ajouter les services Active Directory au même serveur mais cette fois en
rejoignant un domaine existant.

Figure 34: Installation des services de domaine Active Directory dans notre nouveau serveur Windows

Rejoindre le domaine “Netproject.lab”.

22
Khalid-AMATOCH

Figure 35: Rejoindre le domaine netproject.lab

Le deuxième serveur a rejoint avec succès notre domaine et agit maintenant en tant que contrôleur de domaine
de secours.

Figure 36:Vérification du nouveau serveur Windows promu en tant que contrôleur de domaine secondaire

1.5.2 Network-Attached Storage


Un périphérique de stockage en réseau (NAS) est un périphérique de stockage de données qui se connecte à un
réseau et est accessible via celui-ci, au lieu de se connecter directement à un ordinateur. Les périphériques NAS
contiennent un processeur et un système d'exploitation afin qu'ils puissent exécuter des applications et fournir
l'intelligence nécessaire pour que les fichiers soient facilement partagés par des personnes autorisées.

La beauté d'un périphérique NAS est qu'il peut être facilement accessible par plusieurs personnes, plusieurs
ordinateurs, appareils mobiles ou même à distance (s'il est correctement configuré).

Pour prendre en charge la variété des façons dont les utilisateurs souhaitent utiliser le stockage en réseau, les
périphériques NAS intègrent plusieurs composants dans leurs architectures :

• Stockage. Habituellement, avec les disques durs, la fonction principale d'un périphérique NAS est de
stocker vos fichiers. Peut prendre en charge plusieurs disques et ils peuvent également fournir une

23
Khalid-AMATOCH

redondance et des temps d'accès aux fichiers et de stockage plus rapides. Les périphériques NAS utilisent
généralement une catégorie NAS spéciale de disques durs de 3,5 pouces qui répondent aux exigences
d'un périphérique qui fonctionne en permanence.
• La mise en réseau. C'est ainsi que le périphérique NAS est connecté à votre ou vos ordinateurs. La
connexion au réseau peut se faire via un câble Ethernet (câblé) ou Wi-Fi.
• Ordinateur/UC. Les périphériques NAS contiennent une sorte de processeur, car il faut de l'intelligence
et de la puissance informatiques pour gérer le système de fichiers, lire et écrire des opérations, exécuter
des applications, traiter des fichiers multimédias (tels que des vidéos), gérer plusieurs utilisateurs et
s'intégrer au cloud si vous le souhaitez.
• Système opérateur. Bien qu'il puisse ne pas sembler à l'utilisateur moyen qu'il existe un système
d'exploitation qui gère le périphérique de stockage, les périphériques NAS doivent avoir un système
d'exploitation sur eux pour prendre en charge les tâches.

Pour intégrer ce concept, le projet a utilisé l'outil FreeNAS, qui est la marque d'une gamme de systèmes
d'exploitation de stockage en réseau (NAS) gratuits et open-source produits par iXsystems et basés sur FreeBSD
et Linux. Il prend en charge Windows, macOS, et des clients Unix et divers hôtes de virtualisation tels que
XenServer et VMware utilisant les protocoles SMB, AFP, NFS, iSCSI, SSH, rsync et FTP/TFTP.

freeNAS est géré via une interface Web complète qui est complétée par une console shell minimale qui gère les
fonctions administratives essentielles. L'interface Web prend en charge la configuration du pool de stockage, la
gestion des utilisateurs, la configuration du partage et la maintenance du système.

Figure 37: aperçu de la configuration Web de freeNAS

Avant d'aller plus loin, nous devons comprendre comment les périphériques communiquent avec le stockage
NAS, pour les besoins de cette démonstration, j'ai utilisé le protocole iSCSi, qui signifie Internet Small Computer

24
Khalid-AMATOCH

System Interface, fonctionne au-dessus du protocole de contrôle de transport (TCP ) et permet à la commande
SCSI d'être envoyée de bout en bout sur des réseaux locaux (LAN), des réseaux étendus (WAN) ou Internet.

ISCSI fonctionne en transportant des données de niveau bloc entre un initiateur iSCSI sur un serveur et une cible
iSCSI sur un périphérique de stockage. Le protocole iSCSI encapsule les commandes SCSI et assemble les
données en paquets pour la couche TCP/IP. Les paquets sont envoyés sur le réseau à l'aide d'une connexion
point à point. À l'arrivée, le protocole iSCSI désassemble les paquets, séparant les commandes SCSI afin que le
système d'exploitation (SE) voie le stockage comme s'il s'agissait d'un périphérique SCSI connecté localement
qui peut être formaté comme d'habitude.

Nous devons d'abord configurer le magasin de données pour qu'il soit partagé sur le réseau.

Figure 38: freeNAS: création d'un magasin de données

Après avoir créé le magasin de données, nous devons maintenant activer le service iSCSi dans le freeNAS et le
configurer.

Figure 39: Activation du service iSCSI dans freeNAS

Après une configuration réussie, il est temps de connecter notre hôte ESXI au stockage NAS à l'aide de
l'adaptateur virtuel iSCSi.

25
Khalid-AMATOCH

Figure 40: Ajout du dataStore à notre hôte ESXI

Maintenant, nous devrions pouvoir voir le stockage NAS sur notre hôte ESXi. De plus, je vais installer un serveur
Linux sur ce stockage NAS pour les fonctionnalités avancées de virtualisation.

Figure 41: Vérifier que le magasin de données de freeNAS est ajouté à notre hôte ESXi

Linux s'exécutant sur le stockage NAS.

26
Khalid-AMATOCH

Figure 42: Installation du serveur Ubuntu sur le datastore freeNAS

Un hyperviseur VMware permet d'exécuter des machines virtuelles sur un seul serveur. nous pouvons exécuter
plusieurs machines virtuelles sur un hôte ESXi autonome et déployer plusieurs hôtes pour exécuter davantage
de machines virtuelles. Parfois, l'utilisation de plusieurs hôtes connectés via le réseau pour exécuter des
machines virtuelles ne suffit pas pour répondre aux besoins de l'entreprise. Par exemple, en cas de défaillance
d'un hôte, toutes les machines virtuelles résidant sur cet hôte échoueront également. De plus, les charges de
travail des machines virtuelles sur les hôtes ESXi peuvent être déséquilibrées et la migration manuelle des
machines virtuelles entre les hôtes est une routine. ]Pour résoudre ces problèmes, VMware fournit des
fonctionnalités de clustering telles que VMware High Availability (HA) et Distributed Resource Scheduler
(DRS). L'utilisation du clustering vSphere vous permet de réduire les temps d'arrêt des machines virtuelles et
de consommer les ressources matérielles de manière rationnelle. Cette section suivante couvre VMware HA et
DRS.

1.5.3 vSphere Cluster


Un cluster vSphere est un ensemble d'hôtes ESXi connectés qui partagent des ressources matérielles telles que
le processeur, la mémoire et le stockage. Les clusters VMware vSphere sont gérés de manière centralisée dans
vCenter. Les ressources d'un cluster sont regroupées dans un pool de ressources. Ainsi, lorsque vous ajoutez un
hôte à un cluster, les ressources de l'hôte font partie des ressources de l'ensemble du cluster. Les hôtes ESXi qui

27
Khalid-AMATOCH

sont membres du cluster sont également appelés nœuds de cluster. Il existe deux types de clusters vSphere :
vSphere High Availability et Distributed Resource Scheduler (VMware HA et DRS).

1.5.3.1 Haute disponibilité vSphere


VMware vSphere High Availability vérifie les hôtes ESXi pour détecter une défaillance de l'hôte. Si une
défaillance d'hôte est détectée (les machines virtuelles exécutées sur cet hôte sont également défaillantes), les
machines virtuelles défaillantes sont migrées vers des hôtes ESXi sains au sein du cluster. Après la migration,
les VM sont enregistrées sur les nouveaux hôtes, puis ces VM sont démarrées. Les fichiers VM (VMX, VMDK et
autres fichiers) se trouvent sur la même ressource, qui est une banque de données partagée, après la migration.
Les fichiers VM ne sont pas migrés. Seuls les composants CPU, mémoire et réseau utilisés par les machines
virtuelles défaillantes sont fournis par le nouvel hôte ESXi après la migration.

Figure 43: L'ajout un hôte ESXi au cluster

Une fois vSphere High Availability activé dans le cluster, un hôte ESXi est sélectionné comme maître HA. Les
autres hôtes ESXi sont des subordonnés (hôtes subordonnés esclaves). Un maître surveille l'état des subordonnés
pour détecter à temps la défaillance de l'hôte et initier le redémarrage des machines virtuelles défaillantes. L'hôte
principal surveille également l'état d'alimentation des machines virtuelles sur les nœuds de cluster. Si une panne
de VM est détectée, le maître lance un redémarrage de la VM (l'hôte optimal est sélectionné par le maître avant
de redémarrer la VM défaillante).

28
Khalid-AMATOCH

1.5.3.2 Configuration de la haute disponibilité du cluster.

Figure 44: Activation de la haute disponibilité au sein du cluster

Figure 45: Vérifier que la haute disponibilité est activée

Avec l'aide de la technologie DRS, nous pouvons atteindre la haute disponibilité et l'équilibrage de charge.

Distributed Resource Scheduler (DRS) est une fonctionnalité de mise en cluster de VMware vSphere qui vous
permet d'équilibrer la charge des machines virtuelles exécutées dans le cluster. DRS vérifie la charge de la

29
Khalid-AMATOCH

machine virtuelle et une charge des serveurs ESXi au sein d'un cluster vSphere. Si DRS détecte qu'il y a un hôte
ou une machine virtuelle surchargé, DRS migre la machine virtuelle vers un hôte ESXi avec suffisamment de
ressources matérielles libres pour garantir la qualité de service (QoS). DRS peut sélectionner l'hôte ESXi optimal
pour une machine virtuelle lorsque vous créez une nouvelle machine virtuelle dans le cluster.

1.6 La Containerization
La conteneurisation est une forme de virtualisation où les applications s'exécutent dans des espaces utilisateur
isolés, appelés conteneurs, tout en utilisant le même système d'exploitation partagé (OS). L'un des avantages de
la conteneurisation est qu'un conteneur est essentiellement un environnement informatique entièrement
packagé et portable.

Tout ce dont une application a besoin pour s'exécuter (ses fichiers binaires, ses bibliothèques, ses fichiers de
configuration et ses dépendances) est encapsulé et isolé dans son conteneur. Le conteneur lui-même est séparé
du système d'exploitation hôte, avec un accès limité aux ressources sous-jacentes, un peu comme une machine
virtuelle (VM) légère. Par conséquent, l'application conteneurisée peut être exécutée sur différents types
d'infrastructures (sur métal nu, dans des machines virtuelles et dans le cloud) sans qu'il soit nécessaire de la
refactoriser pour chaque environnement.

Figure 46: Conteneurisation vs virtualisation

Pour les besoins de cette section, l'idée était de déployer une application dynamique JAVA dans l'environnement
de conteneurisation. L'application consiste en la gestion de l'école à l'aide des frameworks Spring, Hibernate,
JSF, et MySQL pour la base de données.

Pour créer nos propres conteneurs et images, la plate-forme Docker facilite, simplifie et sécurise la création, le
déploiement et la gestion des conteneurs. Docker est essentiellement une boîte à outils qui permet de créer,
déployer, exécuter, mettre à jour et arrêter des conteneurs à l'aide de commandes simples et d'une
automatisation permettant d'économiser du travail via une seule API.

30
Khalid-AMATOCH

Tout d'abord, j'ai exporté le projet et l'ai empaqueté dans une archive à l'aide de Maven (Avec l'aide du plugin
WAR, qui est responsable de la collecte de toutes les dépendances d'artefacts, des classes et des ressources de
l'application Web et de leur conditionnement).

1.6.1 Installation du moteur Docker.

Figure 47: Version Docker

Tout d'abord, nous devons comprendre ce qu'est un Dockerfile, qui est un document texte contenant toutes les
commandes qu'un utilisateur peut appeler sur la ligne de commande pour assembler une image. À l'aide de
docker build, les utilisateurs peuvent créer une génération automatisée qui exécute successivement plusieurs
instructions de ligne de commande.

Tout compte fait, nous savons maintenant comment créer un fichier docker, pour le bien de notre conception,
nous devons créer deux conteneurs, ce qui signifie que nous devrions avoir 2 images, une pour l'application
JAVA principale et l'autre pour la connectivité de la base de données, afin pour ce faire, nous devons obtenir
l'aide de docker-compose.

Figure 48: Dockerfile

Docker Compose est un outil qui a été développé pour aider à définir et partager des applications multi-
conteneurs. Avec Compose, nous pouvons créer un fichier YAML pour définir les services et avec une seule
commande, nous pouvons tout faire tourner ou tout détruire.

31
Khalid-AMATOCH

Figure 49: docker-compose.yml

Ensuite, nous devons exécuter le fichier docker-compose.

Figure 50: Exécution de docker-compose

Nos conteneurs fonctionnent avec succès.

Figure 51: Vérifier que nos conteneurs sont opérationnels

Remarque : j'ai eu des problèmes lors de l'importation du fichier SQL de notre projet directement à partir du
fichier Docker-Compose, à la place, j'ai créé un petit script qui s'exécute automatiquement pour importer la base
de données.

32
Khalid-AMATOCH

Figure 52: Importation du fichier .sql dans le conteneur de notre base de données

Figure 53: Vérification de la connectivité de notre application

L'image finale de cette partie consistait à implémenter Kubernetes en tant que technique d'orchestration de
conteneurisation à exécuter sur un cluster d'hôtes au sein de notre infrastructure avec la technologie vSphere.

33
Khalid-AMATOCH

1.7 Conclusion
En effet, le motif de la présente étude tournait autour du problème de l'indisponibilité constatée dans
l'infrastructure réseau. Pour y remédier, nous avons proposé à travers cette étude une solution résultant de la
combinaison d'un bon procédé, d'une bonne conception, et d'un éventail de technologies.

Cependant, pour répondre au problème posé, nous avons utilisé différentes technologies et protocoles, à
commencer par l'utilisation de la technologie HSRP, EtherChannel pour l'agrégation de liens physiques, et rapid-
STP+ pour la définition d'un réseau sans boucle. Toute cette gamme a été basée sur une architecture qui répond
au modèle de conception de réseau hiérarchique d'un réseau redondant et à haute disponibilité.

De plus, avec l'aide de GNS3, nous avons pu simuler un environnement d'entreprise, en commençant par
implémenter le pare-feu open source pfSense, en démontrant ses capacités, en centralisant notre travail à l'aide
d'un serveur Windows et enfin nous avons discuté du concept de virtualisation pour virtualiser notre
infrastructure dans les deux sens, à l'aide des environnements vSphere et de l'environnement du moteur Docker.

34

Vous aimerez peut-être aussi