Difference between revisions of "MOOC:Compagnon Act16"
From Livre IPv6
(→Etape 2 : Communications en IPv6) |
(→Etape 2 : Communications en IPv6) |
||
Line 160: | Line 160: | ||
apprenant@MOOCIPv6:~$ '''nc6 -n -v -u ''ADDR6'' 4500''' | apprenant@MOOCIPv6:~$ '''nc6 -n -v -u ''ADDR6'' 4500''' | ||
Ici le terme ADDR6 doit être remplacé par une adresse IPv6. | Ici le terme ADDR6 doit être remplacé par une adresse IPv6. | ||
− | + | {{HorsTexte| Note |Pour interrompre une commande comme <tt>netcat6</tt> faites la combinaison de touches CTRL+C (appui simultané sur les touches ''Ctrl'' et ''c''.}} | |
Commencez par tester une communication avec le serveur en utilisant l'adresse lien-local mise sur l'interface eth0 de R1. Comme il est indiqué dans le cours, l'utilisation des adresses lien-local doit s'accompagner de la mention de l'interface réseau à utiliser pour transmettre le paquet. En effet, le système ne peut pas décider cette interface de lui-même. Tous les liens ont le même préfixe pour une adresse de lien local. Il y a donc une ambigüité c'est pour cela que le système ne peut décider. L'ambigüité est donc enlevée en indiquant explicitement l'interface de sortie. Pour ce faire, la mention de l'interface se fait en ajoutant son nom après le caractère <tt>%</tt> mis à la fin de l'adresse. Dans certain cas, une option est disponible pour spécifier l'interface. Dans le cas présent, la commande de démarrage du client est la suivante : | Commencez par tester une communication avec le serveur en utilisant l'adresse lien-local mise sur l'interface eth0 de R1. Comme il est indiqué dans le cours, l'utilisation des adresses lien-local doit s'accompagner de la mention de l'interface réseau à utiliser pour transmettre le paquet. En effet, le système ne peut pas décider cette interface de lui-même. Tous les liens ont le même préfixe pour une adresse de lien local. Il y a donc une ambigüité c'est pour cela que le système ne peut décider. L'ambigüité est donc enlevée en indiquant explicitement l'interface de sortie. Pour ce faire, la mention de l'interface se fait en ajoutant son nom après le caractère <tt>%</tt> mis à la fin de l'adresse. Dans certain cas, une option est disponible pour spécifier l'interface. Dans le cas présent, la commande de démarrage du client est la suivante : | ||
+ | |||
apprenant@MOOCIPv6:~$ '''nc6 -n -v -u fe80::200:abff:fe13:a800%eth0 4500''' | apprenant@MOOCIPv6:~$ '''nc6 -n -v -u fe80::200:abff:fe13:a800%eth0 4500''' | ||
− | Tant qu'il n'y a pas de données à transmettre, il n'y a pas de communication, aussi dans le terminal de PC-1, saisir des caractères qui seront envoyés au serveur une fois la touche retour à la ligne sera appuyée. Vous devez voir les caractères saisis s'afficher sur le terminal de R1. Tout marche bien. Arrêtez le client et le serveur | + | Tant qu'il n'y a pas de données à transmettre, il n'y a pas de communication, aussi dans le terminal de PC-1, saisir des caractères qui seront envoyés au serveur une fois la touche retour à la ligne sera appuyée. Vous devez voir les caractères saisis s'afficher sur le terminal de R1. Tout marche bien. Arrêtez le client et le serveur par un CTRL+C dans la console de chacun d'eux. |
− | + | ||
Relancez le serveur pour une nouvelle essai mais cette fois-ci à partir d'un client situé sur PC-1 mais en utilisant l'adresse ULA de eth0 R1. La commande de démarrage du client devient alors: | Relancez le serveur pour une nouvelle essai mais cette fois-ci à partir d'un client situé sur PC-1 mais en utilisant l'adresse ULA de eth0 R1. La commande de démarrage du client devient alors: | ||
apprenant@MOOCIPv6:~$ '''nc6 -n -v -u ''ADDR6'' 4500''' | apprenant@MOOCIPv6:~$ '''nc6 -n -v -u ''ADDR6'' 4500''' | ||
Ici le terme ''ADDR6'' doit être remplacé par l'adresse ULA de eth0 de R1 que vous avez noté préalablement dans l'étape précédente. | Ici le terme ''ADDR6'' doit être remplacé par l'adresse ULA de eth0 de R1 que vous avez noté préalablement dans l'étape précédente. | ||
Là aussi les caractères que vous entrez coté client vont être transférés vers le serveur. | Là aussi les caractères que vous entrez coté client vont être transférés vers le serveur. | ||
+ | {{HorsTexte|Nota|lorsque que l'argument d'une commande est une adresse lien local (LLA), vous devez spécifier l'interface de sortie en suffixant l'adresse par le caractère '%' suivi de l'interface. }} | ||
Donc vous pouvez constater à ce niveau que les adresses ULA ou lien local pour des communications en remise directe n'ont pas de différence dans la communication. | Donc vous pouvez constater à ce niveau que les adresses ULA ou lien local pour des communications en remise directe n'ont pas de différence dans la communication. | ||
Line 175: | Line 177: | ||
Toujours sur R1 relancer le serveur en écoute sur le port 4500. Ensuite, indiquez au client d'utiliser l'adresse lien-local de eth1 de R1 : | Toujours sur R1 relancer le serveur en écoute sur le port 4500. Ensuite, indiquez au client d'utiliser l'adresse lien-local de eth1 de R1 : | ||
apprenant@MOOCIPv6:~$ '''nc6 -n -v -u fe80::200:abff:fe13:a801%eth0 4500''' | apprenant@MOOCIPv6:~$ '''nc6 -n -v -u fe80::200:abff:fe13:a801%eth0 4500''' | ||
− | + | ||
Les caractères que vous saisissez ne s'affiche pas sur la console du serveur. La communication ne passe pas. | Les caractères que vous saisissez ne s'affiche pas sur la console du serveur. La communication ne passe pas. | ||
Arrêtez le client avec un CTRL+C et relancez le mais cette fois-ci en spécifiant une adresse ULA de R1: | Arrêtez le client avec un CTRL+C et relancez le mais cette fois-ci en spécifiant une adresse ULA de R1: |
Revision as of 02:44, 15 February 2017
Contents
Activité 16 : Découvrez un réseau IPv6
L'objectif de cette première activité pratique va être d'expérimenter la communication en IPv6 et de découvrir les adresses IPv6 dans un réseau IPv6. A l'aide d'une topologie de réseau comprenant 2 hôtes et 2 routeurs, vous allez pouvoir :
- prendre en main l'environnement de virtualisation GNS3,
- vous familiariser avec l'adressage en IPv6 et les commandes de consultation d'état d'une interface réseau. Vous verrez aussi comment identifier les types des adresses IPv6 et déterminer la portée des communications utilisant ces types d"adresses.
- effectuer des communications locales au lien, ou des communications avec remises indirectes des paquets. Dans ce cette dernière forme de communication, les paquets passent à travers plusieurs liens avant d'atteindre la destination.
Comme le montre la figure 1, le réseau étudié comporte 4 noeuds et repose uniquement sur IPv6. Un serveur web est installé et configuré sur l'hôte appelé PC-2. Un serveur DNS est également installé sur le routeur R2.
Le support vous donne l'ensemble des opérations à réaliser pour aller jusqu'au bout de l'activité. Vous trouverez un résumé de ces commandes dans le Manuel Apprenant disponible dans l'onglet documentation du cours Objectif IPv6 du site de FUN.
Etape 0 : Démarrage de GNS3
Démarrage de votre machine virtuelle
Après avoir téléchargé la machine virtuelle "MOOC_IPv6_Lab_Session3", vous pouvez la démarrer soit en utilisant VirtualBox ou bien VMwarePlayer 7 ou supérieur:
- Oracle VirtualBox https://www.virtualbox.org/wiki/Downloads
- VmWare Player https://my.vmware.com/fr/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/12_0
Selon la configuration de votre PC quelques messages "warning" peuvent apparaitre, valider, relancer ou ignorer les dans un premier temps. Si vous obtenez un blocage, merci de consulter le forum pour identifier si une solution résout votre souci.
Une fois que la machine virtuelle Debian aura démarrée, vous voyez sur le bureau des dossiers pour les activités de travaux pratiques des séquences 1 à 4.
Pour l'adapter à la taille de votre écran, clic-droit sur le bureau, Modifier l'arrière plan du bureau, choisir la flèche en haut à gauche. Dans la section Matériel, choisir écran, puis choisir affichage inconnu, enfin appliquez la taille la plus adaptée à votre écran, puis conserver les modifications si cela convient.
Démarrage du modèle de réseau sous GNS3
Double cliquez sur le dossier "Mooc_IPV6_TP1" , puis sur l'icône "TP1_Etape1"
Attendre que la fenêtre TP_IPv6.gns3 -GNS3 apparaisse à l'écran comme présentée par la figure 2. Double cliquez sur la barre de titre de cette fenêtre pour qu'elle occupe la totalité de votre écran. Si besoin, vous pouvez ensuite recentrer l'image de la topologie dans la fenêtre centrale avec les boutons ascenseurs horizontal et vertical.
Identification des liens physiques
Il est possible d'afficher les numéros des interfaces des équipements représentés sur la maquette, appuyez sur le bouton carré "a b c" situé juste en dessous du menu déroulant Device.
Une fois que vous aurez bien identifié les numéros d'interfaces des 6 liaisons, nous pouvons constater ceci :
- PC1 - SW2 - R1 : les interfaces eth0 de PC1 et R1 sont reliées à travers le commutateur Ethernet SW2.
- R1 - SW1 - R2 : les interfaces eth1 de R1 et R2 sont reliées à travers un commutateur Ethernet SW1.
- PC2 - SW3 - R2 : les interfaces eth0 de PC2 et R2 sont reliées à travers un commutateur Ethernet SW3.
Activation des équipements
Si tout est correct, vous pouvez activer les équipements du réseau dans GNS3, à l'aide du bouton triangulaire vert démarrer "Start/Resume all devices".
Dans la fenêtre centrale les témoins verts des liens indiquent que les équipements démarrent, et sur la droite la fenêtre "Topology Summary" montre aussi les témoins verts des équipements réseaux.
Arrêt/Pause de GNS3
Au besoin vous pouvez aussi figer l'exécution des équipements avec le bouton Pause "Suspend All devices", voire arrêter les équipements avec le bouton Stop "Stop All devices".
Faire CTRL+S si vous souhaitez sauvegarder l'état des équipements. Pour quitter proprement GNS3, faire CTRL+Q ou faire, avec le menu déroulant File, l'action Quit.
Etape 1 : Découvertes de l'adressage IPv6
Lorsque le simulateur GNS3 est lancé, il faut cliquer sur le bouton "Console connect to all devices" symbolisé par >_ situé à gauche du bouton triangulaire vert, juste en dessous du menu déroulant "Annotate". Ainsi vous aller faire apparaitre les consoles de contrôle pour les routeurs et pour les hôtes comme le montre la figure 3.
Les consoles de contrôle (CLI, Command Line Interface) affichent le démarrage des différents équipements réseaux. Notons que le démarrage des PC est plus rapide que celui des routeurs (le temps de démarrage dépendant des capacités de votre machine: compter quelques minutes).
Détermination des adresses IPv6
Pour ouvrir une session sur un hôte tel que PC-1, utilisez l'identifiant apprenant. Il n'y a pas de mot de passe.
Déterminez la configuration IP actuelle en tapant la commande :
apprenant@MOOCIPv6:~$ ifconfig
ou
apprenant@MOOCIPv6:~$ ip -6 address show
Astuce
La touche de tabulation aide à terminer automatiquement la saisie des commandes.
Vous pouvez constater que l'interface de boucle (loopback) noté lo0 possède une adresse alors que l'interface Ethernet (eth0) est configurée avec 2 adresses IPv6.
Veuillez compléter ici les adresses IPv6 de l'interface eth0
1/ fe... 2/ fd...
Attention: Une adresse IPv6 s'indique sans préciser la longueur du préfixe. A l'inverse, un préfixe réseau consiste en une adresse IPv6 suffixée par le nombre de bits occupé par le préfixe. Ne confondez pas ces 2 notions: préfixe réseau et adresse.
Parmi les 2 adresses IP de l'interface Ethernet, il y a une adresse de lien local (LLA) et une adresse local unique (ULA). Pour différencier ces 2 types d'adresse, il faut analyser le mot de poids fort de l'adresse (le mot le plus à gauche). L'adresse LLA commence par le mot fe80 comme indiqué dans l'activité 13 "Les adresses unicast". Les 2 adresses ont ici la même longueur de préfixe à savoir de 64 bits.
Rappeler quelle est l'adresse IPv6 sur l'interface de boucle ?
Pour ouvrir une session sur un routeurs tel que R1, les identifiants/mots de passe sont vyos/vyos. (Aucun echo de caractère n'est proposé lorsqu'on saisi le mot de passe). Passez en mode Quagga à l'aide de la commande:
vyos@vyos:~$ vtysh
Vérifiez l'état des interfaces par la commande:
vyos# show interface
Cette commande affiche les adresses configurées sur les interfaces des routeurs. Les routeurs possèdent chacun, en plus de l'interface (lo) de boucle locale, 2 interfaces Ethernet actives (eth0 et eth1). En effet, les routeurs sont reliés à 2 liens. Un lien représente un réseau de distribution sur lequel on va trouver les PC et l'autre lien sert de réseau d'interconnexion qui relie les routeurs.
Notez ici les adresses ULA que vous observez sur les interfaces de R1 :
eth0 : eth1 :
Vous pouvez remarquez que PC-1 et R1 partagent le même préfixe réseau. Cette
plateforme a été numéroté à l'aide d'un préfixe de type ULA. En l'occurrence, il s'agit de fd75:e4d9:cb77::/48. Chaque lien s'est vu ensuite attribuer un identifiant sur 16 bits pour former en tout un préfixe de 64 bits. On parle de SID (Subnet Identifier) pour l'identifiant du lien sur 16 bits. Les affectation des SID ont été faites de la manière suivante:
- 0 pour le réseau d'interconnexion de R1 et R2
- 1 pour le réseau de distribution de PC1 et R1
- 2 pour le réseau de distribution de PC2 et R2
Maintenant, notez ici les adresses LLA que vous observez sur les interfaces de R1 :
eth0 : eth1 :
Vérifiez sur l'interface de PC-2, que celle-ci possède bien une adresse IPv6 ULA. Retrouvez-vous la valeur du SID de 2 dans cette adresse ?
Etape 2 : Communications en IPv6
Dans cette étape, nous allons voir comment utiliser les adresses IPv6 pour effectuer des communications.
Un échange entre un client et un serveur va être mis en place. Nous allons commencer par activer un serveur sur le noeud R1. Ceci s'effectue à l'aide de la commande netcat6 qui s'écrit en abrégé nc6. Tout d'abord, vous allez repasser en mode utilisateur :
vyos# exit
puis il faut démarrer le serveur :
vyos@vyos:~$ nc6 -l -v -n -u -p 4500
Les options de la commande signifient que la commande netcat6 utilise UDP (-u), se met en écoute (-l) sur le port (-p) 4500 tout en étant explicite dans ses affichages (-v). Il nous reste maintenant à démarrer la version cliente de netcat6 sur PC-1:
apprenant@MOOCIPv6:~$ nc6 -n -v -u ADDR6 4500
Ici le terme ADDR6 doit être remplacé par une adresse IPv6.
Note
Pour interrompre une commande comme netcat6 faites la combinaison de touches CTRL+C (appui simultané sur les touches Ctrl et c.
Commencez par tester une communication avec le serveur en utilisant l'adresse lien-local mise sur l'interface eth0 de R1. Comme il est indiqué dans le cours, l'utilisation des adresses lien-local doit s'accompagner de la mention de l'interface réseau à utiliser pour transmettre le paquet. En effet, le système ne peut pas décider cette interface de lui-même. Tous les liens ont le même préfixe pour une adresse de lien local. Il y a donc une ambigüité c'est pour cela que le système ne peut décider. L'ambigüité est donc enlevée en indiquant explicitement l'interface de sortie. Pour ce faire, la mention de l'interface se fait en ajoutant son nom après le caractère % mis à la fin de l'adresse. Dans certain cas, une option est disponible pour spécifier l'interface. Dans le cas présent, la commande de démarrage du client est la suivante :
apprenant@MOOCIPv6:~$ nc6 -n -v -u fe80::200:abff:fe13:a800%eth0 4500
Tant qu'il n'y a pas de données à transmettre, il n'y a pas de communication, aussi dans le terminal de PC-1, saisir des caractères qui seront envoyés au serveur une fois la touche retour à la ligne sera appuyée. Vous devez voir les caractères saisis s'afficher sur le terminal de R1. Tout marche bien. Arrêtez le client et le serveur par un CTRL+C dans la console de chacun d'eux.
Relancez le serveur pour une nouvelle essai mais cette fois-ci à partir d'un client situé sur PC-1 mais en utilisant l'adresse ULA de eth0 R1. La commande de démarrage du client devient alors:
apprenant@MOOCIPv6:~$ nc6 -n -v -u ADDR6 4500
Ici le terme ADDR6 doit être remplacé par l'adresse ULA de eth0 de R1 que vous avez noté préalablement dans l'étape précédente. Là aussi les caractères que vous entrez coté client vont être transférés vers le serveur.
Nota
lorsque que l'argument d'une commande est une adresse lien local (LLA), vous devez spécifier l'interface de sortie en suffixant l'adresse par le caractère '%' suivi de l'interface.
Donc vous pouvez constater à ce niveau que les adresses ULA ou lien local pour des communications en remise directe n'ont pas de différence dans la communication.
Voyons voir maintenant pour les communications en remise indirecte si cela reste vrai. Le serveur reste sur R1 mais Le client va démarrer depuis le PC-2 maintenant. Le routeur R2 va servir à relayer les paquet IPv6 de PC-2 vers R1. Les paquets émis par le client ne sont pas remis directement à la destination mais au routeur qui va donc relayer les paquets reçus. On parle dans ce cas d'une communication en remise indirecte.
Toujours sur R1 relancer le serveur en écoute sur le port 4500. Ensuite, indiquez au client d'utiliser l'adresse lien-local de eth1 de R1 :
apprenant@MOOCIPv6:~$ nc6 -n -v -u fe80::200:abff:fe13:a801%eth0 4500
Les caractères que vous saisissez ne s'affiche pas sur la console du serveur. La communication ne passe pas. Arrêtez le client avec un CTRL+C et relancez le mais cette fois-ci en spécifiant une adresse ULA de R1:
apprenant@MOOCIPv6:~$ nc6 -n -v -u fd75:e4d9:cb77::1 4500
et vérifiez si la communication fonctionne en validant des caractères sur la console du client. Dans le cas d'une communication à remise indirecte, constatez vous une différence dans l'usage des types d'adresses ?
Vous venez d'expérimenter le fonctionnement d'un réseau IPv6 n'utilisant des adresses lien-local et des adresses ULA. La portée limitée de des adresses lien-local et l'obligation d'expliciter l'interface de sortie rendent cet usage assez limité. Mais ces adresses sont utiles pour des mécanismes fonctionnant au niveau du lien, comme la découverte ou le test de services sur le lien. Un exemple pour illustrer cela est la découverte des noeuds ou de routeurs IPv6 sur un lien en utilisant l'adresse IPv6 multicast restreinte au lien pour le groupe correspondant. Vous pouvez tester ces 2 adresses depuis PC1 :
apprenant@MOOCIPv6:~$ ping6 ff02::1%eth0 apprenant@MOOCIPv6:~$ ping6 ff02::2%eth0
Etape 3 : Utiliser le web avec IPv6
Suivre les instructions suivantes:
- Après avoir arrêté le simulateur, double cliquez sur le dossier "Mooc_IPV6_TP1" , puis sur l'icône "TP1_Etape1_Adresses_ULA"
- Attendre que la fenêtre TP_IPv6.gns3 -GNS3 apparaisse à l'écran, double cliquer sur la barre de titre de cette fenêtre pour qu'elle occupe la totalité de votre écran. Si besoin, vous pouvez ensuite recentrer l'image de la topologie dans la fenêtre centrale avec les boutons ascenseurs horizontal et vertical.
- Il est possible d'afficher les numéros des interfaces des équipements représentés sur la maquette, appuyez sur le bouton carré "a b c" situé juste en dessous du menu déroulant Device.
- Si tout est correct, vous pouvez lancer le simulateur GNS3, grâce au bouton triangulaire vert démarrer "Start/Resume all devices".
- Dans la fenêtre centrale les témoins verts des liens indiquent que la simulation démarre, et également à droite la fenêtre "Topology Summary" les témoins des équipements réseaux passent au vert.
- Lorsque le simulateur GNS3 est lancé, il faut cliquez sur le bouton symbolisé > _ "Console connect to all devices" à gauche du bouton triangulaire vert, juste en dessous du menu déroulant Annotate.
- Les fenêtres de ligne de commande (Command Line Interface (CLI)) affichent le démarrage des différents équipements réseaux. Notons que le démarrage des PC est plus rapide que celui des routeurs. Le temps de démarrage dépend des capacités de votre machine, il faut compter quelques minutes.
Observation des adresses des routeurs R1 et R2
Testez la connectivité depuis chaque PC
Pour vous loguer sur les stations PC1 et PC2, les identifiants/mots de passe sont apprenant'/'. (Pas de mot de passe).
Vérifiez la configuration réseau
apprenant@MOOCIPv6:~$ ifconfig
Vous devez constater qu'une adresse IPv6 Lien local (fe80:...) a été attribuée à l'interface de chaque PC, ainsi qu'une adresselocal unique ou ULA.
Veuillez noter les adresses locales uniques des interfaces eth0
PC1 eth0 = PC2 eth0 =
Quel est le préfixe /64 auquel appartient cette adresse ?
Quel sont la première et la dernière adresse de ce préfixe /64 ?
Quel est la valeur de l'adresse MAC de votre station ?
Quel est la méthode de construction utilisée pour l'identifiant d'interface ?
Quel est l'adresse de multicast sollicité correspondant à cette adresse ?
Les adresses ULA ont une portée moins restreinte que les adresses lien-local, vu précédemment. Grâce à ces adresses configurées sur les interfaces de chaque équipement, il est maintenant possible de joindre des interfaces qui sont situés sur d'autres liens que celui de la source. Cette extension de la portée de la connectivité s'explique par le fait que les adresses ULA sont des adresses routables.
Faites quelques tests de connectivité depuis PC1 avec la commande ping6.
Vers l'interface eth0 de R1
ping6 fd75:e4d9:cb77:1::ffff
Vers l'interface eth1 de R1
ping6 fd75:e4d9:cb77::1
Vers l'interface eth0 de R2
ping6 fd75:e4d9:cb77:2::ffff
Vers l'interface eth0 de PC2
ping6 fd75:e4d9:cb77:2::c2
Quelle(s) destination(s) avez vous réussie(s) à joindre avec la commande ping ?
Que pouvez vous conclure sur la portée des adresses ULA utilisées dans cette étape ? Quelles stations sont-elles joignable avec ce plan d'adressage ? Aucune station / uniquement les stations du même réseau / les stations d'une même organisation / les stations de l'internet ?
Arrêt/Pause du simulateur
Au besoin vous pouvez aussi figer la simulation avec le bouton Pause "Suspend All devices", voire arrêter la simulation avec le bouton Stop "Stop All devices".
Pour sortir proprement du simulateur, faire CTRL+S si vous souhaitez sauvegarder l'état de votre simulation, et CTRL+Q ou bien avec le menu déroulant File-Quit.
Etape 4 : Echanges en multicast
Conclusion
Grâce à cette première séquence du Mooc IPv6 vous avez découvert et appréhendé différents aspects de l'adressage.