Installation et configuration de GNS3 sous Debian 8

GNS3

Le logiciel GNS3 permet de simuler un environnement en réseaux. De base c’est un outil créer pour l’apprentissage d’émulation des IOS (cisco), avec le temps il est devenu compatible : Qemu, VirtualBox et VMware. La connexion des VM est donc possible. Dans cet article, nous installons GNS3 sous Debian 8 et la partie serveur sera gérer par GNS3 VM sous VMware Workstation 10. Pour terminer une image QEMU de VyOS-1.1.7 (stocké sur le serveur) sera déployé dans GNS3-GUI et disposera d’une liaison de sortie (WAN) via mon hôte Linux.

Installation de GNS3

Nous utilisons les dépôts suivant dans le source.list :

nano /etc/apt/sources.list

Nous ajoutons les dépôts qui pointe vers Ubuntu  :

deb http://ppa.launchpad.net/gns3/ppa/ubuntu trusty main
deb-src http://ppa.launchpad.net/gns3/ppa/ubuntu trusty main

Puis, il suffit d’ajouter la clé du dépôt et de faire une update pour procéder à l’installation de GNS3  :

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A2E3EF7B
apt-get update
apt-get install gns3-gui

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Les paquets supplémentaires suivants seront installés :
  cpulimit dynamips gns3-server ipxe-qemu libaio1 libc-ares2 libfdt1 libiscsi2 libqt5clucene5 libqt5dbus5 libqt5designer5 libqt5gui5 libqt5help5 libqt5network5 libqt5printsupport5
  libqt5svg5 libqt5test5 libqt5widgets5 libqt5xml5 librados2 librbd1 libseccomp2 libsmi2ldbl libspice-server1 libtcl8.6 libtk8.6 libvdeplug2 libvncserver0 libwireshark-data libwireshark5
  libwiretap4 libwsutil4 libxcb-render-util0 libxen-4.4 libxenstore3.0 python3-pyqt5 python3-pyqt5.qtsvg qemu-kvm qemu-system-arm qemu-system-common qemu-system-x86 qemu-utils seabios
  sharutils tcl tcl8.6 tk tk8.6 ubridge vpcs wireshark wireshark-common x11vnc x11vnc-data xvfb
Paquets suggérés :
  gns3 snmp-mibs-downloader wireshark-doc python3-pyqt5-dbg samba vde2 sgabios ovmf debootstrap tcl-tclreadline
Les NOUVEAUX paquets suivants seront installés :
  cpulimit dynamips gns3-gui gns3-server ipxe-qemu libaio1 libc-ares2 libfdt1 libiscsi2 libqt5clucene5 libqt5dbus5 libqt5designer5 libqt5gui5 libqt5help5 libqt5network5 libqt5printsupport5
  libqt5svg5 libqt5test5 libqt5widgets5 libqt5xml5 librados2 librbd1 libseccomp2 libsmi2ldbl libspice-server1 libtcl8.6 libtk8.6 libvdeplug2 libvncserver0 libwireshark-data libwireshark5
  libwiretap4 libwsutil4 libxcb-render-util0 libxen-4.4 libxenstore3.0 python3-pyqt5 python3-pyqt5.qtsvg qemu-kvm qemu-system-arm qemu-system-common qemu-system-x86 qemu-utils seabios
  sharutils tcl tcl8.6 tk tk8.6 ubridge vpcs wireshark wireshark-common x11vnc x11vnc-data xvfb
0 mis à jour, 56 nouvellement installés, 0 à enlever et 2 non mis à jour.
Il est nécessaire de prendre 52,4 Mo dans les archives.
Après cette opération, 240 Mo d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] O
ATTENTION : les paquets suivants n'ont pas été authentifiés.
  vpcs dynamips ubridge gns3-server gns3-gui
Faut-il installer ces paquets sans vérification ? [o/N] o
Lors de l’installation de gns3-gui celui ci installera aussi gns3-server (local par défaut).

GNS3 : une entrée dans le menu cinnamon

