owned this note
owned this note
Published
Linked with GitHub
# TP - IPV6 by Aurélie Lecerf E5 CCSN
# Partie 1: Identification des adresses



_______
# Partie 2: Configuration des interfaces


R1 (côté R2)
conf t
int g0/0
ipv6 enable
ipv6 add 2001:DB8:1::1/64
no sh
exit
exit
Sh ipv6 interface brief => pour voir si les interfaces sont up

R1 (côté R3)
conf t
int s6/0
ipv6 enable
ipv6 add 2001:DB8:3::1/64
no sh
Do wr
exit
Exit
sh ipv6 interface bref

R2(côté R1)
conf t
int g0/0
ipv6 enable
ipv6 add 2001:DB8:1::2/64
no sh
do wr
exit
exit

R2(côté R3)
conf t
int g1/0
ipv6 enable
ipv6 add 2001:DB8:2::2/64
no sh
do wr
exit
Exit

R3 (côté R1)
conf t
int s6/0
ipv6 enable
ipv6 add 2001:DB8:3::2/64
no sh
do wr
exit
Exit

R3 (côté R2)
conf t
int g0/0
ipv6 enable
ipv6 add 2001:DB8:2::1/64
no sh
do wr
exit
Exit

____
# Partie 3 Routage statique


R1 ( veut se connecter au sous réseau voisin entre R2 et R3 soit 2001:DB8:2::/64) côté R3
Conf t
Ipv6 unicast-routing
Int g0/0
Ipv6 address 2001:DB8:1::1/64
Exit
ipv6 route 2001:DB8:2::/64 2001:DB8:3::2
Exit
Utiliser traceroute pour connaître les chemins par lesquels on passe

R1 ( veut se connecter au sous réseau voisin entre R2 et R3 soit 2001:DB8:2::/64) côté R2
Conf t
Ipv6 unicast-routing
Int g0/0
Ipv6 address 2001:DB8:1::1/64
Exit
ipv6 route 2001:DB8:2::/64 2001:DB8:1::2
Exit
Sh ipv6 route

Ping des interfaces des routeurs R2 et R3 du sous réseau visé suite à la création des routes statiques



R2 ( veut se connecter au sous réseau voisin entre R1 et R3 soit 2001:DB8:3::/64) côté R3
Conf t
Ipv6 unicast-routing
Int g0/0
Ipv6 address 2001:DB8:1::2/64
Exit
ipv6 route 2001:DB8:3::/64 2001:DB8:2::1
Exit
Sh ipv6 route

R2 ( veut se connecter au sous réseau voisin entre R1 et R3 soit 2001:DB8:3::/64) côté R1
Conf t
Ipv6 unicast-routing
Int g0/0
Ipv6 address 2001:DB8:1::2/64
Exit
ipv6 route 2001:DB8:3::/64 2001:DB8:1::1
Exit
Sh ipv6 route

Ping des interfaces des routeurs R1 et R3 du sous réseau visé suite à la création des routes statiques


R3 ( veut se connecter au sous réseau voisin entre R1 et R2 soit 2001:DB8:1::/64) côté R1
Conf t
Ipv6 unicast-routing
Int s6/0
Ipv6 address 2001:DB8:3::2/64
Exit
ipv6 route 2001:DB8:1::/64 2001:DB8:3::1
Exit
Sh ipv6 route
R3 ( veut se connecter au sous réseau voisin entre R1 et R2 soit 2001:DB8:1::/64) côté R2
Conf t
Ipv6 unicast-routing
Int s6/0
Ipv6 address 2001:DB8:3::2/64
Exit
ipv6 route 2001:DB8:1::/64 2001:DB8:2::2
Exit
Sh ipv6 route

Ping des interfaces des routeurs R1 et R2 du sous réseau visé suite à la création des routes statiques


____________
# Partie 4: Routage dynamique avec RIPng

R1
1) Interface - mise en place des adresses
R1
enable
conf t
interface g0/0
ipv6 enable
ipv6 address 2001:db8:1::1/64
no shutdown
interface s6/0
ipv6 enable
ipv6 address 2001:db8:6::2/64
no shutdown
interface g1/0
ipv6 enable
ipv6 address 2001:db8:5::2/64
no shutdown
exit
exit
wr

Vérification des interfaces up
show ipv6 interface brief


