diff --git a/panorama-reseaux-etendus/tp2/img/6to4-prefix.png b/panorama-reseaux-etendus/tp2/img/6to4-prefix.png new file mode 100644 index 0000000..f75118a Binary files /dev/null and b/panorama-reseaux-etendus/tp2/img/6to4-prefix.png differ diff --git a/panorama-reseaux-etendus/tp2/img/ex4.png b/panorama-reseaux-etendus/tp2/img/ex4.png new file mode 100644 index 0000000..d1c3266 Binary files /dev/null and b/panorama-reseaux-etendus/tp2/img/ex4.png differ diff --git a/panorama-reseaux-etendus/tp2/ipv6-nd.pkt b/panorama-reseaux-etendus/tp2/ipv6-nd.pkt new file mode 100644 index 0000000..7b983fb Binary files /dev/null and b/panorama-reseaux-etendus/tp2/ipv6-nd.pkt differ diff --git a/panorama-reseaux-etendus/tp2/ipv6-tunnel.pkt b/panorama-reseaux-etendus/tp2/ipv6-tunnel.pkt new file mode 100644 index 0000000..b46c77e Binary files /dev/null and b/panorama-reseaux-etendus/tp2/ipv6-tunnel.pkt differ diff --git a/panorama-reseaux-etendus/tp2/ipv6.pkt b/panorama-reseaux-etendus/tp2/ipv6.pkt index 3dbabd8..afd7d96 100644 Binary files a/panorama-reseaux-etendus/tp2/ipv6.pkt and b/panorama-reseaux-etendus/tp2/ipv6.pkt differ diff --git a/panorama-reseaux-etendus/tp2/main.tex b/panorama-reseaux-etendus/tp2/main.tex index 77a432c..9b893f8 100644 --- a/panorama-reseaux-etendus/tp2/main.tex +++ b/panorama-reseaux-etendus/tp2/main.tex @@ -129,7 +129,7 @@ L'dientifiant d'interface dans IPv6 à 64 bits est dérivé de l'EUI-64 en inver En effet, pour la construction des adresses IPv6, on a préféré utiliser 1 pour marquer l'unicité mondiale. Cette inversion de la sémantique du bit permet de garder la valeur 0 pour une numérotation manuelle, autorisant à numéroter simplement les interfaces locales à partir de 1. -Voici un schéma qui décrit comment déduire l'\emph{interface ID} à partir d'une adresse MAC~: +Voici un schéma qui décrit comment déduire l'\texttt{interface ID} à partir d'une adresse MAC~: \begin{center} \includegraphics[width=0.8\linewidth]{./img/eui-mac.png} @@ -140,9 +140,32 @@ Voici un schéma qui décrit comment déduire l'\emph{interface ID} à partir d' \item Configurer l'adresse IPv6 d'un routeur Cisco en utilisant le standard EUI-64. Vérifier la bonne prise en compte de votre configuration. + \emph{On commence par chercher l'adresse MAC de notre interface à configurer~:} + \begin{lstlisting}[gobble=12] - R1(config-if)# ipv6 address autoconfig + R1#show int g0/1 | include address + Hardware is CN Gigabit Ethernet, address is 0060.708b.2402 (bia 0060.708b.2402) + \end{lstlisting} + + \emph{On a donc deux 6 groupes de deux nombres hexadécimaux~: \texttt{00 60 70 8b 24 02}.} + + \emph{On peut maintenant inverser le bit \texttt{u} dans le premier octet~:} + + \emph{$00 \rightarrow 00000000 \rightarrow 00000010 \rightarrow 02$.} + + \emph{Après avoir inséré les octets \texttt{FF} et \texttt{FE} au milieu de l'adresse MAC, on obtient alors l'adresse IPv6 suivante~:} + \emph{\texttt{02:60:70:ff:fe:8b:24:02}.} + \emph{Affectons-là à l'interface du routeur~:} + + \begin{lstlisting}[gobble=12] + R1(config-if)# ipv6 address 02:60:70:ff:fe:8b:24:02/64 R1(config-if)# do show ipv6 int brief + GigabitEthernet0/0 [up/up] + FE80::260:70FF:FE8B:2401 + 2001:828:105:1::1 + GigabitEthernet0/1 [up/up] + FE80::260:70FF:FE8B:2402 + 2:60:70:FF:FE:8B:24:2 \end{lstlisting} \end{enumerate} @@ -160,11 +183,206 @@ Soit la maquette suivante~: \item Configurer l'adresse IPv6 du routeur R2 statiquement. \begin{lstlisting}[gobble=12] - R1(config-if)# ipv6 address 2001:2:3:4:2/64 + R2(config-if)# ipv6 address 2001:2:3:4::2/64 \end{lstlisting} \item Activer le mode debug des messages Neighbor Discovery de IPv6 sur R1 et R2. + \begin{lstlisting}[gobble=12] + R1# debug ipv6 nd + R2# debug ipv6 nd + \end{lstlisting} + + \item Configurer maintenant R1 pour qu'il obtienne une adresse IPv6 automatiquement. + + \begin{lstlisting}[gobble=12] + R1(config)# int g0/0/0 + R1(config-if)# no shut + R1(config-if)# ipv6 address autoconfig + \end{lstlisting} + + \item Analyser les messages affichés. + + \begin{lstlisting}[gobble=12] + *Mar 1 00:18:09.337: ICMPv6-ND: (GigabitEthernet0/0/0) IPv6 Opr Disabled + *Mar 1 00:18:09.337: ICMPv6-ND: Finished with ND context on (GigabitEthernet0/0/0) [6] + *Mar 1 00:18:09.337: ICMPv6-ND: Free ND context on (GigabitEthernet0/0/0) [6] + *Mar 1 00:18:09.337: ICMPv6-ND: (Null0) L3 going down + *Mar 1 00:18:09.337: ICMPv6-ND: (Null0) L3 down + *Mar 1 00:18:09.337: ICMPv6-ND: [default] Delete all routers on Null0 + *Mar 1 00:18:09.337: ICMPv6-ND: (Null0, FE80::1) Linklocal Down + *Mar 1 00:18:09.337: ICMPv6-ND: (Null0) IPv6 Opr Dis + *Mar 1 00:18:09.337: ICMPv6-ND: Finished with ND context on Null0[1] + *Mar 1 00:18:09.337: ICMPv6-ND: Free ND context on Null0[1] + *Mar 1 00:18:09.337: ICMPv6-ND: Module shutdown. + *Mar 1 00:18:09.337: ICMPv6-ND: Shutdown OL prefix database + *Mar 1 00:18:09.337: ICMPv6-ND: Cleanup OL prefix database + *Mar 1 00:18:09.337: ICMPv6-ND: Destroyed ND RA Desc Chunk pool + + R1# show ipv6 int b + GigabitEthernet0/0/0 [up/up] + FE80::201:43FF:FEE4:2A01 + \end{lstlisting} + \end{enumerate} +\section{Tunnel statique} + +Soit la topologie suivante~: + +\begin{center} +\includegraphics[width=0.7\linewidth]{./img/ex4.png} +\end{center} + +Nous voulons connecter le routeur Futura avec le routeur Destiny en IPv6 sans pour autant configurer IPv6 sur Cryo. +Effectuer cette configuration en utilisant les tunnels statiques. + +\paragraph{Étapes à suivre} + +\begin{enumerate} + + \item Configuration des adresses IP + + \begin{lstlisting}[gobble=12] + Futura(config)# int g0/0/0 + Futura(config-if)# ip address 192.168.12.1 255.255.255.0 + Futura(config-if)# no shutdown + Futura(config)# int loopback 0 + Futura(config-if)# ipv6 address 2001::1/128 + Futura(config-if)# no shutdown + + Cryo(config)# int g0/0/0 + Cryo(config-if)# ip address 192.168.12.2 255.255.255.0 + Cryo(config-if)# no shutdown + Cryo(config-if)# int g0/0/1 + Cryo(config-if)# ip address 192.168.23.2 255.255.255.0 + Cryo(config-if)# no shutdown + + Destiny(config)# int g0/0/0 + Destiny(config-if)# ip address 192.168.23.3 255.255.255.0 + Destiny(config-if)# no shutdown + Destiny(config)# int loopback 0 + Destiny(config-if)# ipv6 address 2001::3/128 + Destiny(config-if)# no shutdown + \end{lstlisting} + + \item Configuration du routage IPv4 et création des loopback IPv4 pour la stabilité des tunnels. + + \begin{lstlisting}[gobble=12] + Futura(config)# int loopback 0 + Futura(config-int)# ip address 1.1.1.1 255.255.255.0 + Futura(config-int)# exit + Futura(config)# router eigrp 123 + Futura(config-router)# no auto-summary + Futura(config-router)# network 192.168.12.0 + Futura(config-router)# network 1.1.1.0 + + Cryo(config)# int loopback 0 + Cryo(config-int)# ip address 2.2.2.2 255.255.255.0 + Cryo(config-int)# exit + Cryo(config)# router eigrp 123 + Cryo(config-router)# no auto-summary + Cryo(config-router)# network 192.168.12.0 + Cryo(config-router)# network 192.168.23.0 + Cryo(config-router)# network 2.2.2.0 + + Destiny(config)# int loopback 0 + Destiny(config-int)# ip address 3.3.3.3 255.255.255.0 + Destiny(config-int)# exit + Destiny(config)# router eigrp 123 + Destiny(config-router)# no auto-summary + Destiny(config-router)# network 192.168.23.0 + Destiny(config-router)# network 3.3.3.0 + \end{lstlisting} + + \item Créer les interfaces tunnel. + + \begin{lstlisting}[gobble=12] + Futura(config)# int tunnel 0 + Futura(config-int)# tunnel source loopback 0 + Futura(config-int)# tunnel destination 3.3.3.3 + Futura(config-int)# tunnel mode ipv6ip + + Destiny(config)# int tunnel 0 + Destiny(config-int)# tunnel source loopback 0 + Destiny(config-int)# tunnel destination 1.1.1.1 + Destiny(config-int)# tunnel mode ipv6ip + \end{lstlisting} + + \item Vérification de l'établissement du tunnel~: + + \begin{lstlisting}[gobble=12] + Futura# show interfaces tunnel 0 + Tunnel0 is up, line protocol is up (connected) + Destiny# show interfaces tunnel 0 + Tunnel0 is up, line protocol is up (connected) + \end{lstlisting} + + \item Activation du routage IPv6 sur \texttt{loopback 0} et \texttt{tunnel 0} sur Futura et Destiny. + + \begin{lstlisting}[gobble=12] + Futura(config)# ipv6 unicast-routing + Futura(config)# ipv6 router rip RIPNG + Futura(config-rtr)# exit + Futura(config)# int loopback 0 + Futura(config-if)# ipv6 rip RIPNG enable + Futura(config-if)# exit + Futura(config)# int tunnel 0 + Futura(config-if)# ipv6 enable + Futura(config-if)# ipv6 rip RIPNG enable + + Destiny(config)# ipv6 unicast-routing + Destiny(config)# ipv6 router rip RIPNG + Destiny(config-rtr)# exit + Destiny(config)# int loopback 0 + Destiny(config-if)# ipv6 rip RIPNG enable + Destiny(config-if)# exit + Destiny(config)# int tunnel 0 + Destiny(config-if)# ipv6 enable + Destiny(config-if)# ipv6 rip RIPNG enable + \end{lstlisting} + + \item Vérification de la route~: la route IPv6 vers 2001::3 doit apparaître. + + \begin{lstlisting}[gobble=12] + Futura# show ipv6 route + R 2001::3/128 [120/2] + via FE80::2D0:58FF:FEE1:40E1, Tunnel0 + \end{lstlisting} + + \item Faire un ping à partir de Futura, conclusion. + + \begin{lstlisting}[gobble=12] + Futura#ping 2001::3 + Type escape sequence to abort. + Sending 5, 100-byte ICMP Echos to 2001::3, timeout is 2 seconds: + !!!!! + Success rate is 100 percent (5/5), round-trip min/avg/max = 0/0/0 ms + \end{lstlisting} + + \emph{Le succès du ping montre une connexion en IPv6 entre Futura et Destiny.} + \emph{Comme aucun cable ne les relie, cette connexion passe forcément par Cryo, qui n'est configuré qu'en IPv4.} + + \emph{Un premier routage IPv4 a été fait grâce à EIGRP pour que Futura et Destiny puissent se joindre en IPv4.} + \emph{Ensuite, un tunnel IPv6 $\rightarrow$ IPv4 a été monté, sur lequel a été déployé un routage IPv6 avec RIPNG\@.} + + \emph{Ceci permet à Futura de router les paquets à destination de l'adresse IPv6 de Destiny par le tunnel.} + \emph{Grâce à ce tunnel, Cryo peut router ces paquets sans avoir pour autant implémenté IPv6.} + +\end{enumerate} + +\section{Tunnel dynamique} + +Cette technique est applée dynamique parce que la détermination des adresses IPv4 de la destination du tunnel se fait dynamiquement. +L'inconvénient est que cette technique ne supporte pas les protocoles de routage internes. +Nous serons donc obligés d'utiliser soit le routage statique, soit BGP\@. + +Il existe deux technique~: \texttt{automatic 6to4} et \texttt{ISATAP}. +Le préfixe 2002::/16 est réservé à \texttt{6to4}. +Voici comment les adresses sont constituées~: + +\begin{center} +\includegraphics[width=0.7\linewidth]{./img/6to4-prefix.png} +\end{center} + \end{document}