Inleiding
Dit document beschrijft dat een IPv6 ACL met een prefix alles-nul in een ACE alle IPv6-pakketten en de tijdelijke oplossing kan matchen.
Voorwaarden
Vereisten
Cisco raadt kennis van de volgende onderwerpen aan:
- Configuratie van IPv6 ACL (toegangscontrolelijst) op Cisco IOS® XR-routers
- ACL-hardwareprogrammering 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 fix 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 in RFC(request for comments) 4291 gereserveerd voor niet-gespecificeerd adres. Het moet nooit worden toegewezen aan een knooppunt, dus het is de beste praktijk om dit adres te ontkennen in de IPv6 Bogon filtering.
Probleem
Een IPv6 ACL met een ACE (Access Control Entry) van::/128 kan elk IPv6-pakket op de interface waarop het van toepassing was, matchen.
Een voorbeeld van deze observatie in het lab wordt hieronder getoond.
Een IPv6-ACL configureren met:/128 overeenkomende 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 verkeer van PING (Packet Internet of Inter-Network Groper) naar een niet-nul IPv6-bestemmingsadres:
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 is door ACE11 laten vallen:
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
Bij het verwijderen van de ACE 11, druppels verplaatsen 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 om alleen pakketten te laten vallen met bron- of doeladres dat allemaal nullen zijn.
Echter, al het verkeer, zelfs met bron of bestemming niet alle nullen, werd gedropt.
Waarschuwing: dit foutieve gedrag wordt toegepast op de IPv6-subnetmarklengte van /1 tot /128 voor een ACE, niet alleen op de /128 in het voorbeeld.
Oplossing
Cisco IOS® XR release met de fix van Cisco bug-id CSCwe08250 corrigeert dit verkeerde gedrag.
Op een router van Cisco IOS® XR die zonder die moeilijke situatie loopt, bestaat een tijdelijke oplossing:
- Gebruik hybride ACL’s en verplaats de ::/<x> van de ACL naar een netwerk object-groep om bron- of doeladres aan te passen aan alle nullen.