De documentatie van dit product is waar mogelijk geschreven met inclusief taalgebruik. Inclusief taalgebruik wordt in deze documentatie gedefinieerd als taal die geen discriminatie op basis van leeftijd, handicap, gender, etniciteit, seksuele oriëntatie, sociaaleconomische status of combinaties hiervan weerspiegelt. In deze documentatie kunnen uitzonderingen voorkomen vanwege bewoordingen die in de gebruikersinterfaces van de productsoftware zijn gecodeerd, die op het taalgebruik in de RFP-documentatie zijn gebaseerd of die worden gebruikt in een product van een externe partij waarnaar wordt verwezen. Lees meer over hoe Cisco gebruikmaakt van inclusief taalgebruik.
Cisco heeft dit document vertaald via een combinatie van machine- en menselijke technologie om onze gebruikers wereldwijd ondersteuningscontent te bieden in hun eigen taal. Houd er rekening mee dat zelfs de beste machinevertaling niet net zo nauwkeurig is als die van een professionele vertaler. Cisco Systems, Inc. is niet aansprakelijk voor de nauwkeurigheid van deze vertalingen en raadt aan altijd het oorspronkelijke Engelstalige document (link) te raadplegen.
In dit document wordt beschreven hoe u de Cisco Adaptive Security Appliance (ASA) configureert om het verkeer van Internet Protocol Version 6 (IPv6) door te geven in ASA Versies 7.0(1) en hoger.
Er zijn geen specifieke vereisten van toepassing op dit document.
De informatie in dit document is gebaseerd op de Cisco ASA Versies 7.0(1) en hoger.
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.
Momenteel is IPv6 nog relatief nieuw in termen van marktpenetratie. IPv6-configuratiehulp en verzoeken voor probleemoplossing zijn echter gestaag toegenomen. Het doel van dit document is om aan deze behoeften tegemoet te komen en te voorzien in:
Opmerking: Aangezien IPv6 zich nog in de beginfase bevindt als wereldwijde IPv4-vervanging, moet dit document periodiek worden bijgewerkt om de nauwkeurigheid en relevantie te behouden.
Hier is wat belangrijke informatie over de IPv6-functionaliteit:
Het IPv6-protocol werd ontwikkeld in het midden tot eind van de jaren negentig, voornamelijk vanwege het feit dat de openbare IPv4-adresruimte snel naar uitputting ging. Hoewel Network Address Translation (NAT) IPv4 dramatisch heeft geholpen en dit probleem heeft vertraagd, werd het onmiskenbaar dat een vervangend protocol uiteindelijk nodig zou zijn. Het IPv6-protocol werd officieel beschreven in RFC 2460 in december 1998. U kunt meer lezen over het protocol in het officiële RFC 2460-document op de website van de Internet Engineering Task Force (IETF).
In dit gedeelte worden de verbeteringen beschreven die zijn opgenomen in het IPv6-protocol ten opzichte van het oudere IPv4-protocol.
Het IPv6-protocol vergroot de IP-adresgrootte van 32 bits naar 128 bits om meer niveaus van adreshiërarchie, een veel groter aantal adresseerbare knooppunten en eenvoudigere automatische configuratie van adressen te ondersteunen. De schaalbaarheid van multicast-routering wordt verbeterd door de toevoeging van een scope-veld aan de multicast-adressen. Bovendien wordt een nieuw type adres, een anycastadres genoemd, gedefinieerd. Dit wordt gebruikt om een pakket naar een node in een groep te sturen.
Sommige IPv4-kopvelden zijn geschrapt of optioneel gemaakt om de gebruikelijke verwerkingskosten van pakketverwerking te verminderen en om de bandbreedtekosten van de IPv6-koptekst te beperken.
Wijzigingen in de manier waarop de IP-header-opties worden gecodeerd, zorgen voor een efficiëntere doorgifte, minder strenge limieten voor de lengte van opties en meer flexibiliteit voor de introductie van nieuwe opties in de toekomst.
Er wordt een nieuwe mogelijkheid toegevoegd om de etikettering mogelijk te maken van pakketten die behoren tot bepaalde verkeersstromen waarvoor de afzender om speciale afhandeling vraagt, zoals niet-standaardkwaliteit van de service (QoS) of realtime service.
Extensies die worden gebruikt om verificatie, gegevensintegriteit en (optionele) vertrouwelijkheid van gegevens te ondersteunen, worden gespecificeerd voor IPv6.
In dit gedeelte wordt beschreven hoe u de Cisco ASA configureert voor het gebruik van IPv6.
Opmerking: gebruik de opzoekfunctie voor opdrachten (alleen geregistreerde klanten) om meer informatie te verkrijgen over de opdrachten die in deze sectie worden gebruikt.
Dit is de IPv6-topologie voor de voorbeelden die in dit document worden gebruikt:

