Updated

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 lundi 3/10/2022 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, mais 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.

Physique et Liaison de Données

Noter les réponses 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.

  1. Combien y a-t-il de stations dans votre salle de travail ?
  2. Combien de cartes réseaux comportent votre station?
  3. Combien de connecteurs électriques présente une fiche RJ45?
  4. Qu'y a-t-il à l'autre extrémité du câble?
  5. La salle contient-elle d'autre matériel réseaux?
  6. Existe-t-il des différences importantes entre
    • prise de carte réseau
    • prise de commutateur
    • prise murale?
  7. Quels sont les paramètres réseaux de votre station.

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 (en lecture seule). 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 DOSI, 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.

  1. Vérifier que vous disposez bien d'au moins 1Go de libre sur votre compte:
    $ quota -s
    
    la seconde valeur soustraite de la première doit faire au moins 1Go.
  2. 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   
    

  3. 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 par la suite.

$ 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)
    

Configuration de la VM

  • Créer un répertoire reseaux et un sous-répertoire tp0, puis VM1
    $ mkdir -p ~/reseaux/tp0/VM1
    $ mkdir ~/reseaux/tp0/partage
    $ cd ~/reseaux/tp0/VM1
    

  • dans ce répertoire VM1, copier le fichier Vagrantfile. Il décrit les propriétés de votre machine vituelle VM1
  • lancer la VM
    $ vagrant up
    

    La connexion est automatique. Votre login est m1reseaux, votre mot de passe identique.

Compte-rendu

  1. Au démarrage de la VM, lire les informations.
  2. Combien d'interfaces réseaux possèdent actuellement votre VM ?
  3. Quels sont tous les paramètres réseaux de votre machine virtuelle?
  4. Pouvez-vous vous connecter à Internet, à la page du TP avec wget?
  5. Stopper la VM. (quelle est la bonne manière ?)
  6. Éditer le fichier Vagrantfile : doubler la ligne
    config.vm.network "private_network", ip:"0.0.0.0", auto_config: false, virtualbox__intnet: "LAN" 
    
  7. Relancer la VM.
  8. Quels sont tous les paramètres réseaux de votre machine virtuelle?

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.

Dossier partagé
Il vous permettra 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

  • entre toutes vos VMS :
    • sur l'hôte : répertoire partage (au même niveau que VM1)
    • sur la VM : répertoire /mnt/partage

Vers le Routage

Nouvelles VMs

Créer deux nouvelle VMs Bleue et Verte comme précédemment.

Lancer Bleue (resp. Verte) et changer le fond d'écran à bleu (resp. vert) uniforme.

  1. Pouvez-vous accéder à internet depuis les VMs ? Faire un schéma.
  2. Quelles sont les configurations réseau existantes?
  3. On va considérer que les machines sont reliées par un réseau privée de classe C. Mettre comme adresse 192.168.1.1 (resp. 192.168.1.2) pour Bleue (resp. Verte).

    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 le Vagrantfile pour affecter ces paramètres
  4. Si vous n'aivez jamais configuré le réseau explicitement
  1. Pouvez-vous "voir" (ping) les autres stations sur le réseau ?
    1. depuis le système hôte ?
    2. depuis les VMs ?
  2. 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

  1. Vérifier que les deux VMs se voient par des ping
  2. Démarrer le logiciel d'écoute réseau wireshark.
  3. A partir du trafic réseau intercepté entre Bleue et Verte, 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.