Aller au contenu
Réussir mon BTS SIO

Tape une notion, une commande ou le nom d'une épreuve.

Par exemple

Chapitre 1116 minIntermédiaire

IPv6 sur les routeurs et les switchs Cisco

Par Josselyn C., prof de BTS SIO. Mis à jour le .

À la fin de ce chapitre, tu sauras

  • activer le routage IPv6 et adresser les interfaces ;
  • faire distribuer les préfixes et relayer le DHCPv6 ;
  • écrire des routes statiques IPv6, y compris vers une adresse de lien local ;
  • configurer OSPFv3 et une ACL IPv6 sans bloquer NDP.

5 exercices corrigés

Router en IPv6 sur un équipement Cisco demande trois choses : activer le routage IPv6 (ipv6 unicast-routing), donner une adresse IPv6 à chaque interface, puis écrire des routes statiques ou configurer OSPFv3 ; le routeur annonce alors lui-même le préfixe de chaque réseau aux machines, qui se configurent seules. Ce chapitre ajoute IPv6 au siège et à l'agence de Marseille, en double pile avec IPv4 : adresses des interfaces, annonces de routeur, relais DHCPv6, routes statiques avec une adresse de lien local, OSPFv3 et ACL IPv6.

Ce que tu dois déjà savoir

L'écriture des adresses IPv6, leur structure (64 bits pour le réseau, 64 pour l'interface), les adresses de lien local, NDP, SLAAC et DHCPv6 sont expliqués dans le chapitre IPv6 en pratique du cours Réseaux, avec le plan IPv6 de Sorbier. Ce chapitre ne refait pas ces explications : il configure.

Rappel du plan du siège : l'opérateur de Lyon délègue à Sorbier le préfixe 2001:db8:4a2c:3700::/56, et le numéro de VLAN est recopié dans le 4e groupe (VLAN 10 → 2001:db8:4a2c:3710::/64). Pour les liens entre équipements, on prend la fin du /56 :

RéseauPréfixeAdresses
VLAN 10, 20, 30, 40, 502001:db8:4a2c:37XX::/64 (XX = numéro du VLAN)SW-COEUR en ::1
VLAN 992001:db8:4a2c:3799::/64SW-COEUR en ::1
SW-COEUR – R-LYON2001:db8:4a2c:37f0::/64SW-COEUR ::1, R-LYON ::2
R-LYON – R-MARSEILLE2001:db8:4a2c:37f1::/64R-LYON ::1, R-MARSEILLE ::2
SW-COEUR – pare-feu2001:db8:4a2c:37ff::/64Pare-feu ::1, SW-COEUR ::2

L'agence de Marseille a son propre opérateur, qui lui délègue 2001:db8:5e10:4b00::/56 ; elle applique la même convention (VLAN 10 → 2001:db8:5e10:4b10::/64). Saint-Priest reste en IPv4 pour l'instant.

Activer le routage IPv6

Par défaut, un équipement Cisco sait avoir une adresse IPv6, mais ne route pas en IPv6 et n'envoie pas d'annonces de routeur. Une commande globale l'active :

text
SW-COEUR(config)# ipv6 unicast-routing

C'est l'équivalent IPv6 d'ip routing, et c'est l'oubli numéro un : sans elle, les interfaces ont leurs adresses, mais les postes ne reçoivent aucune annonce, n'obtiennent pas d'adresse globale et ne connaissent pas de passerelle IPv6.

Adresser les interfaces

Sur SW-COEUR, chaque SVI reçoit son adresse globale. On fixe aussi son adresse de lien local à fe80::1 : c'est cette adresse que les postes utilisent comme passerelle IPv6, et une valeur courte et identique dans tous les VLAN facilite la lecture des tables et le dépannage.