Om het IPv6-verkeer door een ASA te laten gaan, moet u eerst IPv6 inschakelen op ten minste twee interfaces. In dit voorbeeld wordt beschreven hoe u IPv6 inschakelt om verkeer van de interne interface op Gi0/0 naar de externe interface op Gi0/1 door te geven:
ASAv(config)# interface GigabitEthernet0/0
ASAv(config-if)# ipv6 enable
ASAv(config)# interface GigabitEthernet0/1
ASAv(config-if)# ipv6 enable
U kunt nu de IPv6-adressen op beide interfaces configureren.
Opmerking: In dit voorbeeld worden de adressen in de ruimte Unique Local Addresses (ULA) van fc00::/7 gebruikt, zodat alle adressen beginnen met FD (zoals fdxx: xxxx: xxxx...). Wanneer u IPv6-adressen schrijft, kunt u ook dubbele dubbele dubbele punten (::) gebruiken om een lijn met nullen weer te geven, zodat FD01:1/64 hetzelfde is als FD01:0000:0000:0000:0000:0000:00000:00001.
ASAv(config)# interface GigabitEthernet0/0
ASAv(config-if)# ipv6 address fd03::1/64
ASAv(config-if)# nameif inside
ASAv(config-if)# security-level 100
ASAv(config)# interface GigabitEthernet0/1
ASAv(config-if)# ipv6 address fd02::2/64
ASAv(config-if)# nameif outside
ASAv(config-if)# security-level 0
U kunt nu beschikken over de basisconnectiviteit Layer 2 (L2)/Layer 3 (L3) met een upstream-router aan de buitenkant van het VLAN op adres fd02::1:
ASAv(config-if)# ping fd02::1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to fd02::1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/10 ms
Net als bij IPv4, ook al is er IPv6-connectiviteit met de hosts op het direct verbonden subnet, moet u nog steeds de routes naar de externe netwerken hebben om te weten hoe u ze kunt bereiken. In het eerste voorbeeld wordt getoond hoe u een statische standaardroute configureert om alle IPv6-netwerken via de externe interface te bereiken met een volgend hopadres van fd02:1.
Gebruik deze informatie om statische routering voor IPv6 te configureren:
ASAv(config)# ipv6 route outside 0::0/0 fd02::1
ASAv(config)# show ipv6 route
IPv6 Routing Table - 7 entries
Codes: C - Connected, L - Local, S - Static
O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, B - BGP
L fd02::2/128 [0/0]
via ::, outside
C fd02::/64 [0/0]
via ::, outside
L fd03::1/128 [0/0]
via ::, inside
C fd03::/64 [0/0]
via ::, inside
L fe80::/10 [0/0]
via ::, inside
via ::, outside
L ff00::/8 [0/0]
via ::, inside
via ::, outside
S ::/0 [1/0]
via fd02::1, outside ASAv(config)#
Zoals getoond, is er nu connectiviteit met een host op een extern subnet:
ASAv(config)# ping fd99::1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to fd99::1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
ASAv(config)#
Opmerking: Als een dynamisch routeringsprotocol is gewenst om de routering voor IPv6 af te handelen, kunt u dat ook configureren. Dit wordt beschreven in de volgende sectie.
Eerst moet u de Open Shortest Path First Version 3 (OSPFv3) -configuratie op de upstream Cisco 881 Series Integrated Services Router (ISR) bekijken:
C881#show run | sec ipv6
ipv6 unicast-routing
!--- This enables IPv6 routing in the Cisco IOS®.
.....
ipv6 ospf 1 area 0
address-family ipv6 unicast
passive-interface default
no passive-interface Vlan302
!--- This is the interface to send OSPF Hellos to the ASA.
default-information originate always
!--- Always distribute the default route.
redistribute static
ipv6 route ::/0 FD99::2
!--- Creates a static default route for IPv6 to the internet.
Hier is de relevante interfaceconfiguratie:
C881#show run int Vlan302
interface Vlan302
....
ipv6 address FD02::1/64
ipv6 ospf 1 area 0
C881#
U kunt ASA-pakketopnames gebruiken om te controleren of de OSPF Hello-pakketten worden gezien vanaf de ISR op de buiteninterface:
ASAv(config)# show run access-list test_ipv6
access-list test_ipv6 extended permit ip any6 any6
ASAv(config)# show cap
capture capout type raw-data access-list test_ipv6 interface outside
[Capturing - 37976 bytes]
ASAv(config)# show cap capout
367 packets captured
1: 11:12:04.949474 fe80::250:56ff:fe9d:34a8 > ff02::1:ff9d:34a8: icmp6:
neighbor sol: who has fe80::250:56ff:fe9d:34a8 [class 0xe0]
2: 11:12:06.949444 fe80::250:56ff:fe9d:34a8 > ff02::1:ff9d:34a8: icmp6:
neighbor sol: who has fe80::250:56ff:fe9d:34a8 [class 0xe0]
3: 11:12:07.854768 fe80::c671:feff:fe93:b516 > ff02::5: ip-proto-89 40
[hlim 1]
4: 11:12:07.946545 fe80::250:56ff:fe9d:34a8 > ff02::1:ff9d:34a8: icmp6:
neighbor sol: who has fe80::250:56ff:fe9d:34a8 [class 0xe0]
5: 11:12:08.949459 fe80::250:56ff:fe9d:34a8 > ff02::1:ff9d:34a8: icmp6:
neighbor sol: who has fe80::250:56ff:fe9d:34a8 [class 0xe0]
6: 11:12:09.542772 fe80::217:fff:fe17:af80 > ff02::5: ip-proto-89 40
[hlim 1]
....
13: 11:12:16.983011 fe80::c671:feff:fe93:b516 > ff02::5: ip-proto-89 40
[hlim 1]
14: 11:12:18.947170 fe80::250:56ff:fe9d:34a8 > ff02::1:ff9d:34a8: icmp6:
neighbor sol: who has fe80::250:56ff:fe9d:34a8 [class 0xe0]
15: 11:12:19.394831 fe80::217:fff:fe17:af80 > ff02::5: ip-proto-89 40
[hlim 1]
16: 11:12:19.949444 fe80::250:56ff:fe9d:34a8 > ff02::1:ff9d:34a8: icmp6:
21: 11:12:26.107477 fe80::c671:feff:fe93:b516 > ff02::5: ip-proto-89 40
[hlim 1]
ASAv(config)#
In de vorige pakketopname kunt u zien dat de OSPF (ip-proto-89)-pakketten afkomstig zijn van het lokale IPv6-linkadres, dat overeenkomt met de juiste interface op de ISR:
C881#show ipv6 interface brief
......
Vlan302 [up/up]
FE80::C671:FEFF:FE93:B516
FD02::1
C881#
U kunt nu een OSPFv3-proces op de ASA maken om een nabijheid met de ISR vast te stellen:
ASAv(config)# ipv6 router ospf 1
ASAv(config-rtr)# passive-interface default
ASAv(config-rtr)# no passive-interface outside
ASAv(config-rtr)# log-adjacency-changes
ASAv(config-rtr)# redistribute connected
ASAv(config-rtr)# exit
Pas de OSPF-configuratie toe op de ASA-buiteninterface:
ASAv(config)# interface GigabitEthernet0/1
ASAv(config-if)# ipv6 ospf 1 area 0
ASAv(config-if)# end
Dit kan ertoe leiden dat de ASA de uitgezonden OSPF Hello-pakketten op het IPv6-subnet verzendt. Voer de opdracht ipv6 ospf-buur tonen in om de nabijheid van de router te controleren:
ASAv# show ipv6 ospf neighbor
Neighbor ID Pri State Dead Time Interface ID Interface
14.38.104.1 1 FULL/BDR 0:00:33 14 outside
U kunt ook de buren-ID op de ISR bevestigen, omdat deze standaard het hoogst geconfigureerde IPv4-adres voor de ID gebruikt:
C881#show ipv6 ospf 1
Routing Process "ospfv3 1" with ID 14.38.104.1
Supports NSSA (compatible with RFC 3101)
Event-log enabled, Maximum number of events: 1000, Mode: cyclic
It is an autonomous system boundary router
Redistributing External Routes from,
static
Originate Default Route with always
!--- Notice the other OSPF settings that were configured.
Router is not originating router-LSAs with maximum metric
....
C881#
De ASA moet nu de standaard IPv6-route van de ISR hebben geleerd. Om dit te bevestigen, voert u de opdracht ipv6-route tonen in:
ASAv# show ipv6 route
IPv6 Routing Table - 8 entries
Codes: C - Connected, L - Local, S - Static
O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, B - BGP
O 2001:aaaa:aaaa:aaaa::/64 [110/10]
via ::, outside
L fd02::2/128 [0/0]
via ::, outside
C fd02::/64 [0/0]
via ::, outside
L fd03::1/128 [0/0]
via ::, inside
C fd03::/64 [0/0]
via ::, inside
L fe80::/10 [0/0]
via ::, inside
via ::, outside
L ff00::/8 [0/0]
via ::, inside
via ::, outside
OE2 ::/0 [110/1], tag 1
!--- Here is the learned default route.
via fe80::c671:feff:fe93:b516, outside
ASAv#
De basisconfiguratie van de interface-instellingen en routeringsfuncties voor IPv6 op de ASA is nu voltooid.
Er is momenteel geen verificatieprocedure beschikbaar voor deze configuratie.
De procedures voor het oplossen van problemen met IPv6-connectiviteit gebruiken grotendeels dezelfde methodologie die wordt gebruikt om problemen met IPv4-connectiviteit op te lossen, met een paar verschillen. Vanuit het oogpunt van probleemoplossing is een van de belangrijkste verschillen tussen IPv4 en IPv6 dat het Address Resolution Protocol (ARP) niet langer bestaat in IPv6. In plaats van ARP te gebruiken om IP-adressen in het lokale LAN-segment op te lossen, gebruikt IPv6 een protocol met de naam Neighbor Discovery (ND).
Het is ook belangrijk om te begrijpen dat ND gebruikmaakt van Internet Control Message Protocol versie 6 (ICMPv6) voor de adresresolutie van Media Access Control (MAC). Meer informatie over IPv6 ND is te vinden in de ASA IPv6 Configuration guide in de IPv6 Neighbor Discovery sectie van de CLI Book 1: Cisco ASA Series General Operations CLI Configuration Guide, 9.4 of in RFC 4861.
Momenteel zijn de meeste IPv6-gerelateerde problemen met betrekking tot ND, routering of subnetconfiguratie problemen. Dit is waarschijnlijk te wijten aan het feit dat dit ook de belangrijkste verschillen zijn tussen IPv4 en IPv6. De ND werkt anders dan ARP en interne netwerkadressering is ook heel anders, omdat het gebruik van NAT sterk wordt ontmoedigd in IPv6 en privéadressering niet langer wordt gebruikt zoals in IPv4 (na RFC 1918). Zodra deze verschillen zijn begrepen en / of de L2 / L3-problemen zijn opgelost, is het probleemoplossingsproces bij Layer 4 (L4) en hoger in wezen hetzelfde als dat voor IPv4, omdat de TCP / UDP en protocollen met hogere lagen in wezen hetzelfde functioneren (ongeacht de IP-versie die wordt gebruikt).
De meest elementaire opdracht die wordt gebruikt om L2-connectiviteit met IPv6 op te lossen, is de ipv6-buur [nameif]-opdracht tonen, die het equivalent is van de show arp voor IPv4.
Hier is een voorbeeld van output:
ASAv(config)# show ipv6 neighbor outside
IPv6 Address Age Link-layer Addr State Interface
fd02::1 0 c471.fe93.b516 REACH outside
fe80::c671:feff:fe93:b516 32 c471.fe93.b516 DELAY outside
fe80::e25f:b9ff:fe3f:1bbf 101 e05f.b93f.1bbf STALE outside
fe80::b2aa:77ff:fe7c:8412 101 b0aa.777c.8412 STALE outside
fe80::213:c4ff:fe80:5f53 101 0013.c480.5f53 STALE outside
fe80::a64c:11ff:fe2a:60f4 101 a44c.112a.60f4 STALE outside
fe80::217:fff:fe17:af80 99 0017.0f17.af80 STALE outside
ASAv(config)#
In deze uitvoer ziet u de succesvolle resolutie voor het IPv6-adres van fd02:1, dat bij het apparaat hoort met een MAC-adres van c471.fe93.b516.
Opmerking: Het is mogelijk dat hetzelfde MAC-adres van de routerinterface twee keer wordt weergegeven in de vorige uitvoer, omdat de router ook een zelf toegewezen lokaal koppelingsadres voor deze interface heeft. Het link-local-adres is een apparaatspecifiek adres dat alleen kan worden gebruikt voor communicatie op het direct verbonden netwerk. Routers sturen pakketten niet door via link-lokale adressen, maar zijn alleen bedoeld voor communicatie op het direct verbonden netwerksegment. Veel IPv6-routeringsprotocollen (zoals OSPFv3) maken gebruik van lokale linkadressen om routeringsprotocolinformatie over het L2-segment te delen.
Om de ND-cache te wissen, voert u de opdracht ipv6-buren wissen in. Als de ND mislukt voor een bepaalde host, kunt u de debug ipv6 nd-opdracht invoeren, pakketopnames uitvoeren en de syslogs verifiëren om te bepalen wat er op L2-niveau gebeurt. Vergeet niet dat de IPv6 ND ICMPv6-berichten gebruikt om de MAC-adressen voor IPv6-adressen op te lossen.
Overweeg deze vergelijkingstabel van ARP voor IPv4 en ND voor IPv6:
| IPv4 ARP | IPv6 ND |
|---|---|
| ARP REQUEST (Wie heeft 10.10.10.1?) | verzoek van een buurman |
| ARP reply (10.10.10.1 is op dead.dead.dead) | buurtadvertentie |
In het volgende scenario slaagt de ND er niet in om het MAC-adres van de fd02:1-host op te lossen die zich op de buiteninterface bevindt.
Hier is de uitvoer van debug ipv6 nd opdracht:
ICMPv6-ND: Sending NS for fd02::1 on outside
!--- "Who has fd02::1"
ICMPv6-ND: Sending NS for fd02::1 on outside
ICMPv6-ND: Sending NS for fd02::1 on outside
ICMPv6-ND: INCMP deleted: fd02::1
ICMPv6-ND: INCMP -> DELETE: fd02::1
ICMPv6-ND: DELETE -> INCMP: fd02::1
ICMPv6-ND: Sending NS for fd02::1 on outside
ICMPv6-ND: Sending NS for fd02::1 on outside
ICMPv6-ND: Sending NA for fd02::2 on outside
!--- "fd02::2 is at dead.dead.dead"
ICMPv6-ND: Sending NS for fd02::1 on outside
ICMPv6-ND: INCMP deleted: fd02::1
ICMPv6-ND: INCMP -> DELETE: fd02::1
ICMPv6-ND: DELETE -> INCMP: fd02::1
!--- Here is where the ND times out.
ICMPv6-ND: Sending NS for fd02::1 on outside
ICMPv6-ND: Sending NS for fd02::1 on outside
In deze debug output blijkt dat de Neighbor Advertisements van fd02:2 nooit worden ontvangen. U kunt de pakketopnames controleren om te bevestigen of dit daadwerkelijk het geval is.
Opmerking: Vanaf ASA Release 9.4(1) zijn toegangslijsten nog steeds vereist voor IPv6-pakketopnames. Er is een verzoek ingediend om deze bug te traceren met Cisco bug ID CSCtn09836.
Configureer de toegangscontrolelijst (ACL) en pakketopnames:
ASAv(config)# access-list test_ipv6 extended permit ip any6 any6
ASAv(config)# cap capout interface outside access-list test_ipv6
Start een ping naar fd02:1 vanuit de ASA:
ASAv(config)# show cap capout
....
23: 10:55:10.275284 fd02::2 > ff02::1:ff00:1: icmp6: neighbor sol: who has
fd02::1 [class 0xe0]
24: 10:55:10.277588 fd02::1 > fd02::2: icmp6: neighbor adv: tgt is fd02::1
[class 0xe0]
26: 10:55:11.287735 fd02::2 > ff02::1:ff00:1: icmp6: neighbor sol: who has
fd02::1 [class 0xe0]
27: 10:55:11.289642 fd02::1 > fd02::2: icmp6: neighbor adv: tgt is fd02::1
[class 0xe0]
28: 10:55:12.293365 fd02::2 > ff02::1:ff00:1: icmp6: neighbor sol: who has
fd02::1 [class 0xe0]
29: 10:55:12.298538 fd02::1 > fd02::2: icmp6: neighbor adv: tgt is fd02::1
[class 0xe0]
32: 10:55:14.283341 fd02::2 > ff02::1:ff00:1: icmp6: neighbor sol: who has
fd02::1 [class 0xe0]
33: 10:55:14.285690 fd02::1 > fd02::2: icmp6: neighbor adv: tgt is fd02::1
[class 0xe0]
35: 10:55:15.287872 fd02::2 > ff02::1:ff00:1: icmp6: neighbor sol: who has
fd02::1 [class 0xe0]
36: 10:55:15.289825 fd02::1 > fd02::2: icmp6: neighbor adv: tgt is fd02::1
[class 0xe0]
Zoals te zien is in de pakketopnames, worden de Neighbor Advertisements van fd02:1 ontvangen. De advertenties worden echter om de een of andere reden niet verwerkt, zoals wordt weergegeven in de debug-uitgangen. Voor verder onderzoek kunt u de syslogs bekijken.
Hier zijn enkele voorbeelden van ND-syslogs:
May 13 2015 10:55:10: %ASA-7-609001: Built local-host identity:fd02::2
May 13 2015 10:55:10: %ASA-6-302020: Built outbound ICMP connection for faddr
ff02::1:ff00:1/0 gaddr fd02::2/0 laddr fd02::2/0(any)
May 13 2015 10:55:10: %ASA-3-325003: EUI-64 source address check failed. Dropped
packet from outside:fd02::1/0 to fd02::2/0 with source MAC address c471.fe93.b516.
May 13 2015 10:55:10: %ASA-3-313008: Denied IPv6-ICMP type=136, code=0 from fd02::1
on interface outside
May 13 2015 10:55:11: %ASA-3-325003: EUI-64 source address check failed. Dropped
packet from outside:fd02::1/0 to fd02::2/0 with source MAC address c471.fe93.b516.
May 13 2015 10:55:11: %ASA-3-313008: Denied IPv6-ICMP type=136, code=0 from fd02::1
on interface outside
May 13 2015 10:55:12: %ASA-3-325003: EUI-64 source address check failed. Dropped
packet from outside:fd02::1/0 to fd02::2/0 with source MAC address c471.fe93.b516.
May 13 2015 10:55:12: %ASA-3-313008: Denied IPv6-ICMP type=136, code=0 from fd02::1
on interface outside
May 13 2015 10:55:14: %ASA-3-325003: EUI-64 source address check failed. Dropped
packet from outside:fd02::1/0 to fd02::2/0 with source MAC address c471.fe93.b516.
May 13 2015 10:55:14: %ASA-3-313008: Denied IPv6-ICMP type=136, code=0 from fd02::1
on interface outside
May 13 2015 10:55:15: %ASA-3-325003: EUI-64 source address check failed. Dropped
packet from outside:fd02::1/0 to fd02::2/0 with source MAC address c471.fe93.b516.
May 13 2015 10:55:15: %ASA-3-313008: Denied IPv6-ICMP type=136, code=0 from fd02::1
on interface outside
Binnen deze syslogs kunt u zien dat de ND Neighbor Advertisement pakketten van de ISR op fd02:1 zijn gedaald als gevolg van mislukte Modified Extended Unique Identifier (EUI) 64 (Modified EUI-64) formaat controles.
Tip: Raadpleeg de sectie Gewijzigde EUI-64-adrescodering van dit document voor meer informatie over dit specifieke probleem. Deze logica voor probleemoplossing kan ook worden toegepast op allerlei valredenen, zoals wanneer de ACL's ICMPv6 niet toestaan op een specifieke interface of wanneer Unicast Reverse Path Forwarding (uRPF)-controlefouten optreden, die beide L2-connectiviteitsproblemen met IPv6 kunnen veroorzaken.
De procedures voor het oplossen van problemen bij het routeren van protocollen wanneer IPv6 wordt gebruikt, zijn in wezen dezelfde als die wanneer IPv4 wordt gebruikt. Het gebruik van debug en show commando's, evenals pakketopnames, zijn nuttig met pogingen om de reden vast te stellen dat een routeringsprotocol zich niet gedraagt zoals verwacht.
Dit gedeelte bevat de handige foutopsporingsopdrachten voor IPv6.
Globale foutmeldingen voor IPv6-routering
U kunt het foutopsporingsfoutopsporing ipv6 gebruiken om problemen op te lossen met alle wijzigingen in de IPv6-routeringstabel:
ASAv# clear ipv6 ospf 1 proc
Reset OSPF process? [no]: yes
ASAv# IPv6RT0: ospfv3 1, Route update to STANDBY with epoch: 2 for
2001:aaaa:aaaa:aaaa::/64
IPv6RT0: ospfv3 1, Delete 2001:aaaa:aaaa:aaaa::/64 from table
IPv6RT0: ospfv3 1, Delete backup for fd02::/64
IPv6RT0: ospfv3 1, Route update to STANDBY with epoch: 2 for ::/0
IPv6RT0: ospfv3 1, Delete ::/0 from table
IPv6RT0: ospfv3 1, ipv6_route_add_core for 2001:aaaa:aaaa:aaaa::/64 [110/10],
next-hop :: nh_source :: via interface outside route-type 2
IPv6RT0: ospfv3 1, Add 2001:aaaa:aaaa:aaaa::/64 to table
IPv6RT0: ospfv3 1, Added next-hop :: over outside for 2001:aaaa:aaaa:aaaa::/64,
[110/10]
IPv6RT0: ospfv3 1, ipv6_route_add_core Route update to STANDBY with epoch: 2 for
2001:aaaa:aaaa:aaaa::/64
IPv6RT0: ipv6_route_add_core: input add 2001:aaaa:aaaa:aaaa::/64
IPv6RT0: ipv6_route_add_core: output add 2001:aaaa:aaaa:aaaa::/64
IPv6RT0: ospfv3 1, ipv6_route_add_core for fd02::/64 [110/10], next-hop ::
nh_source :: via interface outside route-type 2
IPv6RT0: ospfv3 1, ipv6_route_add_core for ::/0 [110/1], next-hop
fe80::c671:feff:fe93:b516
nh_source fe80::c671:feff:fe93:b516 via interface outside route-type 16
IPv6RT0: ospfv3 1, Add ::/0 to table
IPv6RT0: ospfv3 1, Added next-hop fe80::c671:feff:fe93:b516 over outside for ::/0,
[110/1]
IPv6RT0: ospfv3 1, ipv6_route_add_core Route update to STANDBY with epoch: 2 for ::/0
IPv6RT0: ipv6_route_add_core: input add ::/0
IPv6RT0: ipv6_route_add_core: output add ::/0
IPv6RT0: ospfv3 1, ipv6_route_add_core for 2001:aaaa:aaaa:aaaa::/64 [110/10],
next-hop :: nh_source :: via interface outside route-type 2
IPv6RT0: ospfv3 1, Route add 2001:aaaa:aaaa:aaaa::/64 [owner]
IPv6RT0: ospfv3 1, ipv6_route_add_core Route update to STANDBY with epoch: 2 for
2001:aaaa:aaaa:aaaa::/64
IPv6RT0: ipv6_route_add_core: input add 2001:aaaa:aaaa:aaaa::/64
IPv6RT0: ipv6_route_add_core: output add 2001:aaaa:aaaa:aaaa::/64
IPv6RT0: ospfv3 1, ipv6_route_add_core for fd02::/64 [110/10], next-hop ::
nh_source :: via interface outside route-type 2
IPv6RT0: ospfv3 1, Reuse backup for fd02::/64, distance 110
IPv6RT0: ospfv3 1, ipv6_route_add_core for ::/0 [110/1], next-hop
fe80::c671:feff:fe93:b516 nh_source fe80::c671:feff:fe93:b516 via interface outside
route-type 16
IPv6RT0: ospfv3 1, Route add ::/0 [owner]
IPv6RT0: ospfv3 1, ipv6_route_add_core Route update to STANDBY with epoch: 2 for ::/0
IPv6RT0: ipv6_route_add_core: input add ::/0
IPv6RT0: ipv6_route_add_core: output add ::/0
OSPFv3-fouten
U kunt de opdracht ipv6 ospf gebruiken om problemen met OSPFv3 op te lossen:
ASAv# debug ipv6 ospf ?
adj OSPF adjacency events
database-timer OSPF database timer
events OSPF events
flood OSPF flooding
graceful-restart OSPF Graceful Restart processing
hello OSPF hello events
ipsec OSPF ipsec events
lsa-generation OSPF lsa generation
lsdb OSPF database modifications
packet OSPF packets
retransmission OSPF retransmission events
spf OSPF spf
Hier is een voorbeelduitvoer voor alle debugs die zijn ingeschakeld nadat het OSPFv3-proces opnieuw is gestart:
ASAv# clear ipv6 ospf 1
OSPFv3: rcv. v:3 t:1 l:44 rid:192.168.128.115
aid:0.0.0.0 chk:a9ac inst:0 from outside
OSPFv3: Rcv hello from 192.168.128.115 area 0 from outside fe80::217:fff:fe17:af80
interface ID 142
OSPFv3: End of hello processingpr
OSPFv3: rcv. v:3 t:1 l:44 rid:14.38.104.1
aid:0.0.0.0 chk:bbf3 inst:0 from outside
OSPFv3: Rcv hello from 14.38.104.1 area 0 from outside fe80::c671:feff:fe93:b516
interface ID 14
OSPFv3: End of hello processingo
ASAv# clear ipv6 ospf 1 process
Reset OSPF process? [no]: yes
ASAv#
OSPFv3: Flushing External Links
Insert LSA 0 adv_rtr 172.16.118.1, type 0x4005 in maxage
OSPFv3: Add Type 0x4005 LSA ID 0.0.0.0 Adv rtr 172.16.118.1 Seq 80000029 to outside
14.38.104.1 retransmission list
....
!--- The neighbor goes down:
OSPFv3: Neighbor change Event on interface outside
OSPFv3: DR/BDR election on outside
OSPFv3: Elect BDR 14.38.104.1
OSPFv3: Elect DR 192.168.128.115
OSPFv3: Schedule Router LSA area: 0, flag: Change
OSPFv3: Schedule Router LSA area: 0, flag: Change
OSPFv3: Schedule Prefix DR LSA intf outside
OSPFv3: Schedule Prefix Stub LSA area 0
OSPFv3: 14.38.104.1 address fe80::c671:feff:fe93:b516 on outside is dead, state DOWN
....
!--- The neighbor resumes the exchange:
OSPFv3: Rcv DBD from 14.38.104.1 on outside seq 0xd09 opt 0x0013 flag 0x7 len 28
mtu 1500 state EXSTART
OSPFv3: First DBD and we are not SLAVE
OSPFv3: rcv. v:3 t:2 l:168 rid:14.38.104.1
aid:0.0.0.0 chk:5aa3 inst:0 from outside
OSPFv3: Rcv DBD from 14.38.104.1 on outside seq 0x914 opt 0x0013 flag 0x2 len 168
mtu 1500 state EXSTART
OSPFv3: NBR Negotiation Done. We are the MASTER
OSPFv3: outside Nbr 14.38.104.1: Summary list built, size 0
OSPFv3: Send DBD to 14.38.104.1 on outside seq 0x915 opt 0x0013 flag 0x1 len 28
OSPFv3: rcv. v:3 t:2 l:28 rid:192.168.128.115
aid:0.0.0.0 chk:295c inst:0 from outside
OSPFv3: Rcv DBD from 192.168.128.115 on outside seq 0xfeb opt 0x0013 flag 0x7 len 28
mtu 1500 state EXSTART
OSPFv3: NBR Negotiation Done. We are the SLAVE
OSPFv3: outside Nbr 192.168.128.115: Summary list built, size 0
OSPFv3: Send DBD to 192.168.128.115 on outside seq 0xfeb opt 0x0013 flag 0x0 len 28
OSPFv3: rcv. v:3 t:2 l:28 rid:14.38.104.1
aid:0.0.0.0 chk:8d74 inst:0 from outside
OSPFv3: Rcv DBD from 14.38.104.1 on outside seq 0x915 opt 0x0013 flag 0x0 len 28
mtu 1500 state EXCHANGE
....
!--- The routing is re-added to the OSPFv3 neighbor list:
OSPFv3: Add Router 14.38.104.1 via fe80::c671:feff:fe93:b516, metric: 10
Router LSA 14.38.104.1/0, 1 links
Link 0, int 14, nbr 192.168.128.115, nbr int 142, type 2, cost 1
Ignore newdist 11 olddist 10
Enhanced Interior Gateway Routing Protocol (EIGRP)
Het EIGRP op de ASA ondersteunt het gebruik van IPv6 niet. Zie de Richtlijnen voor EIGRP sectie van de CLI Book 1: Cisco ASA Series General Operations CLI Configuration Guide, 9.4 voor meer informatie.
Border Gateway Protocol (BGP)
Deze foutopsporingsopdracht kan worden gebruikt om problemen met BGP op te lossen wanneer IPv6 wordt gebruikt:
ASAv# debug ip bgp ipv6 unicast ?
X:X:X:X::X IPv6 BGP neighbor address
keepalives BGP keepalives
updates BGP updates
<cr>
U kunt deze show-opdrachten gebruiken om IPv6-problemen op te lossen:
U kunt de ingebouwde pakkettracerfunctionaliteit met IPv6 op de ASA op dezelfde manier gebruiken als met IPv4. Hier is een voorbeeld waarbij de packet-tracer functionaliteit wordt gebruikt om de inside host te simuleren op fd03:2, die probeert verbinding te maken met een webserver op 5555:1 die zich op internet bevindt met de standaardroute die wordt geleerd van de 881 interface via OSPF:
ASAv# packet-tracer input inside tcp fd03::2 10000 5555::1 80 detailed
Phase: 1
Type: ACCESS-LIST
Subtype:
Result: ALLOW
Config:
Implicit Rule
Additional Information:
Forward Flow based lookup yields rule:
in id=0x7fffd59ca0f0, priority=1, domain=permit, deny=false
hits=2734, user_data=0x0, cs_id=0x0, l3_type=0xdd86
src mac=0000.0000.0000, mask=0000.0000.0000
dst mac=0000.0000.0000, mask=0100.0000.0000
input_ifc=inside, output_ifc=any
Phase: 2
Type: ROUTE-LOOKUP
Subtype: Resolve Egress Interface
Result: ALLOW
Config:
Additional Information:
found next-hop fe80::c671:feff:fe93:b516 using egress ifc outside
Phase: 3
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:
Forward Flow based lookup yields rule:
in id=0x7fffd589cc30, priority=1, domain=nat-per-session, deny=true
hits=1166, user_data=0x0, cs_id=0x0, reverse, use_real_addr, flags=0x0,
protocol=6
src ip/id=::/0, port=0, tag=any
dst ip/id=::/0, port=0, tag=any
input_ifc=any, output_ifc=any
<<truncated output>>
Result:
input-interface: inside
input-status: up
input-line-status: up
output-interface: outside
output-status: up
output-line-status: up
Action: allow
ASAv#
Merk op dat het uitgang MAC-adres het link-lokale adres van de 881-interface is. Zoals eerder vermeld, gebruiken routers voor veel dynamische routeringsprotocollen lokale IPv6-adressen om aangrenzende locaties vast te stellen.
Hier zijn de debugs die kunnen worden gebruikt om IPv6-problemen op te lossen:
ASAv# debug ipv6 ?
dhcp IPv6 generic dhcp protocol debugging
dhcprelay IPv6 dhcp relay debugging
icmp ICMPv6 debugging
interface IPv6 interface debugging
mld IPv6 Multicast Listener Discovery debugging
nd IPv6 Neighbor Discovery debugging
ospf OSPF information
packet IPv6 packet debugging
routing IPv6 routing table debugging
In deze sectie wordt beschreven hoe u de meest voorkomende IPv6-gerelateerde problemen kunt oplossen.
Veel IPv6 TAC-gevallen worden gegenereerd door een algemeen gebrek aan kennis over hoe IPv6 functioneert, of door pogingen van beheerders om IPv6 te implementeren met behulp van IPv4-specifieke processen.
De TAC heeft bijvoorbeeld gevallen gezien waarin een beheerder door een internetprovider (ISP) een blok van 56 IPv6-adressen is toegewezen. De beheerder wijst vervolgens een adres en het volledige \56-subnet toe aan de ASA-buiteninterface en kiest een intern bereik dat voor de binnenservers kan worden gebruikt. Bij IPv6 moeten alle interne hosts echter ook routeerbare IPv6-adressen gebruiken en moet het IPv6-adresblok naar behoefte worden opgesplitst in kleinere subnetten. In dit scenario kunt u veel \64-subnetten maken als onderdeel van het \56-blok dat is toegewezen.
Tip: Raadpleeg RFC 4291 voor meer informatie.
De ASA kan worden geconfigureerd om aangepaste EUI-64-gecodeerde IPv6-adressen nodig te hebben. Met de EUI kan een host, volgens RFC 4291, zichzelf een unieke 64-bits IPv6-interface-id (EUI-64) toewijzen. Deze functie is een voordeel ten opzichte van IPv4, omdat het de vereiste om DHCP te gebruiken voor de IPv6-adrestoewijzing verwijdert.
Als de ASA is geconfigureerd om deze verbetering via de ipv6 afdwingen-eui64 nameif opdracht vereisen, dan is het waarschijnlijk daalt veel Neighbor Discovery verzoeken en advertenties van andere hosts op het lokale subnet.
Tip: Raadpleeg voor meer informatie het document Understanding IPv6 EUI-64 Bit Address Cisco Support Community.
Veel besturingssystemen voor clients, zoals Microsoft Windows Versies 7 en 8, Macintosh OS-X en Linux-gebaseerde systemen, gebruiken standaard zelf toegewezen tijdelijke IPv6-adressen voor uitgebreide privacy via IPv6 Stateless Address Autoconfiguration (SLAAC).
De Cisco TAC heeft enkele gevallen gezien waarin dit onverwachte problemen veroorzaakte in omgevingen omdat de hosts verkeer genereren van het tijdelijke adres en niet van het statisch toegewezen adres. Als gevolg hiervan kunnen de ACL's en de hostgebaseerde routes ervoor zorgen dat het verkeer wordt weggelaten of onjuist wordt gerouteerd, waardoor de hostcommunicatie mislukt.
Er zijn twee methoden die worden gebruikt om deze situatie aan te pakken. Het gedrag kan afzonderlijk worden uitgeschakeld op de clientsystemen, of u kunt dit gedrag uitschakelen op de ASA- en Cisco IOS-routers. Aan de ASA- of routerzijde moet u de Router Advertisement (RA)-berichtvlag wijzigen die dit gedrag veroorzaakt.
Raadpleeg de volgende secties om dit gedrag op individuele clientsystemen uit te schakelen.
Microsoft Windows
Voer de volgende stappen uit om dit gedrag op Microsoft Windows-systemen uit te schakelen:
netsh interface ipv6 set global randomizeidentifiers=disabled
netsh interface ipv6 set privacy state=disabled
sudo sysctl -w net.inet6.ip6.use_tempaddr=0
sudo sh -c 'echo net.inet6.ip6.use_tempaddr=0 >> /etc/sysctl.conf'
sysctl -w net.ipv6.conf.all.use_tempaddr=0
ASAv(config)# interface gigabitEthernet 1/1
ASAv(config-if)# ipv6 nd prefix 2001::db8/32 300 300 no-autoconfig
Tip: Raadpleeg RFC 4941 voor meer informatie.
In dit gedeelte worden enkele veelgestelde vragen met betrekking tot het gebruik van IPv6 beschreven.
Ja. U moet gewoon IPv6 op de interface inschakelen en zowel een IPv4- als een IPv6-adres aan de interface toewijzen en beide soorten verkeer tegelijkertijd verwerken.
U kunt dit doen in ASA-versies eerder dan versie 9.0 (1). Vanaf ASA versie 9.0(1) zijn alle ACL's op de ASA verenigd, wat betekent dat een ACL een mix van zowel IPv4- als IPv6-vermeldingen in dezelfde ACL ondersteunt.
In ASA Versies 9.0(1) en hoger worden de ACL's eenvoudig samengevoegd en wordt de enkele, verenigde ACL via de opdracht access-group op de interface toegepast.
Ja. De ASA ondersteunt politiewerk en prioriteitswachtrijen voor IPv6 op dezelfde manier als bij IPv4.
Vanaf ASA versie 9.0(1) zijn alle ACL's op de ASA verenigd, wat betekent dat een ACL een mix van zowel IPv4- als IPv6-vermeldingen in dezelfde ACL ondersteunt. Als gevolg hiervan, elke QoS-opdrachten die worden uitgevoerd op een klasse-map die overeenkomt met een ACL actie ondernemen op zowel de IPv4 en IPv6-verkeer.
Hoewel NAT kan worden geconfigureerd voor IPv6 op de ASA, is het gebruik van NAT in IPv6 sterk ontmoedigd en onnodig, gezien de bijna oneindige hoeveelheid beschikbare, wereldwijd routeerbare IPv6-adressen.
Als NAT vereist is in een IPv6-scenario, kunt u meer informatie vinden over hoe u het kunt configureren in de sectie IPv6 NAT-richtlijnen van de CLI Book 2: Cisco ASA Series Firewall CLI Configuration Guide, 9.4.
Opmerking: Er zijn enkele richtlijnen en beperkingen waarmee rekening kan worden gehouden wanneer u NAT implementeert met IPv6.
Dit is afhankelijk van de softwareversie.
In alle versies zonder de CSCup89922-fix vraagt de ASA, als een interface op de ASA een IPv6-adres heeft geconfigureerd en operationeel is ingesteld, een IPv6-adres bij het opvragen van een DNS-server. Als er geen IPv6-adres wordt geretourneerd, of als het adres niet bereikbaar is volgens de routeringstabel van de ASA, wordt een IPv4-adres gevraagd (de bereikbaarheidscontrole werd toegevoegd in CSCuu02761).
In nieuwere versies kan het querytype expliciet per FQDN worden geconfigureerd, bijvoorbeeld:
object network <fqdn> fqdn v4 <fqdn>
De <fqdn> is de volledige domeinnaam. Merk op dat dit exact moet overeenkomen in de naam van het object en de fqdn zelf. Als 'v6' is opgegeven voor het fqdn-adrestype of als een dergelijk object niet bestaat, blijft het oorspronkelijke gedrag behouden. Als 'v4' is opgegeven, vraagt de ASA het IPv4-adres op van de DNS-server en gebruikt het alleen het IPv4-adres, zelfs als het IPv6-adres al bestaat in de DNS-cache (bijvoorbeeld als er eerder geen dergelijk netwerkobject bestond en de ASA een DNS-verzoek heeft gedaan en het IPv6-adres in de cache heeft teruggegeven van de DNS-server).
Dit is een belangrijke verbetering voor gebruikers die Botnet Traffic Filtering of Smart CallHome op ASA gebruiken, omdat "updates.ironport.com", "update-manifests.ironport.com" en "tools.cisco.com" -sites mogelijk niet bereikbaar zijn via IPv6 van de klant ASA. Configuratievoorbeeld:
object network update-manifests.ironport.com
fqdn v4 update-manifests.ironport.com
object network updates.ironport.com
fqdn v4 updates.ironport.com
In IPv6 maakt ND gebruik van lokale linkadressen om de L2-adresresolutie uit te voeren. Om deze reden tonen de IPv6-adressen voor de bewaakte interfaces in de uitvoer van de failover-opdracht het lokale linkadres en niet het algemene IPv6-adres dat op de interface is geconfigureerd. Dit is verwacht gedrag.
Hier zijn enkele bekende kanttekeningen met betrekking tot het gebruik van IPv6:
| Revisie | Publicatiedatum | Opmerkingen |
|---|---|---|
1.0 |
29-Jun-2015
|
Eerste vrijgave |
Feedback