Présentation et Installation de GNS3.

Aujourd’hui nous allons un peu nous écarter de la domotique pour parler réseau. Oui vous savez l’interconnexions de tout ces switchs et routeurs avec de la filasse partout 🙂

Je vous la fait courte mais un des leaders sur le marché réseau est « Cisco System« , qui commercialise ses propres équipements. Cisco développe également ses propres système d’exploitation qu’il intègre dans ses équipements. Un de leur OS le plus répandus est sans doute celui répondant au doux nom d’IOS (le premier qui me dit que c’est pareil que le système Apple, il sort !!!) pour « Internetwork Operating System«  .

OK, c’est bien beau tout ça sauf que ces équipements en question coûtent vraiment une blinde (et je pèse mes mots…), et toutes les entreprises (encore moins les particuliers) n’ont pas le luxe de pouvoir s’acheter du rab pour maquetter en lab. Et c’est justement là qu’intervient le logiciel GNS3 (Graphical Network Simulator), car il va nous permettre d’émuler le système IOS des routeurs/switch Cisco. Plusieurs avantages donc :

  • Tester des configurations.
  • Simuler des comportements avant un déploiement grandeur nature.
  • Se faire la main sur les configurations Cisco.
  • Reproduire des incidents en environnement hors production.
  • Préparer ses certifications CCNA/CCNP/CCIE.
  • S’amuser…

A noter qu’on ne parle pas d’un vulgaire logiciel type packet tracer (pour ceux qui connaissent) qui simulerait uniquement les commandes d’un point de vue logiciel, non non, avec GNS3 vous allez émuler les « vraies » images officielles de Cisco (.bin). Cependant GNS3 ne permet pas d’émuler toutes les plateformes. En effet, celles supportée sont les séries 1700, 2600, 2691, 3600, 3725, 3745, et 7200. Des modèles vieillissants certes, mais parfait pour se faire la main.

Vous pouvez vous balader sur le site de GNS3 pour vous imprégner de l’ambiance 🙂

Le logiciel GNS3 est disponible gratuitement en échange d’une inscription sur le site. Toutes les plateformes (Windows, Linux et MAC) sont supportées.
Pour la suite de l’article je me suis basé sur la dernière version à ce jour, à savoir 1.5.3.

Quelques prérequis.

Avant de vous lancer, il y a quand même quelques conditions à remplir :

  • Avoir un PC digne de ce nom. L’éditeur recommande un processeur 64bits, 8go de RAM et un disque SSD. Plus de détails ici.
  • Des images Cisco à émuler. Officiellement Cisco ne fournit pas publiquement les images de ses équipements mais je vous aide avec un package de plusieurs images ici. Gardez les au chaud, nous les utiliserons plus tard.
  • Avoir un minimum de connaissance en réseau. Car oui si vous n’y connaissez rien, n’allez pas vous casser les dents à essayer de directement configurer des routeurs Cisco… Si ça vous intéresse, regarder plutôt le fonctionnement de TCP/IP.

J’en profite pour préciser qu’on ne s’occupera que de l’installation et d’une présentation basique du fonctionnement de GNS3. On ne verra pas la configuration des équipements ici. Pas aujourd’hui en tout cas!

Bon voyage 🙂

Installation.

La procédure d’installation que je vous présente est tirée de mon installation sur un PC Windows 10.

Exécutez le fichier d’installation que vous avez récupéré sur le site. On va passer chaque étape ensemble.

Je vous conseille d’accepter si vous voulez continuer l’installation. Après avoir lu et compris chaque ligne bien évidemment…

Alors là attention, on va devoir choisir quels éléments/logiciels nous intégrons à notre installation.

WinPCAP et Npcap : Librairies Windows qui opère sur la couche réseau pour traiter les paquets.
Wireshark : LE logiciel à avoir pour capturer et analyser des trames réseaux. Une référence !
SolarWinds Response : Logiciel qui soit disant permet des analyses plus approfondies depuis vos captures wireshark. Je n’ai jamais testé ce logiciel et je n’ai donc pas d’avis objectif.
Dynamips : Le logiciel qui émule les images à proprement parlé.
QEMU : Permet l’émulation des firewall Cisco ASA.
VPCS : Permet de simuler des PC dans les topologies.
Cpulimit : Je ne connais pas le fonctionnement précis, mais cela permet d’optimiser l’utilisation CPU.
GNS3 : L’interface graphique du programme en lui même.
TightVNC : Utilitaire permettant de se connecter sur des PC à distance (avec vnc server d’installé).

