L’émulation réseau avec GNS3 permet de modéliser fidèlement le réseau du campus universitaire de Souk-Ahras, facilitant l’évaluation des performances telles que les temps de réponse et la bande passante. Cette approche identifie efficacement les problèmes de débit et de perte de paquets.
Chapitre 4
Emulation réseau avec GNS3
Introduction
Afin d’avoir des nouvelles technologies de communication travaillant dans le domaine de réseaux une solution pour virtualiser et modéliser fidèlement des réseaux le GNS3 a était adopter. Le principal avantage de GNS3 réside dans l’émulation matérielle, en lieu et place de l’utilisation de simulateurs qui souvent est une manière limitée de virtualiser du matériel.
Grâce à GNS3, nous pouvons tester et estimer, dans des conditions quasi réelles et sans avoir à financer le matériel, leurs configurations et réseaux avant de les mettre en place physiquement. Dans notre cas l’émulation a pour objectifs d’analyse du réseau en vue d’amélioration des performances.
Graphical Network Simulator
GNS3 est un émulateur de réseau open source qui nous fait travailler avec des routeurs virtuels avec des IOS presque réels .En bref, il est utilisé pour configurer des topologies avec une variété d’éléments de réseau. C’est un émulateur de réseau graphique qui permet l’émulation de réseaux complexes.
GNS3 offre une flexibilité maximale des conceptions grâce à une combinaison de pé- riphériques matériels émulés qui exécutent de vrais systèmes d’exploitation réseau tels que :
- Dynamips, un émulateur Cisco IOS.
- Dynagen, un frontal basé sur du texte pour Dynamips.
- Qemu, un émulateur et un virtualiseur de machine générique et open source.
- VirtualBox, un logiciel de virtualisation gratuit et puissant.
1. Installation de GNS3 29
Origine du projet
Le projet GNS3 (2008) trouve son origine dans le logiciel Open Source Dynamips (2005) qui est écrit par Christophe fillot.
Dynagen et Dynagui sont deux autres projets qui s’interfacent avec Dynamips. GNS3 est en quelque sorte le successeur de ces deux logiciels d’interface qui s’est étendu en supportant d’autres hyperviseurs / émulateurs matériels.
Architecture
GNS3 fonctionne selon un modèle client / serveur.il se compose de quatre composants :
- L’interface utilisateur ou GUI (projets gns3-gui ou gns3-web) : celle qui affiche une topologie représentant un projet sur un canevas et permet d’effectuer des actions sur un projet donné, en envoyant des requêtes API au contrôleur.
- Le contrôleur (projet gns3-server) : pilote le projet, gère son état de chaque projet et le sauvegarde sur disque.
- Le serveur (partie du projet gns3-server) : démarre généralement une instance d’ému- lateur pour chaque nœud.
- Les émulateurs (Qemu, Dynamips, VirtualBox. ) : pour exécuter les nœuds [6].
Installation de GNS3
GNS3 fonctionne très bien sur Ubuntu, facile à installer. Dans cette partie nous allons fournir les étapes pour installer GNS3, avec prise en charge IOU, sur Ubuntu 14.04 LTS 64 bits. Une fois terminé, on procéde a l’installation un fichier de licence IOU (pour le support IOU), des fichiers image IOU et des fichiers image IOS ; (parceque GNS3 ne fournit aucun de ces fichiers, nous deverons donc les acquérir nous-même).
Alors l’insatallation de GNS3 v 2.2.0 ce faite simplement par ces deux lignes de com- mandes (figure 4.1) :
FIGURE 4.1 Commande d’installtion du GNS3 VM
Il est maintenant le temps pour démarrer GNS3, tapons la commande suivante dans le terminal :
FIGURE 4.2 Interface GNS3
Ajout d’un firmware Cisco à GNS3
Après avoir installé le programme GNS3, suivons les étapes ci-dessous pour ajouter une nouvelle image IOS de routeur / switch, on les installons à partir du lien (figure 4.3) , ou bien à partir du Appliances Marketplace (figure 4.4).
FIGURE 4.3 Lien d’installation du Cisco IOS GNS3
FIGURE 4.4 Ajout d’une image d’un noeud Cisco
Par l’exécution du GNS3, la première ouverture du programme est la suivante 4.5. On sélectionne Serveur local dans la fenêtre de l’assistant de configuration. Après avoir sélectionné l’option Serveur local, cliquer sur le bouton «Next».
FIGURE 4.5 GNS3 Setup wizard
Pour ajouter une image IOS du routeur Cisco, sélectionner «Ajouter un routeur IOS à l’aide d’une image IOS réelle» sur la page «Add virtual machines» 4.6.
FIGURE 4.6 Ajouter un routeur IOS en utilisant une vraie image IOS
Dans la fenêtre des images IOS, cliquer sur le bouton «Browse» sur la page «IOS Image» pour ajouter l’image du routeur (Voir Figure 4.7).
FIGURE 4.7 IOS image
Dans la fenêtre «Select an IOS image» qui s’ouvre, sélectionner une image IOS téléchar- gée auparavant sur l’ordinateur et cliquer sur le bouton «Open» (figure 4.8).
FIGURE 4.8 Sélectionner une image IOS
Sur la page «Image IOS», cliquer sur le bouton «Oui» pour copier l’image IOS du routeur à l’emplacement par défaut. Après avoir ajouté l’image IOS, cliquer sur le bouton «Next».
- Sur la page «Name and platform», on sélectionne la plate-forme du routeur Cisco et cliquer sur le bouton «Next».
- Dans la page «Memory», on configure la quantité de RAM utilisée par le routeur Cisco dans cette fenêtre. Ensuite en cliquant sur le bouton «Next» pour accepter la valeur par défaut de 512 Mo de RAM.
- la possibilité d’ajout des interfaces pour le routeur sur la page «Cartes réseau». on sélectionne l’interface «FastEthernet» configurée par défaut et cliquer sur le bouton «Nextt».
Cliquer sur le bouton «Terminer» pour continuer le processus d’ajout d’IOS. Il nous donne des informations sur l’image du routeur que on a ajoutée dans la fenêtre «Modèles de routeur IOS». Cliquer simplement sur le bouton «OK» pour fermer cette fenêtre (figure 4.9).
Une fois que notre image Cisco IOS a été ajoutée avec succès,on terminera l’ajout des images Cisco IOS pour les routeurs disponibles.
Cisco Catalyst Switches
Pour la commutation, on a utiliser une image binaire IOU L2, par contre IOU L3 image du dispositif fait parti du IOS routeur templates .
IOU = IOS sous Unix. Nous utilisons l’image IOU L2 pour émuler un commutateur Cisco (à la fois c4507 et) et l’image IOU L3 pour émuler un routeur Cisco, directement en tant qu’application Linux (c’est le plus rapide car il n’y a pas de virtualisation).
FIGURE 4.9 IOS Router Templates
Pour ajouter une image IOU L2 du switch Cisco, sélectionner «add an IOU device using a L3 or L2 IOU image» sur la page «New appliance template» (figure 4.10).
FIGURE 4.10 Selectionner IOU dispositif
Dans la fenêtre «Select an IOU image» qui s’ouvre, sélectionner une image IOU (figure 4.11) .
FIGURE 4.11 Selection du IOU L2 image
Même étape a suivre de IOS routeur pour IOU L3 et asa firewall (figure 4.12) :
FIGURE 4.12 Sélection d’asa firewall image
VPCS
Virtual PC Simulator est un programme qui vous permet de simuler un PC léger prenant en charge DHCP et ping. Il ne consomme que 2 Mo de RAM par instance et ne nécessite pas d’image supplémentaire.
Paquetage d’application avec Docker
Comme GNS3 colle ensemble de nombreuses pièces mobiles, il peut être gênant de tout installer et de tout faire fonctionner de manière transparente, c’est pourquoi j’ai créé une image (conteneur) Docker avec tout installé, fonctionnel et prêt à être utilisé sur Linux.
Conteneur Docker
Docker est un outil conçu pour faciliter la création, le déploiement et l’exécution d’appli- cations à l’aide de conteneurs. Les conteneurs nous permet d’empaqueter une application avec toutes les parties dont elle a besoin, Cela signifie que les conteneurs consomment beaucoup moins de RAM et de ressources CPU dans l’ensemble, par instance, et ont une empreinte de stockage plus petite. Docker c’est comme une couche de virtualisation minimale qui permet de déployer une application voir une petite distribution Linux sur un système existant. Ceci permet l’exécution de cette application directement sur le système d’exploitation de la machine hôte sans se soucier de ses dépendance.
Image Docker basée sur un template
Pour créer un conteneur, suivant les étapes suivantes : Help => Setup Wizard => Add a Docker container (figure 4.13) .
FIGURE 4.13 Ajouter un conteneur Docker
On a sélectionner le conteneur utiliser. Il existe de nombreux conteneurs disponibles gratuitement sur Docker Hub (https ://hub.docker.com), ainsi que dans GNS3 Marketplace (il vous suffit de télécharger le fichier d’appliance .gns3a approprié, d’utiliser « Wizard » «import appliance» et suivez la direction).
— Nous avons utilisé trois image du « docker » :
Webterm
c’est une image docker qui contient uniquement Firefox. Il utilise un client VNC comme console.
la suite des étapes ce faite automatiquement comme l’intégration des images précédentes.
Networkers’ Toolkit
Cet appliance contient un logiciel côté serveur pour la gestion secondaire des périphé- riques réseau : www, ftp, tftp, dhcp, serveur snmp, etc.
Télecharger Networks’ ToolKit a partir de appliance Marketplace et cliquer sur « Next » :
Faite glisser cette image vers la topologie pour lancer l’extraction.
Après avoir ajouté un modèle docker pour Alpine Linux dans GNS3, on a obtenus le message ci-dessus.(figure 4.14)
FIGURE 4.14 Fenêtre d’erreur
Pour débarrasser de ce message, on a installer Docker en suivant les lignes de commandes suivantes :
Après avoir installé Docker, j’ai ajouter le nom d’utilisateur dans le groupe Docker avec la commande suivante :
Vérifier si le service docker est démarré avec la commande suivante :
Si docker n’est pas démarré, démarrer avec la commande suivante :
Enfin Déconnecter des machines virtuelles GNS3 et reconnecter. Démarrer GNS3 et utiliser le docker souhaiter.
dch_alpha_univ
Il s’agit également d’une image docker basée sur Toolkit, augmentée avec iptables pour effectuer le NAT, et isc-dhcp-server pour fournir des adresses DHCP pour l’ancien intranet. Ceci n’est utilisé que pour émuler l’hôte alpha qui est le routeur Linux + NAT + serveur DHCP pour l’ancien intranet.
1. Émulation du navigateur Web Firefox via Docker 39
Émulation du navigateur Web Firefox via Docker
A partir du Marketplace Appliance, Télécharger le fichier firefox.gns3 (figure 4.15) .
FIGURE 4.15 Marketplace Appliance Firefox On le sélectionne a partir du Setup Wizard 4.16 .
FIGURE 4.16 Séléctionner le fichier firefox.gns3 On le import a partir du lien https ://sourceforge.net/ :
FIGURE 4.17 Ajouter appliance
Par l’apparition de (la fenêtre 4.18) l’installation a été réussi avec succée.
FIGURE 4.18 Firefox a été installer
Émulation d’un hôte Ubuntu Linux via Docker
L’ajout d’Appliance du hôte linux en utilisant une image docker Ubuntu ne diffère pas a l’intégration des image OSI, etc. Ce faite aussi a partir du Marketplace => Appliance :
1. Émulation d’un hôte Ubuntu Linux via Docker 41
On sélectionne le fichier ubuntu-docker.gns3, a partir de File => Add Appliance :
Aprés avoir cliquer sur Open => Next => Next (garder les donées par défaut) , faite glissir cette image vers la topologie pour lancer l’extraction.
Pour exécuter des nœuds virtuels dans un réseau simulé, le simulateur de réseau open source GNS3 prend en charge deux technologies de virtualisation : Qemu et VirtualBox. Les routeurs open-source que nous utiliserons dans un réseau simulé GNS3 doivent fonctionner sur un hyperviseur Qemu ou VirtualBox. Par exemple, les image cisco sont destinées pour un processeur MIPS et avec la virtualisation QEMU/KVM ou Dynamips ont peut les exécuter sur un processeur Intel dans Linux.
Puisque le routeur virtuel présent dans notre topologie comme l’indique « le chapitre 2 », alors il faut qu’on prends ce point en consédération.
Qemu
Qemu est une plate-forme d’émulation matérielle et de virtualisation open source. Les nœuds virtuels GNS3 Qemu peuvent être créés quand ils sont nécessaires – chacun sera basé sur une image de système de fichiers de base et Qemu configure un système de fichiers copie sur écriture séparé pour chaque nœud Qemu virtuel que l’utilisateur crée dans un projet GNS3. GNS3 -> Edit -> Preferences -> QEMU
QEMU peut fonctionner indépendamment, mais en raison de l’émulation effectuée entièrement dans le logiciel, il est extrêmement lent. Pour surmonter cela, QEMU vous permet d’utiliser KVM comme accélérateur afin que les extensions de virtualisation de CPU physiques puissent être utilisées [3].
KVM
KVM est un hyperviseur qui s’exécute dans l’espace noyau, qui permet à un programme d’espace utilisateur d’accéder aux fonctionnalités de virtualisation matérielle de différents processeurs [3].
La virtualisation fait référence à la création d’une ressource virtuelle telle qu’un serveur, un bureau, un système d’exploitation, un fichier, un stockage ou un réseau.
GNS3 sur un ordinateur local
GNS3 utilise donc ces images, docker, pour émuler et virtualiser des routeurs, switch, firewall et serveurs de tout constructeur.
Maintenant on peut dire que le GNS3 est installé avec succès et prés a être utiliser. C’est le temps a crée une partie du réseau du campus universitaire.
Pour une première méthode, Nous choisirons l’option “run appliances on my local computer“ puisque nous utilisons Ubuntu, nous n’avons pas besoin de la machine virtuelle GNS3 pour exécuter les périphériques IOS / KVM.
FIGURE 4.19 Les différents serveurs lesquel on peut exécuté un projet GNS3
Lorsqu’on démarre GNS3 v 2.2.0, crée un nouveau projet en cliquant sur File-> New_blank_project
sous le nom de campusnet (figure 4.20)
FIGURE 4.20 Initialisation du nom du projet
Pour créer notre topologie GNS3, sélectionner un groupe de périphériques commencant par le routeur d’accè avec un switch :
Faites glisser et déposerr le switch, Cliquant sur l’une des deux appareil pour afficher les interfaces disponibles, aprés avoir les connecter ensemble. nous utiliserons FastEthernet0/0 de routeur pour le connecter avec e0, et nat0 d’une elipse NAT avec FastEthernet0/1 :
Maintenant, configurons les appareils :
Comme ce sont des images IOS, elles agiront comme de vrais dispositifs, comme vous le verrez.
Après le chargement de getway, nous serons déjà à l’invite d’activation :
Maintenant, Comme nous pouvons le voir, les deux interfaces sont « UP » :
Nous devrions maintenant pouvoir envoyer un ping au 193.194.69.177 : And the pings
succeed.
Suivant les méme étapes pour avoir notre complexe topologie d’une partie du l’université, et ca va étre la topologie ci-dessus :
FIGURE 4.21 Réseau du campus universitaire sous GNS3
GNS3 sur un serveur distant
Pour une deuxiéme étape que peut-on exécuté un projet GNS3, c’est un serveur a distant ; le serveur peut être un ordinateur distant et peut être partagé avec plusieurs utilisateurs.
Installer le client openvpn et ouvrez une connexion sécurisée au serveur :
Attender la ligne … Initialization Sequence Completed Garder le ouvert.
Ouvrir l’interface graphique GNS3 et ajouter un serveur distant à l’adresse 172.16.253.1 :3080 sans authentification.
Conclusion
Dans ce chapitre nous avons présenté le GNS3 et sa procédure d’installation avec l’inté- gration des images Cisco . Ce dernier nous a permet d’émuler, de configurer, de tester et de dépanner notre réseau universitaire d’une façons virtuelle. Dans le chapitre suivant on vas déterminer un sondage permettant d’avoir une avis des utilisateurs universitaire a laquelle une évaluation de la qualité du réseau peut être effectuer.
FIGURE 4.22 Emulation du réseau du campus universitaire sous serveur a distant