TP IPV6 - Olivier Emery

Download Report

Transcript TP IPV6 - Olivier Emery

IPv6
I
Préliminaire
Désactiver le service IFPLUGD sur les machines : /etc/init.d/ifplugd stop
II
Étude de l’attribution de l’adresse de lien local
1. Mise en place du matériel
Désactiver les interfaces des postes SN et DN : ifconfig eth0 down
Schéma du réseau :
Sur le switch, passer les ports 1/2/3 en « portfast » : Se placer sur chaque interface puis taper cette
commande : « spanning-tree portfast ». La commande Portfast est une fonctionnalité propriétaire
Cisco. Elle s'exécute uniquement sur des ports connectant des périphériques terminaux et dans une
infrastructure VLAN uniquement sur des ports en mode Access.Lorsqu’il est connecté, le port
configuré en mode Portfast passe directement de l’état “blocking” à l’état "forwarding" afin d'éviter
qu’il ne prenne 50 secondes avant de transférer du trafic.
Etat « Forwarding »
Commute toutes les trames de données venant
du segment attaché
Commute toutes les trames de données venant
d'un autre port de transfert
Intègre les emplacements de station dans sa
MAC table (apprentissage)
Reçoit les BPDUs et les transmet à son système
Envoie les BPDUs reçus de son système
Répond à SNMP
Etat « Blocking »
Rejette toutes les trames de données venant du
segment attaché
Rejette toutes les trames de données venant
d'un autre port de transfert
N'intègre aucune emplacement de station dans
sa MAC table (il n'y pas d'apprentissage)
Reçoit les BPDUs et les transmet à son système
N'envoie pas de BPDUs reçus de son système
Répond à SNMP
EMERY Olivier & WILLM Geoffrey |IUT Lannion
1
Monitoring de ports sur le port 12 du switch :
# no monitor session 1
# monitor session 1 source range int fa0/1-3
# monitor session 1 destination int fa0/12
2. Activation poste Sn
a. Observation lors de l’activation d’une interface
#ifconfig eth0 pour activer l’interface de Sn
EMERY Olivier & WILLM Geoffrey |IUT Lannion
2
Capture d’écran
Le protocole capturé est ICMPv6
Il est utilisé pour rapporter des erreurs trouvées dans le traitement de paquets, effectuer des
diagnostics, effectuer une découverte de voisinage, et rapporter l'appartenance à un multicast*.
*Petit rappel :
Unicast
Communication point à point.
Envoi de paquets à une seule adresse IP
Multicast
Communication multipoint.
Envoi de paquets à plusieurs adresses IP qui se sont abonnés au préalable pour recevoir les paquets.
Broadcast
Communication multipoint.
Envoi de paquets à toutes les machines du réseau.
L'hôte qui démarre cherche à auto-configurer son lien local, il va donc préalablement s'assurer que
l'adresse IP qu'il compte exploiter n'est pas déjà utilisée.
Pour ce faire, il exploite une nouvelle fonctionnalité d'ICMP qui est appelée « Neighbor discovery »
(Découverte du voisinage).

L'adresse source est ici non spécifiée (::, à rapprocher en IP v4 de l'adresse 0.0.0.0) ;