2) Mise en place du protocole RIPng
RIPng:
conf t
ipv6 unicast-routing
interface g0/0
ipv6 rip LT enable
exit
interface s6/0
ipv6 rip LT enable
exit
interface g1/0
ipv6 rip LT enable
exit
exit
wr
R1 a deux interfaces avec une adresse unicast globale.
Par défaut, il ne prend pas en compte le protocole IPv6.
C’est pourquoi il faut l’activer avec la commande | « ipv6 unicast-routing »
ipv6 rip LT enable => déclare le rip sur toutes les interfaces du routeur

show ipv6 route pour voir les routeurs connectés voisins et ceux appris par le routage RIPng

traceroute ipv6 "adresse visée"

ping

protocole
show ipv6 protocol => ici RIP

Les protocoles de routage à vecteur de distances permettent de construire des tables de routages sans aucune vision globale du réseau.
Le terme « vecteur » vient du faite, que le protocole manipule des tableaux vers les autres nœuds du réseau.
Et le mot « distance » est le nombre de sauts qui lui permet d’atteindre les autres routeurs !
RIP est un protocole de routage à vecteur de distance.
distance administrative => ici RIP = 120 et le 2 est la métrique de l’itinéraire.
C’est-à-dire que le routeur 1 doit traverser 2 autres routeurs

FF02::9 permet de communiquer avec routeurs voisins
Défaillance entre R1 et R5

Les routeurs qui fonctionnent avec le protocole RIP envoient périodiquement des messages d’update. Ces messages sont envoyés toutes les 30 secondes !
Et si un des routeurs ne reçoit pas de mise à jour, alors cela aura pour effet de déclencher différents types de timers :
Si au bout de 30 secondes, il ne reçoit pas sa mise à jour, alors le timer Invalid se déclenche.
Après 180 secondes, l’itinéraire est considéré comme invalide et placé dans le mode Hold Down.
Dans ce mode, les mises à jour de cette route seront ignorées pendant 180 secondes, à moins qu’elle obtienne une métrique plus faible.
Et par contre, si au bout de 240 secondes, la route est toujours indisponible, alors elle sera supprimée de la table de routage
Ces informations sur les différentes routes sont partagées dynamiquement entre routeurs.
C’est-à-dire que, lorsqu'un routeur reçoit des infos sur une nouvelle route, ou bien, simplement un changement d’itinéraire, alors, il mettra à jour sa propre table de routage, et il partagera ces infos aux autres routeurs.
R2
1) Interface - mise en place des adresses

Vérification des interfaces up
show ipv6 interface brief

2) Mise en place du protocole RIPng

show ipv6 route pour voir le RIP R sur les 2 interfaces de R2

traceroute ipv6 "vers R4"

ping

protocole

R3
1) Interface - mise en place des adresses

Vérification des interfaces up
show ipv6 interface brief

2) Mise en place du protocole RIPng

show ipv6 route

traceroute ipv6 "adresse visée"

ping d'un voisin éloigné

show ipv6 protocol

R5
1) Interface - mise en place des adresses

Vérification des interfaces up
show ipv6 interface brief

2) Mise en place du protocole RIPng

show ipv6 route

traceroute ipv6 "vers R2"

ping

show ipv6 protocol

R4
1) Interface - mise en place des adresses

Vérification des interfaces up
show ipv6 interface brief

2) Mise en place du protocole RIPng

show ipv6 route

traceroute ipv6 "vers R3"

ping d'un voisin éloigné

show ipv6 protocole

RIPng est ***un protocole à vecteur de distance*** => coût défini en nombre de sauts ou de routeurs traversés pour aller d'un réseau à un autre.
Le protocole RIP (Routing Information Protocol) est utilisé pour gérer les informations du routeur dans un réseau autonome, par exemple un réseau local d'entreprise (LAN) ou un réseau étendu privé (WAN). Avec le protocole RIP, un hôte passerelle envoie sa table de routage au routeur le plus proche toutes les 30 secondes. Ce routeur, à son tour, envoie le contenu de ses tables de routage aux routeurs voisins.
Le protocole RIP convient parfaitement aux petits réseaux. Cela est dû au fait que la transmission de la table de routage complète toutes les 30 secondes peut générer une charge de trafic importante sur le réseau. De plus, les tables RIP sont limitées à 15 sauts. Le protocole OSPF est mieux adapté aux réseaux plus importants.
________________________
# Partie 5 - Routage dynamique avec OSPFv3
Open Shortest Path First (OSPF)

