Inhalt

Einleitung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Hintergrundinformationen

Problem

Lösung

Einleitung

In diesem Dokument wird beschrieben, dass eine IPv6-ACL mit einem Präfix "all-zero" in einem ACE allen IPv6-Paketen und deren Problemumgehung entsprechen kann.

Voraussetzungen

Anforderungen

Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:

- Konfiguration der IPv6 ACL (Access Control List) auf Cisco IOS® XR-Routern

- ACL-Hardwareprogrammierung auf Cisco IOS® XR-Routern

Verwendete Komponenten

Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:

- IPv6-ACL wird mit Komprimierungsstufe 2 oder 3 angewendet

- Cisco IOS® XR-Version ohne Korrektur des Cisco Bugs ID CSCwe08250

Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.

Hintergrundinformationen

IPv6 address::/128 is reserved for Unspecified Address in the RFC(Request For Comments) 4291. Sie darf niemals einem Knoten zugewiesen werden. Daher empfiehlt es sich, diese Adresse in der IPv6-Bogon-Filterung abzulehnen.

Problem

Eine IPv6-ACL mit einem ACE (Access Control Entry, Zugriffssteuerungseintrag) von ::/128 kann mit jedem IPv6-Paket auf der Schnittstelle übereinstimmen, auf die sie angewendet wurde.

Ein Beispiel für diese Beobachtung im Labor ist unten dargestellt.

Konfigurieren einer IPv6-ACL mit::/128 entsprechend der IPv6-Quell- bzw. -Zieladresse:

ipv6 access-list PREFIX_ALL_ZERO

10 remark ** HOST MASK **

11 deny ipv6 any host :: log

12 deny ipv6 host :: any log

Senden von PING-Datenverkehr (Packet Internet oder Inter-Network Group) an eine IPv6-Zieladresse ungleich 0:

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)

Das Paket wurde von ACE11 verworfen:

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

Wenn Sie ACE 11 entfernen, werden die Drops zu ACE 12 verschoben:

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)

Diese ACEs sollen nur Pakete verwerfen, deren Quell- oder Zieladresse aus Nullen besteht.

Der gesamte Datenverkehr wurde jedoch verworfen, selbst wenn es sich bei der Quelle oder dem Ziel nicht um Nullen handelte.

Achtung: Dieses Ungleichheitsverhalten wird auf die IPv6-Subnetzmarkierungslänge von /1 bis /128 für einen ACE angewendet, nicht nur auf /128 im Beispiel.

Lösung

Mit der Cisco IOS® XR-Version mit der Cisco Bug-ID CSCwe08250 wird dieses falsche Verhalten behoben.

Auf einem Cisco IOS® XR-Router, der ohne diese Fehlerbehebung ausgeführt wird, gibt es eine Problemumgehung:

- Verwenden Sie hybride ACLs, und verschieben Sie ::/<x> aus der ACL in eine Netzwerkobjektgruppe, um die Quell- oder Zieladresse mit allen Nullen abzustimmen.