Préparation aux labos

Les travaux pratiques sont basés sur l’outil GNS3 sous licence GPLv3, écrit par Jeremy Grossmann puis racheté par Solarwind en 2016. Il est hébergé au centre informatique HEPIA. Pour pouvoir effectuer l’analyse de paquets sous wireshark sur votre machine, il est nécessaire d’installer le client lourd sur votre machine et d’installer le client VPN tailscale pour y accéder à distance.

Les deux installations peuvent se faire dans un ordre quelconque, cependant mais l’accès à GNS3 ne fonctionnera que si l’accès au réseau tailscale est opérationnel.

Bien que plusieurs systèmes d’exploitation soient supportés, il est recommendé d’installer la version GNU/linux du client sur votre poste de travail personnel, aussi appelée gns3-gui . Attention, uniquement la version 2.2.37 est supportée, ne pas mettre à jour GNS3 si celui-ci vous avez déjà la version 2.2.37.

Si l’installation du client lourd ne passe vraiment pas sur votre machine, vous pourrez utiliser tempororairement le client web léger (c’est à dire sans installation) disponible sur https://gns3.hepiapp.ch le temps de trouver une solution car vous ne pourrez pas accéder à Wireshark sur ce client et wireshark est nécessaire pour les travaux pratiques.

Il n’est pas nécessaire d’installer le serveur gns3-server sur votre machine car nous utiliserons l’instance du centre informatique.

Installation du client GNS3 sous Windows/MacOS

Si vous tenez absolument à utiliser le client lourd sur un autre système d’exploitation, des installeurs sont disponibles aux URLs suivantes:

Installation du client GNS3 sous GNU/Linux

Installation rapide du client graphique à partir des sources

sudo apt update
sudo apt install -y python3-pip python3-pyqt5 python3-pyqt5.qtsvg python3-pyqt5.qtwebsockets wireshark tigervnc-viewer
sudo pip3 install gns3-gui==2.2.37

Répondre oui à la question « autoriser les utilisateurs à capturer des paquets » et à exécuter GNS3, rajouter votre login local au groupe wireshark en exécutant l’instruction suivante

sudo usermod -a -G wireshark $USER
loginctl terminate-user $USER

Attention : La commande loginctl terminera tous vos programmes et vous demandera de vous reconnecter. Elle est nécessaire pour que l’ajout au groupe soit valide au niveau de la session utilisateur.

Documentation

Si l’installation échoue, y compris à partir de pypi, veuillez vous référez aux instructions plus détaillées à l’URL suivante :

Accès distant à GNS3

Il est possible d’accèder au service gns3 à distance en installant un client tailscale sur votre machine avec le login server https://tailscale.hepiapp.ch.

Installation du client tailscale sur votre machine

Linux

Suivre la procédure sur https://tailscale.com/download/linux et à l’étape 3, remplacer

sudo tailscale up

par

sudo tailscale up --login-server https://tailscale.hepiapp.ch

Cette dernière commande va vous authentifier sur https://gitedu.hesge.ch.

Vérifier que vous arrivez bien à pinger le service avec la commande suivante:

ping gns3.hepiapp.ch
PING gns3.hepiapp.ch (100.64.0.16): 56 data bytes
64 bytes from 100.64.0.16: icmp_seq=0 ttl=64 time=28.669 ms
64 bytes from 100.64.0.16: icmp_seq=1 ttl=64 time=21.447 ms
64 bytes from 100.64.0.16: icmp_seq=2 ttl=64 time=21.141 ms
64 bytes from 100.64.0.16: icmp_seq=3 ttl=64 time=21.294 ms

Soyez patient, l’établissement initial de la connexion peut prendre quelques minutes.

MacOS

Installer le client tailscale depuis https://tailscale.com/download/mac et l’exécuter puis taper les commandes suivantes dans un terminal

/Applications/Tailscale.app/Contents/MacOS/Tailscale logout
/Applications/Tailscale.app/Contents/MacOS/Tailscale up --login-server https://tailscale.hepiapp.ch

Visiter le lien indiqué pour s’authentifier sur https://gitedu.hesge.ch, puis vérifier que vour arrivez bien à pinger gns3.hepiapp.ch comme indiqué précédemment.

Windows

Installer le client depuis https://tailscale.com/download/windows puis exécuter les commandes suivantes dans une invite de commande

"C:\Program Files (x86)\Tailscale IPN\tailscale.exe" up --login-server https://tailscale.hepiapp.ch

Visiter le lien indiqué pour s’authentifier puis vérifier que vous arrivez bien à pinger 100.64.0.1

Accès au service via le VPN de tailscale

Changer la configuration du serveur de votre client gns3 telles que indiqué en figure Fig. 1. Préférences -> Server, décocher « enable local server », puis « Main server ».

GNS3 tailscale address configuration

Fig. 1 Configuration du serveur GNS3 avec tailscale