Gns3

De Wiki doc

Révision datée du 5 mai 2017 à 00:06 par Ycharbi (discussion | contributions) (Page créée avec « GNS3 est un logiciel de simulation réseau. Il exploite qemu au travers du framework libvirt pour émuler des équipements réseaux. Nous nous trouvons donc avec des équi... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

GNS3 est un logiciel de simulation réseau. Il exploite qemu au travers du framework libvirt pour émuler des équipements réseaux. Nous nous trouvons donc avec des équipements virtuelles qui réagissent comme des équipement physiques et qui, après avoir été reliés au monde réel par l'intermédiaire d'un pont sur la carte réseau de l'hôte, peuvent communiquer avec leurs pairs physiques de la même manière que de vrai équipements.

Installation

La version de GNS3 disponible dans les dépôts Debian est affligeante, il s'agit d'une très ancienne version (elle ne permet même pas de supprimer les câbles que l'on connectes aux équipements...), nous allons donc ajouter le dépôt du projet pour être à jour.

Depuis une installation via debootstrap, le paquet dirmngr est absent et est nécessaire à l'importation des clés GPG. Il faut l'installer

apt install dirmngr

INFORMATION

Sous Debian Stretch, la dépendance libvirt-bin ne peut être satisfaite car il s'agit d'un paquet de transition qui s'est vu découpé en deux paquets nommés libvirt-daemon-system et libvirt-clients (voir ici). Le problème c'est que sans un paquet qui s'appel libvirt-bin, GNS3 est impossible à installer (et c'est pas faute d'avoir essayé, merci le gestionnaire de paquet apt qui sait se comporter comme une grosse merde quand il le faut). J'ai donc mis au point deux solution pour palier au problème. L'une exploite apt et une bidouille avec son sources.list, l'autre utilise directement dpkg pour contourner le problème. Je conseil vivement d'utiliser la solution apt.

Méthode APT

Comme nous l'avons vu, le paquet libvirt-bin n'est pas disponible dans les dépôts Stretch suite à un changement programmé de stratégies de ses mainteneurs. Cependant il est présent dans ceux de Debian Jessie puisque il en été au stade de transition à ce moment là. Jessie n'étant pas très différent de Stretch, il n'y a pas de risques de stabilité en confondant ce paquet avec les autres. Nous allons donc combiner les dépôts de Jessie avec ceux de Stretch pour avoir ce qu'il nous faut. Pas de panique, apt n'étant pas si mal fait, il prendra toujours les paquets avec un numéros de version plus récent. Ce qui garanti que Seul les paquets absents de Stretch seront piochés dans Jessie.

Ajouter les dépôts de GNS3 et Debian Jessie dans Stretch

echo -e '#GNS3\ndeb http://ppa.launchpad.net/gns3/ppa/ubuntu xenial main\n#Debian jessie (pour avoir le paquet libvirt-bin)\ndeb http://ftp.fr.debian.org/debian jessie main' >> /etc/apt/sources.list

Ajout de la clé GPG des dépôts GNS3

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F88F6D313016330404F710FC9A2FD067A2E3EF7B

Mise à jour de la base apt

apt update

Installation de GNS3

apt install gns3-gui

Méthode DPKG

Cette méthode a été testé avec GNS3 1.5.3. Elle est fonctionnelle mais en plus de sa lourdeur, elle ne permet pas une monté en version simple. Elle reste toutefois plus abordable que la compilation depuis les sources.

Installation des dépendances de gns3-gui (j'ai enlevé gns3-server qui réclame libvirt-bin qui n'existe pas)

apt install python3 python3-pyqt5 python3-pyqt5.qtsvg wireshark vinagre libc6 libexpat1 zlib1g

Installation des dépendances de gns3-server (j'ai enlevé libvirt-bin qui n'existe pas)

apt install python3 vpcs qemu-system-x86 qemu-system-arm qemu-kvm cpulimit x11vnc xvfb libc6 libexpat1 zlib1g

Téléchargement des dépendances non disponibles dans les dépôts Debian

wget http://ppa.launchpad.net/gns3/ppa/ubuntu/pool/main/d/dynamips/dynamips_0.2.16-1~xenial1_amd64.deb http://ppa.launchpad.net/gns3/ppa/ubuntu/pool/main/u/ubridge/ubridge_0.9.11-1~yakkety_amd64.deb

Installation manuelle des dépendances non disponibles dans les dépôts Debian (dépot GNS3) pour gns3-server

dpkg -i dynamips_0.2.16-1~xenial1_amd64.deb ubridge_0.9.11-1~xenial_amd64.deb

Installation de gns3-server sans libvirt-bin

dpkg -i --ignore-depends=libvirt-bin gns3-server_1.5.4~xenial1_amd64.deb

Installation de gns3-gui

dpkg -i gns3-gui_1.5.3~xenial5_amd64.deb

À ce stade nous avons GNS3 d'installé. Ne criez pas victoire trop vite car libvirt-bin, bien que nous ayant bien fiat chier reste un élément indispensable pour émuler les équipements. Il va donc falloir l'installer si on veut bénéficier de l’intérêt de ce logiciel. Pour ce faire, soit vous optez pour l'installation des dépendances de libvirt-bin ainsi que lui même à la main, soit vous le récupérez depuis les dépôts Jessie comme avec la méthode apt.

ASTUCE

Les dépendances des .deb se trouvent avec la commande dpkg-deb --info nom.deb. Lorsque apt ne veut plus rien savoir et qu'il casse les couille on nettoie tout avec la commande apt --fix-broken install.

Lien avec le monde physique

Faire son réseau virtuel est intéressant mais pouvoir exploiter ses atouts avec de vrais équipements, c'est encore mieux. Ainsi ont peut considérer sont PC hôte comme une baie avec plein d'équipement que l'on relie au réseau externe. Les possibilités sont infinies...

Pour ce faire, il faut créer une interface de lien local tap et lui assigner une adresse IP. On ajoutera ensuite un "cloud" dans GNS3 (équipement avec l'icône de nuage) et on le configurera pour ajouter cette interface dans l'onglet NIO TAP. Il faut rentrer le nom de l'interface dans le champ prévu à cet effet : "tap0".

Utilisation de Docker

Sources