R1
OSPF:
conf t
ipv6 unicast-routing
ipv6 router ospf 1
router-id 1.1.1.1
exit
interface g0/0
ipv6 ospf 1 area 0
interface s6/0
ipv6 ospf 1 area 0
interface g1/0
ipv6 ospf 1 area 0
wr





Pour voir ses voisins ospf surtout en cas de défaillance
show ipv6 ospf neighbor

show ipv6 ospf interface
La commande « show ip ospf interface » permet d’afficher le cout de chaque interface du routeur.



R2







Et on à ceux à état de lien: qui utilise un algorithme beaucoup plus efficace. Ici, les routeurs construisent leurs tables de routage, en fonction du coût des différentes liaisons
OSPF est ***un protocole de routage à état de lien***. Il a l’avantage d’avoir une ***convergence très rapide et une excellente évolutivité***. Comme tous les protocoles à état de liens, OSPF est très efficace dans son utilisation de ***la bande passante*** du réseau.
RIP n'a aucun concept de retards sur le réseau et de coûts des liaisons. Les décisions de routage sont basées sur les nombres de sauts. Le chemin d'accès avec le plus faible nombre de sauts jusqu'à la destination est toujours préféré, même si le chemin d'accès plus long a une meilleure bande passante de liaison agrégée et moins de retards.
La commande « ipv6 router ospf » permet d’activer OSPFv3 en globalité. Ici on choisit comme ID de processus le Numéro 1.
Si plusieurs protocoles de routage sont configurés sur les routeurs, alors c’est la distance administrative qui décidera de quel protocole, le routeur utilisera.
Distance administrative de 110
Parce que les deux interfaces ont le même cout OSPF, l'équilibrage de charge sera donc utilisé sur les deux liens.
________
# Partie 6 - Routage dynamique avec EIGRPv6

R1
EIGRP
conf t
ipv6 unicast-routing
ipv6 router eigrp 1
router-id 1.1.1.1
no shutdown
exit
interface g0/0
ipv6 eigrp 1
interface g1/0
ipv6 eigrp 1
interface s6/0
ipv6 eigrp 1
exit
exit
wr






R2
EIGRP
conf t
ipv6 unicast-routing
ipv6 router eigrp 1
router-id 2.2.2.2
no shutdown
exit
interface g0/0
ipv6 eigrp 1
interface g1/0
ipv6 eigrp 1
exit
exit
wr




EIGRP est un protocole de routage à vecteur de distance ip avec optimisation permettant de minimiser l'instabilité de routage due aussi bien au changement de topologie qu'à l'utilisation de la bande passante
Le protocole EIGRP dispose de caractéristiques fonctionnelles modernes :
* Établit des relations de voisinage.
* Mises à jour opportunes, incrémentielles, partielles avec des demandes, des réponses et des accusés de réception (économie de bande passante).
* Il est multi-protocoles : il supporte aussi bien qu’IPv4/IPv6.
* Il utillise l’Unicast et le Multicast 224.0.0.10 et FF02::A, Il est directement embarqué dans IP (protocole IP 88).
* Convergence très rapide par nature.
* Calcul anticipé de routes alternatives sans boucle (algorithme DUAL).
* Métrique fine “composite” (c’est-à-dire composées de plusieurs éléments dans une formule de calcul).
* Répartition de charge égale des routes, mais aussi répartition de charge inégale de routes.
* Redistribution de routes.
* EIGRP découvre les routeurs voisins et prend en charge la maintenance des relations de voisinage avec des paquets Hello envoyés périodiquement.
--------
# Partie 7 - Attribution d'adresses ipv6 stateless