text
SW-COEUR(config)# interface Vlan10
SW-COEUR(config-if)# ipv6 address 2001:db8:4a2c:3710::1/64
SW-COEUR(config-if)# ipv6 address fe80::1 link-local
SW-COEUR(config-if)# interface Vlan20
SW-COEUR(config-if)# ipv6 address 2001:db8:4a2c:3720::1/64
SW-COEUR(config-if)# ipv6 address fe80::1 link-local
SW-COEUR(config-if)# interface GigabitEthernet1/0/48
SW-COEUR(config-if)# ipv6 address 2001:db8:4a2c:37f0::1/64
SW-COEUR(config-if)# interface GigabitEthernet1/0/47
SW-COEUR(config-if)# ipv6 address 2001:db8:4a2c:37ff::2/64

Les VLAN 30, 40, 50 et 99 suivent le même modèle. Une adresse de lien local n'a de sens que sur son lien : la même fe80::1 sur toutes les SVI ne crée aucun conflit.

Dès qu'une interface a une adresse globale en /64 et que le routage IPv6 est actif, l'équipement envoie des annonces de routeur (RA, Router Advertisement) sur ce réseau : le préfixe, et le fait qu'il est la passerelle. Les postes du VLAN 10 se fabriquent une adresse dans 2001:db8:4a2c:3710::/64 par SLAAC et prennent fe80::1 comme passerelle par défaut.

Sur les liens entre équipements, personne n'a besoin d'annonces. On les coupe :

text
SW-COEUR(config)# interface GigabitEthernet1/0/48
SW-COEUR(config-if)# ipv6 nd ra suppress all

DHCPv6 et le relais

SLAAC donne une adresse et une passerelle, mais pas toujours le serveur DNS de l'entreprise (une option des annonces le permet, inégalement prise en charge). Chez Sorbier, srv-ad distribue en DHCPv6 sans état les informations complémentaires (DNS, domaine). Le routeur l'indique aux postes par un drapeau dans ses annonces, et relaie leurs requêtes vers le serveur, comme ip helper-address en IPv4 :

text
SW-COEUR(config)# interface Vlan10
SW-COEUR(config-if)# ipv6 nd other-config-flag
SW-COEUR(config-if)# ipv6 dhcp relay destination 2001:db8:4a2c:3720::177
  • ipv6 nd other-config-flag (drapeau O) : « garde ton adresse SLAAC, et demande le reste en DHCPv6 » ;
  • ipv6 nd managed-config-flag (drapeau M) : « demande aussi ton adresse en DHCPv6 » (DHCPv6 avec état) ;
  • ipv6 dhcp relay destination : le relais vers le serveur, posé sur la passerelle des clients.

Les routes statiques IPv6

La syntaxe reprend celle d'IPv4, avec la notation en préfixe :

text
ipv6 route <préfixe>/<longueur> <prochain saut | interface [adresse de lien local]> [distance]

SW-COEUR sort vers Internet par le pare-feu et joint Marseille par R-LYON :

text
SW-COEUR(config)# ipv6 route ::/0 2001:db8:4a2c:37ff::1
SW-COEUR(config)# ipv6 route 2001:db8:5e10:4b00::/56 2001:db8:4a2c:37f0::2

R-LYON renvoie tout vers le siège, sauf Marseille :

text
R-LYON(config)# ipv6 unicast-routing
R-LYON(config)# interface GigabitEthernet0/0/0
R-LYON(config-if)# ipv6 address 2001:db8:4a2c:37f0::2/64
R-LYON(config-if)# interface GigabitEthernet0/0/1
R-LYON(config-if)# ipv6 address 2001:db8:4a2c:37f1::1/64
R-LYON(config-if)# exit
R-LYON(config)# ipv6 route ::/0 2001:db8:4a2c:37f0::1
R-LYON(config)# ipv6 route 2001:db8:5e10:4b00::/56 2001:db8:4a2c:37f1::2

R-MARSEILLE joint le siège par le lien loué et sort sur Internet par son propre opérateur. Le routeur de l'opérateur ne lui a donné que son adresse de lien local, fe80::1 : un prochain saut de lien local n'est valable que sur un lien précis, il faut donc nommer l'interface de sortie.