l'adresse de destination est intéressante : ff02::1 :ff51 :489f. Il s'agit d'une adresse de
diffusion (multicast)
Il n'y a pas de réponse à ce message, ce qui veut dire que l'adresse convoitée n'est pas en usage sur
le lien local (fe80). Notre hôte adopte donc l'adresse : fe80 ::8a51 :fbff :fe51 :489f
Viennent ensuite trois messages de type « Router solicitation » (découverte de routeurs) qui restent
sans réponse, dans le cas contraire (si cette adresse demandé par Sn existait déjà) l’autoconfiguration ne pourrait se faire. Il demande aussi une passerelle.
Le protocole équivalent en IPv4 est l’ICMP.
EMERY Olivier & WILLM Geoffrey |IUT Lannion
3
b. Test des commandes IPv6 et vérification de la connectivité
Activation de la carte réseau : ifconfig eth0 up
Commande table de routage ipv6 : route -A inet6
Quelles infos on peut en retirer ?
La route par défaut est sur « lo » (locale)
Syntaxe complète pour faire un ping en IPv6 : ping6 -I eth0 (@ipv6)
Ping6 (requête ICMP : echo & echo reply) , « -I » pour interface de sortie puis l’adresse à joindre.
La commande « ping » sous Linux est prévu pour les adresses IPv4, elle n’est pas capable de joindre
des adresses IPv6, c’est pourquoi il y a la commande « ping6 » avec différentes options.
Ping entre Sn et Dn
EMERY Olivier & WILLM Geoffrey |IUT Lannion
4
On peut voir deux types de paquets ICMPv6, envoyés par le protocole NDP (Neighbor Discovery
Protocol) qui est responsable de la découverte des autres hôtes sur le même lien, de la
détermination de leur adresse et de l'identification des routeurs présents.
neighbor solicitation:
Le poste « Sn » envoie des « sollicitations » à ces voisins pour demander l’adresse de couche liaison
d’un nœud cible (poste Dn) tout en fournissant aussi sa propre adresse de couche liaison à la cible.
Les sollicitations de voisin sont en « diffusion groupée » lorsque le nœud a besoin de résoudre une
adresse et en « envoi individuel » lorsque le nœud cherche à vérifier l’accessibilité d’un voisin.
neighbor advertissement :
Un nœud (poste Dn) envoie des annonces de voisin en réponse aux sollicitations de voisin (poste Sn)
et envoie des annonces de voisin non sollicitées afin de propager rapidement (de façon non fiable) de
nouvelles informations.
A quoi sert ce protocole ?
Ping est le nom d'un outil informatique permettant de tester l'accessibilité d'une autre machine à
travers un réseau IP. La commande mesure également le temps mis pour recevoir une réponse,
appelé round-trip time (temps aller-retour).
Ping utilise une requête ICMP Echo et attend une réponse Echo reply. L'envoi est répété pour des
fins statistiques : déterminer le taux de paquet perdu et le délai moyen.
Le protocole équivalent en ipv4 : ICMPv4
Étude du plan d’adressage IPv6 de notre site
Adresse : 2002 :@IPv4 ::/48
Signification des « :: » remplace les 0 (tous les bits de l'@ IpV6)
Il nous faut deux sous réseaux
- 1 : le réseau des machines
- 2 : le tunnel
Plan d'adressage ip :
Adresse de base : 2002:192.168.33.1::/48
Conversion en ipv6 (hexadécimal) : 2002:c0a8:2101 ::/48
2002:c0a8:2101:0::/64 réseau interne
2002:c0a8:2101:1::/64 réseau tunnel
Interface réseau interne
2002:c0a8:2101:0::FE/64
Interface tunnel
2002:c0a8:2101:1::FE/64
EMERY Olivier & WILLM Geoffrey |IUT Lannion
5
Etude de l’auto-configuration sans état
1. Mise en place du réseau
Activation des postes Sn et Dn
Activation de l’interface du routeur FA0/0 (no shut)
On peut y voir notamment ceci : L’allocation des adresses de diffusion groupée IPv6
ff02:0:0:0:0:0:0:2 = « All Routers Address » (adresse de tous les routeurs) Router solicitation, portée
de liaison locale.
ff02:0:0:0:0:0:0:16 = « ALL MLDv2-capable routers » Multicast Listener Discovery Version 2, Il est
utilisé par un routeur pour identifier les clients d'un groupe multicast sur un segment directement
attaché.
A ce stade notre routeur n'est toujours pas un routeur, à proprement parler puisque dans son état
actuel il ne sait toujours pas router de l'IPV6. On peut dire qu’il n’est donc pas un routeur… ☻
Router Solicitation : Les hôtes envoient des sollicitations de routeur afin de d’inviter les routeurs à
générer rapidement des Annonces de routeur.
EMERY Olivier & WILLM Geoffrey |IUT Lannion
6
2. Configuration de l’interface du routeur en IPv6
Petit rappel du préfixe IPv6 interne préalablement déterminé lors de notre étude de plan :
2002 :c0a8 :2101 ::
Adresse IPv6 des interfaces du routeur :
interface réseau interne
2002:c0a8:2101:0 ::FE/64
interface tunnel
2002:c0a8:2101:1 ::FE/64
Configuration de l'interface fa0/0 du routeur :
(config-if) ipv6 address 2002:c0a8:2101:0::FE/64
Capture Wireshark après activation des postes Sn, Dn et du routeur
Différence non fondamentale :Wireshark capture les communications de routeur « Neighbor
Advertissement » avec @ IPv6 de l’interface du routeur configuré précedemment.
Un nœud (poste Dn) envoie des annonces de voisin en réponse aux sollicitations de voisin et envoie
des annonces de voisin non sollicitées afin de propager rapidement (de façon non fiable) de
nouvelles informations.
Route et configuration de l’interface ETH0 de Sn :
Conclusion :
Notre routeur n’est toujours pas un routeur IPv6…
EMERY Olivier & WILLM Geoffrey |IUT Lannion
7
3. Analyse de l’impact du routage unicast IPv6
Activer le routage Unicast IPv6 sur le routeur : R(config)# ipv6 unicast-routing
Une capture de trame à cet endroit ne donnera rien de plus en termes d’informations que les options
2 et 16 du protocole ICMPv6, cependant à l’activation de l’interface du routeur, on obtiendra une
nouvelle option dans le champ Destination (1) : « router advertisement »
Le paquet Router Advertisement joue un rôle très important dans IPv6, il permet aux hôtes sur un
même segment réseau de configurer leur route par défaut automatiquement, il est également à
l’origine de l’auto-configuration, ou, le cas échéant, il informe l’hôte qu’un service DHCPv6 est
disponible pour obtenir diverses informations dont l’adresse IPv6. Le routeur va envoyer le préfixe au
client, leur donner comme passerelle son ipv6.
La différence notable se trouve au niveau du SCOPE (domaine de validité). Bien que l’interface
dispose d’une nouvelle adresse IPv6, le scope passe en globale. Nous avons donc 2 adresses IP, une
en auto-configuration locale (basée sur sa propre adresse mac, UNICAST) et une autre attribuée par
le routeur,
globale (MULTICAST) cette fois avec le préfixe renseigné précédemment
(2002 :c0a8 :2101). Il dispose aussi d’une passerelle qui est l'adresse ipv6 du routeur.
Conclusion : notre routeur est capable de router de l’IPv6…☺ , de plus il est facile à configurer, il va
attribuer automatiquement les adresses IP avec le préfixe renseigné. La route par défaut sera elle
aussi attribué aux clients IPv6 (adresse du routeur). Le routage IPv6 sur un routeur pourrait presque
remplacer un serveur DHCP ?
EMERY Olivier & WILLM Geoffrey |IUT Lannion
8
Synthèse
Procédure pas à pas pour configurer un routeur IPv6
1 : vérifier la configuration existante du routeur
-
#show run pour voir la configuration
#dir pour identifier le nom de la configuration de départ
#copy fichier-conf-vierge startup config
#reload
2 : Vérifier la version de l’IOS
-
#sh version
#dir
#conf t
#boot system flash c2800nm-adventerprisek9-mz.124-22.YB4.bin
#exit
#copy run start
#reload
3 : Vérifier le chargement de l’IOS avec « sh version »
4 : Désactiver, sous Debian, le mode IFPLUGD (si besoin d’activer ou désactiver les interfaces clients)
-
/etc/init.d/ifplugd stop
5 : Configurer les ports du switch en « portfast »
-
#conf t
#(config)int fax/x
#(config-if)spanning-tree portfast
6 : Mode espion si besoin avant la configuration (Bug IUT salle G002)
-
# no monitor session 1 (
# monitor session 1 source range int fa0/1-3
# monitor session 1 destination int fa0/12
7 : Adressage IPv6 selon la RFC 3056 pour le « 6to4 »
-
Préfixe obligatoire : « 2002:@IPv4::/48 » (le routeur détermine avec ce préfixe qu’il doit
faire du 6to4)
Déterminer les adresses pour l’interface de routeur et du TUNNEL
Déterminer le masque
8 : Réaliser le câblage et la configuration du routeur pour le routage unicast IPv6
-
Configuration de l’interface du routeur
o #(config-if) ipv6 address 2002:c0a8:2101:0::FE/64 (préfixe-@IPv4-::FE/64)
Activer le routage unicast IPv6 : R(config]#ipv6 unicast-routing
EMERY Olivier & WILLM Geoffrey |IUT Lannion
9
Configuration d’un tunnel 6to4
Schéma réseau pour tunnel 6to4
Réseau IPv4 : 192.168.33.0
Configuration du routeur
(config-if)#no ip proxy-arp sur toutes les interfaces du routeur
Adresse IPv4 FA0/0 du routeur: ip address 192.168.33.1/24
Mettre une route par défaut sur le routeur vers le nuage : ip route 0.0.0.0 0.0.0.0 192.168.33.2
Mettre les IP sur les interfaces du routeur dans le nuage IPv4
Fa0/0 : ip address 192.168.33.2 255.255.255.0
Fa0/0/0 : ip address 192.168.30.2 255.255.255.0
Ping vers 192.168.30.2
EMERY Olivier & WILLM Geoffrey |IUT Lannion
10
Teste de ping des postes S33 à S30 :
.
Message « NO ROUTE » délivré par le routeur. Voir la table de routage du routeur :
EMERY Olivier & WILLM Geoffrey |IUT Lannion
11
Configuration du TUNNEL 6to4
Découper notre réseau en sous-réseaux de même taille
Rappel des adressages :
Interface réseau interne
2002:c0a8:2101:0::FE/64
Interface tunnel
2002:c0a8:2101:1::FE/64
Création du TUNNEL :
R(config)# int tunnel 1 (1 correspond au numéro de tunnel, on aurait pu mettre 2 ou 3 ou 4…)
Ensuite on lui applique son adresse IPv6
R(config-if)# ipv6 add 2002:c0a8:2101:1::FE/64
On configure la source du tunnel, la sortie IPv4 en somme
R(config-if)# tunnel source f0/0/0
On choisit le mode d’encapsulation, le 6to4 ☺
R(config-if)# tunnel mode ipv6ip 6to4
Activation du routage IPv6
R(config)# ipv6 unicast-routing
On rajoute une route par défaut (presque^^)
R(config)# ipv6 add route 2002 ::/16 tunnel 1
On va aussi valider le routage IPv4, conseillé !
R(config)# ip routing
Vérification de la connectivité
OK ! ☻ !
EMERY Olivier & WILLM Geoffrey |IUT Lannion
12
Petite analyse de l’encapsulation et de la transmission
L’IANA a alloué un préfixe pour le 6to4 (2002 ::/16), ce qui permet aux routeurs, lorsqu’ils voient un
paquet arrivé avec l’entête « 2002 :: », d’automatiquement traduire et de convertir les bits suivants ;
Voici un paquet IPv6 qui comprend 128 bits:
16 bits
32 bits
ADRESSE IPv4
PREFIXE IANA
2002 ::
192.168.33.1
16 bits
SID
64 bits
IDENTIFIANT
D’INTERFACE
Identification de site
ou sous-réseau
Les adresses IPv4 sont transformées en adresses IPv6 de façon suivante : les premiers bits prennent
la valeur 2002 et les bits suivants prennent la valeur hexadécimale de l’adresse IP.
Lorsqu’un paquet arrive au routeur avec une adresse IPv6 commençant par 2002, l’adresse IPv4 est
extraite et le paquet est ensuite routé vers le réseau IPv4. En sens inverse, les paquets possédant
l’adresse de diffusion 192.168.33.1 sont transmis sur les réseaux IPv6 après extraction des données
du paquet IPv4.
6to4 est donc un mécanisme de tunneling qui permet d’encapsuler du trafic IPv6 dans de l’IPv4 entre
deux machines faisant office de passerelles entre les réseaux IPv4 et IPv6.
Connexion du site à un nuage IPv6
Adresse IPv6 de l’interface FA0/0 : « 2001 :33 :2/64 »
#ipv6 address 2001 :33 :2/64
EMERY Olivier & WILLM Geoffrey |IUT Lannion
13
Notre poste Sn obtient bien une adresse en 2001
Ping entre Sm avec son @IPv6 2001
Le ping est impossible, la destination est inconnue, aucune route n’a été déterminée et sur la capture
suivante on peut voir qu’il ne passe pas par un tunnel puisque non configuré.
EMERY Olivier & WILLM Geoffrey |IUT Lannion
14
IPv6 natif
Plan de numérotation pour le nuage IPv6
Coté réseau 33 : FA0/1 « 2001 :9999 ::33 :1/64 »
Coté réseau 30 : FA0/1 « 2001 :9999 ::30 :1/64 »
Interface FA0/1
Ping entre les deux machines « S »
Il nous manque une route « 2001 :30 ::/64 2001 :9999 :30 » dans notre table de routage. Après
complément la connectivité fonctionne
EMERY Olivier & WILLM Geoffrey |IUT Lannion
15