Table des matières

Introduction

Conditions préalables

Exigences

Composants utilisés

Informations générales

Problème

Solution

Introduction

Ce document décrit qu'une liste de contrôle d'accès IPv6 avec un préfixe de zéro dans une ACE peut correspondre à tous les paquets IPv6 et à sa solution de contournement.

Conditions préalables

Exigences

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- Configuration de la liste de contrôle d'accès IPv6 sur les routeurs Cisco IOS® XR

- Programmation matérielle ACL sur les routeurs Cisco IOS® XR

Composants utilisés

Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :

- La liste de contrôle d'accès IPv6 est appliquée avec le niveau de compression 2 ou 3

- Version de Cisco IOS® XR sans correction du bogue Cisco ID CSCwe08250

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.

Informations générales

L'adresse IPv6 ::/128 est réservée à l'adresse non spécifiée dans le document RFC(Request For Comments) 4291. Il ne doit jamais être attribué à un noeud. Il est donc recommandé de refuser cette adresse dans le filtrage de connexion IPv6.

Problème

Une liste de contrôle d'accès IPv6 incluant une entrée de contrôle d'accès (ACE) de ::/128 peut correspondre à n'importe quel paquet IPv6 sur l'interface à laquelle elle s'applique.

Un exemple de cette observation en laboratoire est présenté ci-dessous.

Configuration d'une liste de contrôle d'accès IPv6 avec ::/128 correspondant respectivement à l'adresse source et à l'adresse de destination IPv6 :

ipv6 access-list PREFIX_ALL_ZERO

10 remark ** HOST MASK **

11 deny ipv6 any host :: log

12 deny ipv6 host :: any log

Envoi du trafic PING (Packet Internet ou Inter-Network Groper) vers une adresse de destination IPv6 non nulle :

RP/0/RP0/CPU0:router#ping fd00:4860:1:1::150 count 100 timeout 0

Thu Sep 14 12:30:23.412 UTC

pings with timeout=0 may result in system instability and

control protocol flaps resulting in traffic impact.

Do you really want to continue[confirm with only 'y' or 'n'] [y/n] :y

Type escape sequence to abort.

Sending 100, 100-byte ICMP Echos to FD00:4860:1:1::150, timeout is 0 seconds:

....................................................................................................

Success rate is 0 percent (0/100)

Le paquet a été abandonné par ACE11 :

RP/0/RP0/CPU0:router#show access-lists ipv6 PREFIX_ALL_ZERO hardware ingress location 0/RP0/CPU0

Thu Sep 14 12:30:46.346 UTC

ipv6 access-list PREFIX_ALL_ZERO

11 deny ipv6 any host :: log (100 matches)

12 deny ipv6 host :: any log

Lors de la suppression de l'ACE 11, les abandons passent à l'ACE 12 :

RP/0/RP0/CPU0:router#clear access-list ipv6 PREFIX_ALL_ZERO hardware ingress location 0/RP0/CPU0

Thu Sep 14 12:31:34.899 UTC

RP/0/RP0/CPU0:router#ping fd00:4860:1:1::150 count 100 timeout 0

Thu Sep 14 12:31:39.482 UTC

pings with timeout=0 may result in system instability and

control protocol flaps resulting in traffic impact.

Do you really want to continue[confirm with only 'y' or 'n'] [y/n] :y

Type escape sequence to abort.

Sending 100, 100-byte ICMP Echos to FD00:4860:1:1::150, timeout is 0 seconds:

....................................................................................................

Success rate is 0 percent (0/100)

RP/0/RP0/CPU0:router#show access-lists ipv6 PREFIX_ALL_ZERO hardware ingress location 0/RP0/CPU0

Thu Sep 14 12:31:45.229 UTC

ipv6 access-list PREFIX_ALL_ZERO

12 deny ipv6 host :: any log (100 matches)

Ces ACE sont supposés supprimer uniquement les paquets dont l'adresse source ou de destination est composée uniquement de zéros.

Cependant, tout le trafic, même avec la source ou la destination pas tous les zéros, était abandonné.

Mise en garde : Ce comportement de non-concordance est appliqué à la longueur de la marque de sous-réseau IPv6 comprise entre /1 et /128 pour une entrée de contrôle d'accès, et pas seulement /128 dans l'exemple.

Solution

Version de Cisco IOS® XR avec correction du bogue Cisco ID CSCwe08250 corrige ce comportement incorrect.

Sur un routeur Cisco IOS® XR s'exécutant sans ce correctif, il existe une solution de contournement :

- Utilisez des listes de contrôle d'accès hybrides et déplacez l'::/<x> de la liste de contrôle d'accès vers un groupe d'objets réseau pour faire correspondre l'adresse source ou de destination avec tous les zéros.