text
R-MARSEILLE(config)# ipv6 route 2001:db8:4a2c:3700::/56 2001:db8:4a2c:37f1::1
R-MARSEILLE(config)# ipv6 route ::/0 GigabitEthernet0/0/3 fe80::1

Vérifier

text
R-LYON# show ipv6 interface brief
GigabitEthernet0/0/0   [up/up]
    FE80::2A3:D1FF:FE5B:6C00
    2001:DB8:4A2C:37F0::2
GigabitEthernet0/0/1   [up/up]
    FE80::2A3:D1FF:FE5B:6C01
    2001:DB8:4A2C:37F1::1
GigabitEthernet0/0/2   [up/up]
    unassigned

IOS affiche les adresses en majuscules. Chaque interface IPv6 a une adresse de lien local, fabriquée automatiquement si on ne l'a pas fixée. Gi0/0/2, vers Saint-Priest, n'a pas d'IPv6.

text
R-LYON# show ipv6 route
IPv6 Routing Table - default - 7 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
       B - BGP, R - RIP, O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1
       OE2 - OSPF ext 2, ND - ND Default, NDp - ND Prefix
       ...
S   ::/0 [1/0]
     via 2001:DB8:4A2C:37F0::1
C   2001:DB8:4A2C:37F0::/64 [0/0]
     via GigabitEthernet0/0/0, directly connected
L   2001:DB8:4A2C:37F0::2/128 [0/0]
     via GigabitEthernet0/0/0, receive
C   2001:DB8:4A2C:37F1::/64 [0/0]
     via GigabitEthernet0/0/1, directly connected
L   2001:DB8:4A2C:37F1::1/128 [0/0]
     via GigabitEthernet0/0/1, receive
S   2001:DB8:5E10:4B00::/56 [1/0]
     via 2001:DB8:4A2C:37F1::2
L   FF00::/8 [0/0]
     via Null0, receive

La dernière ligne, FF00::/8, est la plage multicast, que le routeur traite lui-même. Les autres commandes : show ipv6 neighbors (le cache NDP, équivalent de la table ARP), ping et traceroute qui acceptent directement une adresse IPv6, et show ipv6 route 2001:db8:5e10:4b10::25 pour savoir quelle route s'applique.

OSPFv3 en quelques lignes

OSPF pour IPv6 s'appelle OSPFv3. Les principes sont ceux du chapitre 8 : voisins, base de données, coût, aires. Deux différences pratiques : il s'active sur les interfaces (pas de commande network), et les voisins se parlent avec leurs adresses de lien local. Son identifiant de routeur s'écrit comme une adresse IPv4 : sur un équipement sans aucune adresse IPv4, il faut le fixer, sinon le processus ne démarre pas.

text
R-LYON(config)# ipv6 router ospf 1
R-LYON(config-rtr)# router-id 2.2.2.2
R-LYON(config-rtr)# auto-cost reference-bandwidth 10000
R-LYON(config-rtr)# exit
R-LYON(config)# interface GigabitEthernet0/0/0
R-LYON(config-if)# ipv6 ospf 1 area 0
R-LYON(config-if)# interface GigabitEthernet0/0/1
R-LYON(config-if)# ipv6 ospf 1 area 0
R-LYON(config-if)# ipv6 ospf cost 100

La vérification se fait avec show ipv6 ospf neighbor et show ipv6 route ospf. Sur les IOS XE récents, une syntaxe plus récente (router ospfv3 1, puis address-family ipv6 unicast) gère IPv4 et IPv6 dans un même processus ; l'ancienne reste acceptée.

Les ACL IPv6

Les ACL IPv6 sont toujours nommées et toujours « étendues ». On les applique avec ipv6 traffic-filter (et non ip access-group) :