Ci-dessous ce que j’ai choisi d’installer :

On choisi le répertoire d’installation, un classique…

Installation de la librairie Winpcap :

Au tour de Wireshark :

Alors là ça sent le partenariat avec Solarwinds… Perso je ne le sens pas, je réponds gentillement « Non » :

Et voilà c’est « déjà » terminé 🙂 En tout cas pour l’installation…

Premier démarrage.

Il faut savoir que GNS3 intègre à la fois un client et un serveur. Le client est l’interface graphique et sera évidement lancé depuis votre PC. Ensuite pour le serveur vous avez 3 possibilités :

  • Local Server : Le serveur est directement exécuté sur votre PC.
  • VM-Server : Le serveur est installé sur une VM Ubuntu, qui est exécuté depuis votre PC. GNS3 fournit des images disques pour VMware et Virtual Box. Cela nécessite donc d’avoir un des 2 logiciel de virtualisation.
  • Remote-Server : Idem à la seconde solution sauf que la virtualisation se fait sur une autre machine.

Etant donné que mon NAS me permet d’émuler des machines, j’ai tendance à utiliser la 3ème solution mais pour la suite on va partir sur la première solution car j’imagine que c’est celle qui sera adoptée par la plupart d’entre vous.

Au démarrage de GNS3, l’assistant se lance pour vous guider et la première question qu’on vous demandera est justement si vous souhaitez lancer le serveur sur une VM ou en local. Je vous conseille aussi de cocher la petite case en bas afin d’éviter qu’on vous le demande à chaque fois. Choisissez donc la deuxième proposition :

Ensuite, l’assistant vous propose d’ajouter des images IOS, chose que nous allons faire. Laissez donc le choix par défaut et cliquez sur « Finish » :

Cela devrait vous ouvrir une nouvelle fenêtre pour la sélection d’un fichier image.
Avant cela, il est temps de dézipper les images que vous aviez du récupérer plus haut (je remet le lien ici pour ceux qui aurait zappé). J’ai mis le tout dans un dossier à la racine du répertoire d’installation mais vous pouvez le stocker là où bon vous semble :

Une fois que c’est fait, sélectionnez votre image et faites « Next ». GNS3 vous proposera de décompressez l’image, acceptez sans broncher :

J’ai pris un routeur 2691 pour l’exemple :

Les champs sont pré-remplis, j’ai laissé le nom par défaut :

Il faut ensuite définir la RAM que l’on va allouer à notre équipement. Une valeur par défaut est renseignée mais je vous conseille d’aller vérifier via le lien indiqué . Ce dernier va vous renvoyer vers le site de Cisco et nous permettra de savoir combien de RAM minimum nous allons devoir allouer à l’équipement :

Le plus simple étant de rechercher avec le nom de l’image :

Le résultat nous indique qu’il faut au moins 128Mo de RAM, donc avec nos 192Mo on est bon !

Passons à la suite. On vous propose d’ajouter des cartes. Par défaut le routeur à déjà 2 ports FastEthernet (100Mbits/s), c’est ce qui équivaut à la référence GT96100-FE. Et comme sur le vrai modèle, un autre emplacement est disponible pour ajouter une carte et si vous regardez les propositions, vous avez :

  • NM-1FE-TX : Ajoute un port FastEthernet.
  • NM-4T : Ajoute 4 ports Série.
  • NM-16ESW : Ajout 16 ports Ethernet

J’ai ajouté une carte avec un port FastEthernet :

De la même manière, on vous propose d’ajouter des cartes WIC (WAN Interface Card). Le choix qu’on vous propose est :

  • WIC-1T : Ajoute 1 port Série.
  • WIC-2T : Ajoute 2 ports Série.

Je n’ai pas ajouté de carte :

Alors ici, faites un « Idle-PC finder », ça devrait prendre quelques secondes et vous sortir une valeur qui ne vous parlera pas du tout (et à moi non plus). Je ne vous explique pas les détails que je ne connais pas, mais sachez que sans Idle-PC de configuré, votre CPU sera à 100% du moment que vous lancez l’émulation. Ce champs est donc important ! S’il ne trouve rien, relancez la recherche :

