Ce TP a pour but de vous faire prendre contact avec l’environnement dédié aux TPs Réseaux tant du point de vue pratique que du point vue du déroulement de l’ensemble de vos TPs.
IMPORTANT : Evaluation des TPs
Rendu des TPs
Les TPs sont évalués par un “contrôle continu”, ie par des rendus de TP (en début d’année) ainsi qu’un projet (en fin de semestre).
Vous devez rendre votre compte-rendu individuellement pour ce TP (sous-forme électronique) sur Ametice au plus tard le mardi 05/11/2024 18h00).
Conseil pour le Compte-Rendu
Ne rédigez pas le CR pendant le TP, mais prenez des notes et des copies de votre travail (voir aussi cette remarque importante).
Le compte-rendu pourra être manuscrit et scanné ou bien rédigé sur
ordinateur. Dans ce dernier cas,
ne pas utiliser de captures d’écran systématiquement, mais privilégiez
des copies du texte affiché (terminal ou autre).
Veuiller noter que le presse-papier est partagé entre machines virtuelles et
station hôte. Il est donc possible de faire des copier/coller. Par
ailleurs, il est possible d’obtenir une version texte des captures de
wireshark
en utilisant File/Export/As Plain Text… et en
sauvegardant dans /vagrant
.
Notez ce que vous avez fait et pourquoi dans votre CR. L’important n’est pas tant de faire des réponses complètes que de décrire clairement (= imaginez que vous vouliez vous relire dans 3 mois) ce que vous avez fait et compris. Efforcez-vous de ne pas avoir de “flou”, vos chargés de TP sont disponibles pour répondre à vos questions.
Virtualisation
Vous serez administrateur (root) de vos machines pendant les
TPs.
Comme cela n’est pas possible sur la machine physique virtuelle vous serez
amenés à créer des machines virtuelles spécifiques afin de réaliser vos TPs.
Qu’est-ce que la virtualisation ?
Nous allons manipuler des machines virtuelles (VMs). Le système sous lequel vous êtes actuellement sera dénommé système hôte. Comme toute machine physique, une machine virtuelle est composé de
- un CPU (partagé avec le système hôte et les autres VMs)
- de la RAM (non partagée)
- un disque dur virtuel sur lequel est installé un système d’exploitation
- des périphériques :
- partagés (clavier, souris, écran, …)
- dédiés, virtuels (comme les cartes réseaux)
La machine virtuelle se configure avec vagrant
.
(en fait vagrant
apporte une couche d’abstraction aux
logiciels de virtualisation
— VirtualBox, VMWare, … —
que certains d’entre vous connaissent déjà).
On ne peut
configurer ses aspects “physiques” virtualisés (RAM, nombres
et branchement des interfaces réseaux, …)
que lorsque la machine est éteinte.
Le système d’exploitation de la VM s’administre avec ses propres outils
d’administration, quand la VM est démarrée.
Mise en Oeuvre
En TP nous utiliserons vagrant
. L’image
préinstallée à utiliser est à télécharger puis stocker sur
/tmp/debianTP.box
. Cette image
contient une version minimaliste de Debian/XFCE. Nous allons faire ces étapes pas-à-pas.
NB Ces indications sont valables uniquement sur les postes DirNum, adapter si nécessaire les chemins concernés sur votre propre PC. Voir aussi la FAQ.
Les disques complets sont trop gros pour pouvoir être stockées sur votre compte. Seules vos (petites) modifications y seront stockées.
- Vérifier que vous disposez bien d’au moins 1,5Go de libre sur votre compte:
$ quota -s
la seconde valeur soustraite de la première doit faire au moins 1,5Go. - Vérifier que vous disposez bien d’une partition locale accessible
d’au moins 20 Gio:
$ df -h /tmp Sys. de fichiers Taille Uti. Disp. Uti% Monté sur /dev/sda4 78G 3,1G 75G 4% /tmp
- Copier l’image depuis le réseau:
$ cd /tmp/ $ curl -o debianTP.box https://pageperso.lis-lab.fr/emmanuel.godard/boxes/debianTP.box $ curl -o debianTP.box.md5 https://pageperso.lis-lab.fr/emmanuel.godard/boxes/debianTP.box.md5 $ md5sum -c debianTP.box.md5
Votre première VM
Mise en place de votre “box”
Nous allons maintenant indiquer à `vagrant` quelles images disques seront virtualisées. C’est à faire une seule fois sur le semestre.
$ vagrant box add /tmp/debianTP.box --name "m1reseaux" // si la commande précédente échoue, cela signifie que la box est déjà en place // Pour la supprimer: $ vagrant box remove "m1reseaux"
- Indispensable (mais à ne faire qu’une seule fois cette année)
$ VBoxManage setproperty machinefolder "/tmp"
- Avant de continuer, vérifier que la box est bien installée
$ vagrant box list m1reseaux (virtualbox, 0)
Création de la VM
Pour vagrant
, une VM correspondra à un répertoire contenant un
fichier Vagrantfile
.
- Créer un répertoire
reseaux
et un sous-répertoiretp0
, puisVM1
$ mkdir -p ~/reseaux/tp0/VM1 $ mkdir ~/reseaux/tp0/partage $ cd ~/reseaux/tp0/VM1
- dans ce répertoire
VM1
, copier le fichierVagrantfile
. Il décrit les propriétés de votre machine vituelleVM1
- lancer la VM
$ vagrant up
La connexion est automatique. Votre login estdebian-tp
, votre mot de passe identique.
Compte-rendu
- Au démarrage de la VM, lire les informations.
- Combien d’interfaces réseaux possèdent actuellement votre VM ?
- Quels sont tous les paramètres réseaux de votre machine virtuelle?
- Pouvez-vous vous connecter à Internet, à la
page du TP
avec
wget
? - Stopper la VM. (quelle est la bonne manière ?)
- Éditer le fichier
Vagrantfile
: ajouter une ligneconfig.vm.network "private_network", ip:"0.0.0.0", auto_config: false, virtualbox__intnet: "LAN2" après celle existante
- Relancer la VM.
- Combien d’interfaces réseaux possèdent actuellement votre VM ?
Communication avec les VMs
Afin de faciliter la communication vers les VMs, nous allons vérifier la mise en place du copier/coller ainsi que d’un dossier partagé entre l’hôte et les VMs.
- Copier/Coller
- Vérifier que vous pouvez copier depuis l’hôte puis coller vers la VM, et vice-versa.
- Dossiers partagés
- Ils vous permettront d’échanger des fichiers (même lorsque le réseau ne fonctionne pas!)
- entre l’hôte et votre VM :
- sur l’hôte : répertoire de la VM (ie
VM1
) - sur la VM : répertoire
/vagrant
- sur l’hôte : répertoire de la VM (ie
- entre toutes vos VMS :
- sur l’hôte : répertoire
partage
(au même niveau queVM1
) - sur la VM : répertoire
/mnt/partage
- sur l’hôte : répertoire
Vers le Routage
Une Nouvelle VM
Créer une nouvelle VM VM2
comme
précédemment.
- Pouvez-vous accéder à internet depuis les VMs ? Faire un schéma.
- Quelles sont les configurations réseau existantes?
- On va considérer que les machines sont reliées par un réseau privée
de classe C sur leurs interfaces eth1. Mettre comme
adresse
192.168.1.1
(resp.192.168.1.2
) pourVM1
(resp.VM2
). Indication : vous pouvez redéfinir la connexion nommée “Connexion filaire 1” de la gestion du réseau (applet en haut à droite). ne pas utiliser leVagrantfile
pour affecter ces paramètres - Si vous n’aviez jamais configuré le réseau explicitement
- indiquez-le dans votre CR
- documentez-vous ( par exemple
ici pour
NetworkManager
et les adresses IP statiques. )
- Pouvez-vous “voir” (
ping
) les autres stations sur le réseau ?- depuis le système hôte ?
- depuis les VMs ?
- Pour conclure, quels sont les paramètres réseaux à connaître pour “configurer le réseau” d’une station? Lesquels sont indispensables?
Observation du Trafic Réseau
- Vérifier que les deux VMs se voient par des
ping
- Démarrer le logiciel d’écoute réseau
wireshark
. - A partir du trafic réseau intercepté entre
VM1
etVM2
, mettre en évidence le protocole ARP. Il pourra être nécessaire de vider les caches ARP en désactivant les interfaces puis en les réactivant.
Nettoyage
Les disques de vos machines virtuelles sont stockées dans
/tmp
. Par conséquent, elles sont perdues à la fin du TP
(NB: ce n’est pas le cas de la “box” préinstallée, qui est sur votre compte,
donc votre quota).
Par terminer, n’oubliez pas de stopper vos VMs avec
$ vagrant halt
Et avant de partir proprement, dans chaque répertoire de VM, détruire les VMs récupérer les informations utiles à votre CR avant!
$ vagrant destroy
Par ailleurs, il existe une VM maîtresse qui est aussi à supprimer, vagrant ne fait pas le nettoyage automatiquement, donc il faut également faire
$ rm ~/.vagrant.d/boxes/m1reseaux/0/virtualbox/master_id
Vous devriez certainement créer un alias pour effectuer ces opérations rapidement en fin de séance.
Note finale: ces dernières manipulations sont dues au fait que votre quota de stockage est limité. Si vous trouvez cela trop pénible, faites réclamer (encore) une augmentation de quota pour les étudiants en Informatique via vos délégué.e.s.