text
SW-COEUR(config)# ipv6 access-list ENTREPOT6-IN
SW-COEUR(config-ipv6-acl)# permit udp any any eq 547
SW-COEUR(config-ipv6-acl)# permit tcp 2001:db8:4a2c:3730::/64 host 2001:db8:4a2c:3720::179 eq 443
SW-COEUR(config-ipv6-acl)# permit icmp any any nd-ns
SW-COEUR(config-ipv6-acl)# permit icmp any any nd-na
SW-COEUR(config-ipv6-acl)# deny ipv6 any any log
SW-COEUR(config-ipv6-acl)# exit
SW-COEUR(config)# interface Vlan30
SW-COEUR(config-if)# ipv6 traffic-filter ENTREPOT6-IN in

Le port UDP 547 est celui des serveurs et relais DHCPv6 ; les deux lignes nd-ns et nd-na sont expliquées juste après. Une différence importante avec IPv4 : chaque ACL IPv6 se termine par des règles implicites qui autorisent la découverte des voisins (messages NDP de sollicitation et d'annonce de voisin) avant le refus implicite final. Sans elles, plus aucune machine ne trouverait l'adresse MAC de sa passerelle. Mais un deny ipv6 any any explicite placé en fin de liste passe avant ces règles implicites et bloque NDP : si tu termines par un refus explicite, ajoute d'abord permit icmp any any nd-ns et permit icmp any any nd-na. Les annonces de routeur, elles, ne sont pas concernées par une ACL en entrée de la SVI, puisque c'est le switch qui les émet.

Une ACL IPv4 ne filtre rien en IPv6, et inversement : sur un réseau en double pile, chaque règle s'écrit deux fois. C'est l'oubli qui ouvre des brèches.

Exercices

Exercice 1 sur 5 Adresser une SVI Réussi À revoir

Écris la configuration IPv6 de la SVI du VLAN 50 de SW-COEUR, avec la convention du siège, l'adresse de lien local fe80::1, et le relais DHCPv6 sans état vers srv-ad.

Voir la réponseMasquer la réponse de l'exercice 1
text
interface Vlan50
 ipv6 address 2001:db8:4a2c:3750::1/64
 ipv6 address fe80::1 link-local
 ipv6 nd other-config-flag
 ipv6 dhcp relay destination 2001:db8:4a2c:3720::177

ipv6 unicast-routing doit être actif globalement. Les téléphones obtiennent leur adresse par SLAAC dans 2001:db8:4a2c:3750::/64, leur passerelle fe80::1 par les annonces de routeur, et le serveur DNS en DHCPv6.

Tu avais trouvé ?

Exercice 2 sur 5 Les postes sans adresse globale Réussi À revoir

Après la configuration des SVI, les postes du VLAN 10 n'ont qu'une adresse fe80::… et pas de passerelle IPv6. Les SVI ont bien leurs adresses.

  1. Quelle est la cause la plus probable ?
  2. Comment le vérifier ?
  3. Quelle autre cause, sur l'interface elle-même, produirait le même symptôme ?
Voir la réponseMasquer la réponse de l'exercice 2
  1. Le routage IPv6 n'est pas activé : sans ipv6 unicast-routing, le switch n'envoie aucune annonce de routeur. Les postes ne reçoivent ni préfixe (pas de SLAAC) ni passerelle.
  2. show running-config | include ipv6 unicast-routing (rien ne s'affiche) ; show ipv6 interface Vlan10 (la ligne « ND router advertisements are sent every … seconds » est absente) ; sur un poste, ipconfig ou ip -6 route ne montre pas de route par défaut.
  3. Les annonces ont été supprimées sur la SVI (ipv6 nd ra suppress all, copiée par erreur depuis la configuration d'un lien de transit), ou le préfixe n'est pas en /64 (SLAAC exige un /64).

Tu avais trouvé ?

Exercice 3 sur 5 Un prochain saut de lien local Réussi À revoir

Sur R-MARSEILLE, un technicien tape ipv6 route ::/0 fe80::1. IOS refuse.

  1. Pourquoi ?
  2. Corrige la commande.
  3. Pourquoi l'opérateur ne donne-t-il qu'une adresse de lien local comme passerelle ?
Voir la réponseMasquer la réponse de l'exercice 3
  1. Une adresse de lien local n'est unique que sur son lien : fe80::1 peut exister sur chacune des interfaces du routeur. Sans interface, IOS ne sait pas sur quel lien la chercher.
  2. ipv6 route ::/0 GigabitEthernet0/0/3 fe80::1.
  3. C'est l'usage en IPv6 : les routeurs se parlent par leurs adresses de lien local (c'est aussi ce que les annonces de routeur donnent comme passerelle aux postes). L'opérateur n'a pas à consommer d'adresse globale pour le lien, et l'adresse de passerelle reste stable même si le préfixe change.

Tu avais trouvé ?

Exercice 4 sur 5 Lire une table de routage IPv6 Réussi À revoir

Sur SW-COEUR, pour chaque destination, dis quelle route s'applique : 2001:db8:4a2c:3720::177, 2001:db8:5e10:4b10::25, 2001:db8:5e10:4c00::1, 2606:4700::1111.

Table (extrait) : C 2001:db8:4a2c:3720::/64 (Vlan20) ; S 2001:db8:5e10:4b00::/56 via 2001:db8:4a2c:37f0::2 ; S ::/0 via 2001:db8:4a2c:37ff::1.

Voir la réponseMasquer la réponse de l'exercice 4
  • 2001:db8:4a2c:3720::177 (srv-ad) : réseau connecté, VLAN 20.
  • 2001:db8:5e10:4b10::25 : dans 2001:db8:5e10:4b00::/56 (de 4b00 à 4bff dans le 4e groupe) → vers R-LYON, 2001:db8:4a2c:37f0::2.
  • 2001:db8:5e10:4c00::1 : le 4e groupe 4c00 est hors de 4b00 à 4bff → route par défaut, vers le pare-feu. Ce n'est pas Marseille.
  • 2606:4700::1111 (un résolveur public) : route par défaut, vers le pare-feu.

Tu avais trouvé ?

Exercice 5 sur 5 L'ACL qui coupe tout Réussi À revoir

Un administrateur pose sur la SVI du VLAN 40 cette ACL IPv6, pour que les visiteurs n'atteignent qu'Internet :

text
ipv6 access-list VISITEURS6-IN
 deny ipv6 any 2001:db8:4a2c:3700::/56
 permit ipv6 any any
  1. Les visiteurs peuvent-ils encore joindre leur passerelle pour sortir ? Explique.
  2. Même question si la dernière ligne était deny ipv6 any any (et qu'une ligne permit autorisait Internet avant).
  3. Quelle ligne ajouter dans le second cas ?
Voir la réponseMasquer la réponse de l'exercice 5
  1. Oui : les messages NDP qui servent à trouver la passerelle sont adressés à fe80::1 (lien local) ou à des adresses multicast ff02::…, qui ne sont pas dans 2001:db8:4a2c:3700::/56 ; ils passent par le permit ipv6 any any. Les paquets vers Internet aussi. Seuls les réseaux du siège sont bloqués.
  2. Le deny ipv6 any any explicite passe avant les règles implicites qui autorisent NDP : les sollicitations de voisin des visiteurs vers la passerelle sont jetées, ils ne trouvent plus son adresse MAC, et plus rien ne sort.
  3. Avant le deny final : permit icmp any any nd-ns et permit icmp any any nd-na.

Tu avais trouvé ?

Chapitre terminé !

Fais les 5 exercices avant de passer à la suite : c'est en t'entraînant que tout se fixe.

chapitres
–
de série
–
du cours
–
Chapitre suivant : Sauvegarde, NTP, syslog, SNMPv3 et sécurité des portsRevoir le sommaire du cours