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 ».

Fig. 1 Configuration du serveur GNS3 avec tailscale