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.
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/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.
Il y a assez de place, apriori, pour pouvoir stocker les images disques sur votre compte. Notez que puisque vos machines utiliseront la même base, vous pouvez en créer autant que souhaité, car seules vos (petites) modifications seront stockées.
- Vérifier que vous disposez bien d'au moins 3,5Go de libre sur votre compte:
$ quota -s
la seconde valeur soustraite de la première doit faire au moins 3,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
- Autre source en cas de saturation du réseau, ou depuis votre propre PC:
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"
- 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
reseauxet 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 fichier ``Vagrantfile``. Il décrit les propriétés de votre machine vituelleVM1 - lancer la VM
$ vagrant up
La connexion est automatique. Votre login est debian-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 ligne
config.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 le
Vagrantfilepour affecter ces paramètres
- Si vous n'aviez jamais configuré le réseau auparavant
- indiquez-le dans votre CR
- vous pouvez vous documenter ( 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
VM1etVM2, 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