Dans mon cas j’utilise une Debian 8 desktop, voici comment j’ai créé une entrée dans le menu de Cinnamon :

touch /usr/share/applications/gns3.desktop

Les informations de base pour le lancement sont :

[Desktop Entry]
Encoding=UTF-8
ffExec=/usr/bin/gns3
Icon=/home/jeremie/Images/ico/gns3.png
Type=Application
Terminal=false
Comment=GNS3 1.5.0
Name=gns3
GenericName=gns3
StartupNotify=false

Redémarrer Cinnamon sur la session de votre utilisateur :

cinnamon --replace

Configuration de GNS3-VM sous VMware Workstation

Depuis le menu cinnamon, lancer GNS3 ou bien en terminal utiliser la commande gns3 :

GNS3 vous demande de choisir entre deux types de serveur, mais en réalité il en existe trois :

Nous sélectionnerons un peu plus tard Local GNS3 VM, pour le moment voici les étapes à suivre :

Nous sommes désormais prêt pour continuer l’étape de la configuration rapide en cliquant sur suivant :

La configuration des vCPU et de la mémoire est exagérée, je vous invite à les modifier à 2vCPU et 2048 en mémoire.

La prochaine étape consiste donc à éditer GNS3-GUI dans edition/préférence/ puis Server où l’on active la sélection de VMware et de la VM GNS3 :

Il faut appliquer les changements, relancer GNS3-GUI et désormais votre GNS3-VM est lancez automatiquement : sur l’écran de console de la VM une IP apparaît (si vous êtes en DHCP).

Vous avez désormais la possibilité d’importer certain type d’images depuis l’interface : http://gns3vmIP:3080/upload

Comment importer une appliance sous GNS3 ?

Le projet GNS3 a mis à disposition un marketplace qui fournit des pré-configurations d’appliances. Nous importerons donc l’appliance de VyOS en version 1.1.7 qui tourne sous QEMU sur le serveur via GNS3-GUI. Rendez vous sur le lien suivant, et télécharger le fichier de configuration en haut à gauche Download Template :

De plus, l’ensemble des fichiers de configuration sont disponibles ici. Pour continuer il vous faudra :

  1. Executez GNS3-GUI.
  2. Importez le fichier depuis : Files/import Appliance.
  3. Sélectionner le fichier précédemment téléchargé.

Les captures suivantes apparaîssent :

Si les éléments sont manquants, utiliser le bouton Download qui apparaît en bas à gauche puis :

Une pop-up apparaît, elle confirme l’installation de VyOS avec les informations d’installation. Une fois les étapes de confirmation validées voici le résultat :

La template VyOS est accessible directement dans GNS3-GUI depuis le panneau gauche Routers :

L’image disque (qcow2) ainsi que l’image ISO sont présentes dans le répertoire /opt/gns3/images de la VM GNS3 et les fichiers du projet sont eux présents dans l’hôte de ma machine /home/jeremie/GNS3/projects. Nous sommes donc prêts à créer notre premier projet avec GNS3.

Simulation d’un essai dans GNS3 avec VyOS

Nous allons fournir à VyOS l’accès à Internet via  un device qui prend la forme d’un nuage (Cloud). La passerelle de sortie WAN (cloud) sera reliée à notre routeur VyOS. Le seul pré-requis concerne l’usage d’un Switch entre : le Cloud et notre routeur VyOS. Attention, il ne peut pas être relié en direct pour une contrainte liée à QEMU.

Voici la marche à suivre :

Ajouter le Cloud et le modifier, clique droit sur configure puis ajouter la carte eth0 :

Une fois fait, ajoutez un switch ethernet dans la section Switch.

Puis, déployez un ou deux routeurs VyOS.

Interconnectez l’ensemble à froid comme cela :

Il suffit ensuite de configurer vos Routeurs pour sortir vers le WAN de notre hôte.
Nous avons réalisé l’installation et la configuration de GNS3, il existe aussi le déploiement dit remote sur un serveur distant que je souhaite prochainement utiliser en le sécurisant avec la liaison VPN ou bien avec SSL.