Commande ipv6 nd prefix permetde spécifier quelle adresse réseau doit être incluse dans les annonces ICMPv6
Utillisation de la commande no ipv6 nd prefix permet de supprimer l'adresse réseau des annonces ICMPv6
! Définit le préfixe à annoncer et sa taille (optionnel ou non selon les versions d'IOS et de plateforme)
Commande no ipv6 nd suppress-ra permet de forcer l'annonce indiquant que le routeur est passerelle pourle segment
! Ne pas supprimer les RAs (optionnel selon les plateformes et versions d'IOS)
Depuis un pc entrer la commande ipconfig pour avoir l'adresse ipv6 du client et lancer ping -6 ipv6 avec l'adresse du second
conf t
interface g0/0
ipv6 nd prefix 2001:db8::/64
no ipv6 nd suppress-ra
end
debug ipv6 nd


* Côté PC
Dans /etc/network/interfaces
auto eth1
iface eth1 inet6 auto
Redémarrage du service réseau via « /etc/init.d/networking restart » et « ifconfig »
On constate que le PC s’est auto-configuré deux adresses, rien d’étonnant, en IPv6 une interface n’est pas limitée à une seule adresse … et en plus, on a ici une adresse générée sur base du EUI-64(reconnaissable par la séquence FF:FE) et l’autre par la méthode aléatoire.
Ping6 routeur depuis le PC
Commande pour la table de routage IPv6 du PC pour voir la passerelle par défaut
ip -6 route
il manque encore quelques détails, aucune option n’est fournie, donc pas de serveur DNS etc … et malheureusement, si on applique strictement cette méthode, il n’y a pas la possibilité d’annoncer un serveur DNS ou autre. Il faut alors les configurer manuellement côté PC.
La solution est donc d’utiliser un serveur DHCP en mode Stateless, pour justement fournir les détails manquant
---------------------
# Partie 8 - Configuration d'un DHCP ipv6
Serveur DHCP en mode Stateless
enable
configure terminal
ipv6 dhcp pool *poolname*
! Configure un pool d'informations de configuration DHCPv6 (Dynamic Host Configuration Protocol for IPv6) et passe en mode de configuration de pool DHCPv6.
dns-server *ipv6-address*
! Spécifie les serveurs IPv6 DNS (Domain Name System) disponibles pour un client DHCPv6.
domain-name *domain*
! Configure un nom de domaine pour un client DHCPv6.
exit
interface *type number*
! Spécifie un type et un numéro d'interface et place le périphérique en mode de configuration d'interface.
ipv6 dhcp server *poolname* [rapid-commit] [preference *value*] [allow-hint]
! Active DHCPv6 sur une interface.
optionnal : ipv6 nd other-config flag
! Définit l'indicateur "autre configuration avec état" dans les annonces de routeur IPv6 (RA).
end
Exemple:

____________________________________
# Partie 9 - Tunnel 6to4
Un tunnel 6to4 automatique permet de connecter des domaines IPv6 isolés via un réseau IPv4 à des réseaux IPv6 distants. La principale différence entre les tunnels 6to4 automatiques et les tunnels configurés manuellement est que le tunnel n'est pas point à point ; c'est point à multipoint. Dans les tunnels 6to4 automatiques, les routeurs ne sont pas configurés par paires car ils traitent l'infrastructure IPv4 comme une liaison NBMA (virtual nonbroadcast multiaccess). L'adresse IPv4 intégrée à l'adresse IPv6 est utilisée pour trouver l'autre extrémité du tunnel automatique.
enable
configure terminal
interface tunnel tunnel-number
ipv6 address {ipv6-address / prefix-length | prefix-name sub-bits/prefix-length
tunnel source {ip-address| interface-t ype interface-number
tunnel mode ipv6ip {6rd | 6to4 | auto-tunnel | isatap
exit
ipv6 route [vrf vrf-name] ipv6-prefix / prefix-length{ipv6-address | interface-type interface-number [ipv6-address] [nexthop-vrf [vrf-name1 | default]] [administrative-distance] [administrative-multicast-distance | unicast | multicast] [next-hop-address] [tag tag]
enable
conf t
interface tunnel 0
no ip address
no ip redirects
ipv6 address 2002:C0A8:0001::/48
! Adresse ipv4 du tunnel = adresse interface reliée à l'autre routeur (ici 192.168.0.1)
Cette adresse est codée dans l'adresse 6to4 du tunnel
Conversion de 192.168.0.1 en hexadecimal donne C0.A8.00.01
Cela donne 2002:C0A8:0001::/48 dans l'adresse 6to4 2002:C0A8:0001::/48
tunnel source *adresse*
tunnel mode ipv6ip 6to4
exit
Puis ajouter les routes
ipv6 route 2002:C0A8:0002::/48 Tunnel 0
ipv6 route 2001:db8:2::2/64 2002:C0A8:00:02::