{{tag>virtualisation réseau émulation BROUILLON}}
----
====== GNS3 ======
===== Introduction =====
La [[virtualisation]] de façon générale constitue un outil très en vogue et utilisé de différentes manières. Ainsi dans le cas de serveurs mutualisés ou encore la création d'un environnement de test l'on peut faire appel à ce procédé.
Virtualiser consiste à émuler des composants matériels qui vont accueillir des systèmes d'exploitation divers et variés. Dans cette catégorie, inutile de présenter l'incontournable [[VirtualBox]] permettant l'émulation des composants d'un ordinateur. [[Qemu]], [[:VMWare Player]] et [[:VMWare Workstation]] remplissent les mêmes fonctions : la virtualisation de stations.
Outre la virtualisation de stations, il est également possible de virtualiser les composants d'un routeur permettant d'utiliser des IOS Cisco ou d'autres équipements que le logiciel supporte que vous pouvez trouver [[https://docs.gns3.com/1FFbs5hOBbx8O855KxLetlCwlbymTN8L1zXXQzCqfmy4/index.html#h.appliances|ici]] et ainsi émuler un outil réseau de votre choix (routeur, switch, pare-feu, ...).
GNS3 est centré sur la réalisation de maquette réseau pour que vous puissiez entraîner vos compétences réseaux ou tester le bon fonctionnement d'une architecture réseau avant de l'appliquer sur une vraie installation sans avoir besoin de matériel physique spécifique tel que des routeurs ou des commutateurs.
===== Présentation =====
L'outil permettant la virtualisation de ces outils de commutation se compose de 3 éléments :
* **Dynamips** : il s'agit de l'outil de virtualisation à proprement parler. Il est en charge d'émuler les composants du matériel Cisco.
* **Dynagen** est "l'interface" en mode texte développée en python et facilitant l'administration et la gestion et l'inter-connectivité des équipements émulés.
* **GNS3** : il s'agit cette fois d'une interface graphique permettant de faciliter la conception de topologies réseaux complexes.
===== Pré-requis =====
* Disposer des [[:sudo|droits d'administration]] ;
* Avoir [[:tutoriel:comment_installer_un_paquet|installé le paquet]] **Qt >= 4.3**.
* Avoir [[:tutoriel:comment_installer_un_paquet|installé le paquet]] **Python3 >= 3.3**.
* Avoir [[:tutoriel:comment_installer_un_paquet|installé le paquet]] **Sip >= 4.5**.
* Avoir [[:tutoriel:comment_installer_un_paquet|installé le paquet]] **PyQt >= 4.1**.
Les développeurs de GNS3 actualise les nouvelles version de GNS3 pour les version LTS d'Ubuntu [[:bionic|18.04]], [[:dingo|19.04]] et [[:focal|20.04]] via leur [[:ppa|dépôt ppa]].
Il est donc recommandé d'utiliser une de ces versions d’Ubuntu pour bénéficier des dernières mise à jour de GNS3.
Le logiciel GNS3 permet de virtualiser des équipements réseaux mais n'en contient pas directement, a part quelque commutateurs basique développé en interne, il vous faut donc posséder des images de routeurs ou commutateurs de votre choix pour utiliser pleinement GNS3.
Vous pouvez récupérer les dernières images des IOS Cisco grâce à un compte [[https://learningnetworkstore.cisco.com/cisco-virtual-internet-routing-lab/personal-edition-virl-pe-20-nodes-virl-20|VIRL]] qui est malheureusement payant (199$ par an) mais vous permet d'avoir les dernières images IOS de chez Cisco.
Une autre solution est d'utiliser les appliances créées par les différents constructeurs (VyOS, Juniper, FRR, Cumulus, Arista, ...) au fil du temps pour être utilisé sur GNS3, vous pouvez trouver ces appliances sur la page officielle : https://gns3.com/marketplace/appliances
===== Installation =====
Dans les dépôts Multiverse jusqu'a [[:bionic|Ubuntu Bionic]], un paquet GNS3 0.8.6 ou GNS3 0.8.7 est présent, mais il n'est plus supporté par les développeurs et la communauté de GNS3 depuis 2014. Cette version ne supporte que du vieux matériel et le format de fichier n'est pas compatible avec les versions récentes de GNS3.
L'équipe de GNS3 maintient un [[:tutoriel:ppa|PPA]] officiel ((https://launchpad.net/~gns3/+archive/ubuntu/ppa)) contenant les dernières versions de GNS3.
Afin d'y accéder, vous devez ajouter le PPA puis installer le paquet :
sudo add-apt-repository ppa:gns3/ppa
sudo apt update
sudo apt install gns3-gui gns3-server
Après l'installation, l'application apparaîtra sous le nom GNS3 dans le menu applicatif.
===== Configuration =====
GNS3, dans certaines configurations, a besoin d'accéder à votre interface réseau avec des droits root mais également de lancer un serveur dynamips en arrière plan. Or, le raccourci présent dans le menu lance l'application avec les droits de l'utilisateur courant. Pour remédier à cela il suffit d'éditer le menu avec l'outil Système >> Préférences >> Menu principal
Dans la fenêtre principale reportez-vous au menu Éducation et cliquez-droit >> propriétés sur la ligne faisant référence à gns3
{{gns3-capture-menu_principal.png|}}.
La fenêtre de gestion des propriétés du lanceur apparaît. Il suffit d'ajouter la commande [[:sudo#gksudo|gksudo]] à la ligne Commande comme indiqué :
{{gns3-capture-proprietes_du_lanceur.png|}}
Nous voici à présent prêts à commencer ; enfin à lancer l'application dans un premier temps. Nous allons à présent passer à la configuration de l'application en elle-même. Cette dernière est relativement intuitive grâce à l'interface graphique.
À présent, nous avons besoin des IOS Cisco afin de les monter ensuite sur des routeurs Cisco.
==== ajout d'un IOS cisco à GNS3 ====
Dans GNS3, cliquez sur Éditer >> Images IOS et hyperviseurs. Une fenêtre vous permettant d'ajouter des IOS s'ouvre.
{{gns3-capture-images_ios_et_hyperviseurs.png|}}
Dans la section paramètres ; renseignez le chemin vers l'IOS à ajouter. La plate-forme ainsi que le modèle s'ajustent de façon automatique une fois l'IOS renseigné. La ligne IdlePC restera pour le moment vide. Elle sera remplie au premier lancement du routeur. Renseignez enfin la capacité de RAM allouée au routeur et cliquez enfin sur sauvegarder. L'image nouvellement montée apparaît à présent dans la section supérieure de la fenêtre. Cliquez à présent sur fermer pour retourner sur la fenêtre principale de GNS3.
===== Utilisation =====
Afin d'utiliser le routeur que nous avons précédemment configuré, il suffit de le sélectionner dans le menu de droite ( //"type de noeud"// ) et de le faire ensuite glisser dans la partie centrale de l'application.
Il reste à présent à configurer le routeur. Cliquez-droit sur le routeur ajouté et cliquez sur Configuration. Cette fenêtre va nous permettre d'ajouter des modules réseau au routeur.
{{gns3-capture-configurateur_de_noeuds.png|}}
Validez.
Il ne reste à présent plus qu'à démarrer le routeur . Cliquez-droit sur le routeur puis Démarrer. Dans le cadre topologie, on observe alors que le voyant relatif au routeur est à présent vert.
{{gns3-capture-gns3.png|}}
Pour accéder à la console d'administration du routeur cliquez-droit sur le routeur puis cliquez sur "Console".
l'interface console du routeur s'ouvre alors.
{{gns3-capture-interface-console.png|}}
Son comportement est le même qu'une connexion par hyperterminal ; il faut donc appuyer sur entrée afin d'accéder à la console du routeur.
===== Utilisation avancée =====
Comme la configuration des routeurs ainsi que la complexité de la topologie mise en oeuvre grâce à l'application GNS3 relève plutot de compétences réseaux, nous n'évoquerons pas "l'usage avancé" qu'il offre en ce sens.
Voyons par exemple comment connecter notre joli routeur à notre réseau local (LAN) voire à Internet !
Pour cela je vous renvoie vers [[http://blog.tools-fm.com/index.php?post/2008/03/11/VirtualBox-et-VM-bridg%C3%A9s|cette page]] qui contient une procédure pour mettre en œuvre notre réseau virtuel.
===== Liens =====
* [[http://www.ipflow.utc.fr/index.php/Cisco_7200_Simulator]] (en)
* [[https://gns3.com/]] (en)
* [[http://www.dynagen.org/]] (en)
* [[http://www.it-connect.fr/importer-une-machine-virtualbox-dans-gns3|Importer une machine virtuelle VirtualBox dans GNS3]] sur IT-Connect (fr)
----
//Contributeurs : [[utilisateurs:va-nu-pied|flo|va-nu-pied]], [[utilisateurs:retho]].//