Inleiding
In dit document wordt beschreven dat een IPv6-ACL met een voorvoegsel all-zero in een ACE kan overeenkomen met alle IPv6-pakketten en de tijdelijke oplossing.
Voorwaarden
Vereisten
Cisco raadt kennis van de volgende onderwerpen aan:
- IPv6 ACL (Access Control List) configuratie op Cisco IOS® XR routers
- ACL Hardware Programming op Cisco IOS® XR-routers
Gebruikte componenten
De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:
- IPv6 ACL wordt toegepast met compressieniveau 2 of 3
- Cisco IOS® XR release zonder oplossing van Cisco bug ID CSCwe08250

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Achtergrondinformatie
IPv6-adres::/128 is gereserveerd voor niet-gespecificeerd adres in RFC(Request For Comments) 4291. Het mag nooit worden toegewezen aan een node, dus het is een best practice om dit adres te weigeren in de IPv6 Bogon-filtering.
Probleem
Een IPv6 ACL met een ACE (Access Control Entry) van:/128 kan overeenkomen met elk IPv6-pakket op de interface waarop het is toegepast.
Een voorbeeld van deze observatie in het lab wordt hieronder getoond.
Een IPv6-ACL configureren met:/128 overeenkomend met respectievelijk IPv6-bron- en doeladres:
ipv6 access-list PREFIX_ALL_ZERO
10 remark ** HOST MASK **
11 deny ipv6 any host :: log
12 deny ipv6 host :: any log
Het verzenden van PING-verkeer (Packet Internet of Inter-Network Groper) naar een IPv6-bestemmingsadres dat niet nul is:
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)
Het pakket werd gedropt door 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
Wanneer u de ACE 11 verwijdert, gaan de druppels naar 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)
Deze ACE's worden verondersteld alleen pakketten te laten vallen met een bron- of bestemmingsadres dat alle nullen is.
Echter, al het verkeer, zelfs met bron of bestemming niet alle nullen, werd gedropt.
Let op: Dit mismatch gedrag wordt toegepast op de IPv6 subnet markeerlengte van /1 tot /128 voor een ACE, niet alleen de /128 in het voorbeeld.
Oplossing
Cisco IOS® XR release met de oplossing van Cisco bug ID CSCwe08250
corrigeert dit verkeerde gedrag.
Op een Cisco IOS® XR-router die zonder die oplossing wordt uitgevoerd, bestaat een oplossing:
- Gebruik hybride ACL's en verplaats de ::/<x> van de ACL naar een netwerkobjectgroep om het bron- of bestemmingsadres met alle nullen te matchen.