Vous pouvez terminer l’ajout avec le bouton « Finish ». Et voilà, vous avez ajouté un template pour un routeur Cisco 2691. On va maintenant pouvoir l’utiliser dans nos topologies réseaux. Bravo !

Normalement vous serez redirigé vers les préférences :

Vous l’aurez sûrement compris mais depuis cet écran vous pouvez ajouter d’autres switchs/routeurs en suivant la même procédure. Mais pour l’exemple nous allons utiliser uniquement ce modèle de routeur, on peut donc sortir de là (un « OK » fera l’affaire).

Création d’un nouveau projet.

On vous demandera directement un nom pour votre projet et son emplacement pour la sauvegarde :

Vous arrivez enfin sur l’écran principal de travail. Ici vous allez pouvoir concevoir votre topologie réseau. Petit tour du propriétaire :

Allez, on commence. Dans la partie gauche, cliquez pour ajouter un routeur. Une liste des routeurs disponibles s’affiche, et vous retrouvez le routeur précédemment ajouté. Via un drag-and-drop, vous pouvez l’ajouter sur la fenêtre principale :

Faites de même jusqu’à obtenir la topologie que vous souhaitez.
Dans la colonne à gauche vous aurez accès aux différents équipements qui sont disponibles. Pour les liens il faut cliquer sur l’icône du câble à gauche, ensuite vous allez sur l’équipement à connecter et on vous proposera les interfaces disponibles, vous n’aurez plus qu’à choisir, ensuite faites la même chose avec l’équipement auquel vous voulez raccorder le lien.

Voilà ce que moi j’ai fait :

On observe qu’au niveau des interfaces, certaines sont vertes (active), d’autres rouges (inactive), explication !
A ce stade le serveur est lancé (on peut d’ailleurs voir son statut vert dans la partie à droite), mais pas encore l’émulation des équipements et c’est pour ça que les ports sont considérés comme inactifs. Pour les ports qui sont déjà verts, si vous faites bien attention, il s’agit de tous les ports connectés aux switchs, car en l’occurrence les switchs que nous avons ajoutés sont ceux qui sont nativement disponible dans GNS3 et par conséquent ils n’émulent pas d’image Cisco. Ces switchs là se contentent d’avoir une configuration très très basique uniquement via l’interface logiciel de GNS3. Ils ne peuvent pas être arrêtés et sont donc toujours actif d’un point de vue logiciel.

Vous pouvez bien sûr importer de « vrais » switchs Cisco avec leur images mais dans l’exemple ce n’est pas le cas :

Bref pour que tout passe au vert et soit actif, nous devons lancer l’émulation de notre topologie via le bouton « play » :

Voilà voilà, votre réseau est maintenant actif (dans le sens où les routeurs ont démarrés) et vous pouvez commencer à les configurer. Pour cela faites un bouton droit sur l’un des routeurs et cliquez sur « console« . Voilà vous devriez être connecté au routeur et pouvoir taper des commandes comme si vous y étiez :

Alors oui je suis désolé pour ceux qui seraient frustrés mais comme je vous l’ai dis, cet article n’a pas vocation à vous expliquer comment fonctionne IOS et nous n’allons pas voir la configuration des routeurs ici. Ce serait bien trop long mais je vous promets qu’on y reviendra dans des articles dédiés, d’ailleurs je vous prépare un petit quelque chose 😉

En attendant revenons encore un peu sur GNS3 que je vous apporte quelques précision sur la sauvegarde du projet.
Très important, quand vous sauvegardez le projet (File >> Save project), cela sauvegarde uniquement le projet GNS3, à savoir votre topologie et ce qui est lié directement au logiciel GNS3 mais en aucun cas la configuration de vos équipements émulés !!! Si vous voulez évitez de perdre toute la config de tout vos routeurs, PC, etc… il faudra penser à les sauvegarder directement en ligne de commande (ouais comme les vrais !).

Pour un routeur Cisco (attention à ne pas être en mode de configuration) la commande est : #copy running-config startup-config ou #wr
Pour un VirtualPC : PC1> save

Voilà, vous devriez avoir les bases pour commencer à monter vos propres architectures réseau basé sur IOS, le système de Cisco.
C’est parfait pour vous faire la main avant de tout casser le lundi matin au boulot 🙂

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *