Dit document beschrijft hoe u de Cisco adaptieve security applicatie (ASA) dient te configureren om internetprotocol versie 6 (IPv6) aan verkeer te onderwerpen in ASA versie 7.0(1) en hoger.
Er zijn geen specifieke vereisten van toepassing op dit document.
De informatie in dit document is gebaseerd op 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 de potentiële impact van elke opdracht begrijpen.
Momenteel is IPv6 wat marktpenetratie betreft nog relatief nieuw. IPv6-configuratieassistentie en het indienen van problemen zijn echter gestaag toegenomen. Dit document heeft tot doel aan deze behoeften tegemoet te komen en te voorzien in:
Hier is een paar belangrijke informatie over de IPv6-functionaliteit:
Het IPv6-protocol werd in het midden tot eind jaren negentig ontwikkeld, voornamelijk door het feit dat de openbare IPv4-adresruimte snel naar uitputting toe is gegaan. Hoewel NAT (Network Address Translation) IPv4 drastisch heeft geholpen en dit probleem heeft uitgesteld, kon niet worden ontkend dat er uiteindelijk een vervangingsprotocol nodig zou zijn. Het IPv6-protocol werd in december 1998 officieel gedetailleerd in RFC 2460. U kunt meer over het protocol lezen in het officiële RFC 2460-document, dat zich bevindt op de website van Internet Engineering Task Force (IETF).
In dit gedeelte worden de verbeteringen beschreven die worden meegeleverd met het IPv6-protocol in vergelijking met het oudere IPv4-protocol.
Het IPv6-protocol verhoogt de IP-adresgrootte van 32 bits naar 128 bits om meer niveaus van adressering, een veel groter aantal adresseerbare knooppunten en een eenvoudiger automatische configuratie van adressen te ondersteunen. De schaalbaarheid van multicast routing wordt verbeterd door de toevoeging van een scope-veld aan de multicast-adressen. Bovendien wordt een nieuw type adres, een elk cast adres genoemd, gedefinieerd. Dit wordt gebruikt om een pakje naar een willekeurig knooppunt in een groep te verzenden.
Sommige IPv4-veldnamenvelden zijn gevallen of optioneel gemaakt om de gewone verwerkingskosten van pakkethantering te verlagen en om de bandbreedte-kosten van de IPv6-header te beperken.
Veranderingen in de manier waarop de IP-headeropties worden gecodeerd maken het efficiënter verzenden mogelijk, minder strenge limieten aan 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 specifieke verkeersstromen waarvoor de afzender speciale behandeling vraagt, zoals non-default Quality of Service (QoS) of real-time service.
Uitbreidingen die worden gebruikt ter ondersteuning van authenticatie, gegevensintegriteit en (optionele) gegevensvertrouwelijkheid worden gespecificeerd voor IPv6.
In dit gedeelte wordt beschreven hoe u Cisco ASA kunt configureren voor het gebruik van IPv6.
Dit is de IPv6 topologie voor de voorbeelden die door dit document worden gebruikt:
Om het IPv6-verkeer door een ASA te laten passeren moet u eerst IPv6 op minstens twee interfaces inschakelen. Dit voorbeeld beschrijft hoe IPv6 kan worden ingeschakeld om verkeer van de binneninterface op Gi0/0 naar de buiteninterface op Gi0/1 over te brengen:
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.
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 zou nu de basisverbinding van Layer 2 (L2)/Layer 3 (L3) aan een upstream router op het buitenVLAN op adres krw02 moeten hebben: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 zoals met IPv4, zelfs al is er IPv6 connectiviteit met de hosts op direct aangesloten netwerk, moet u nog de routes naar de externe netwerken hebben om te weten hoe u hen kunt bereiken. Het eerste voorbeeld toont hoe te om een statische standaardroute te vormen om alle IPv6 netwerken via de buiteninterface met een volgende hopadres van krw02 te bereiken:1.
Gebruik deze informatie om de statische routing 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, outsideASAv(config)#
Zoals getoond, is er nu connectiviteit aan een gastheer op externe 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)#
Eerst moet u de configuratie van het Open Kortste Pad Eerste Versie 3 (OSPFv3) op de upstream Cisco 881 Series geïntegreerde services router (ISR) onderzoeken:
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-pakketvastlegging gebruiken om te controleren of de OSPF-Hallo-pakketten gezien worden van ISR op de externe interface:
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 pakketvastlegging kunt u zien dat de OSPF-pakketten (ip-proto-89) van het IPv6 link-plaatselijk adres komen, dat overeenkomt met de juiste interface op 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 om een nabijheid met ISR te maken:
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 op de ASA-externe interface toe:
ASAv(config)# interface GigabitEthernet0/1
ASAv(config-if)# ipv6 ospf 1 area 0
ASAv(config-if)# end
Dit zou de ASA moeten veroorzaken om de pakketten van de uitzendingOSPF Hallo op IPv6 te verzenden. Voer de opdracht Show ipv6 ospf-buur in om nabijheid met de router te verifiëren:
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 de buurID op ISR ook bevestigen, aangezien het het hoogste geconfigureerde IPv4-adres voor de ID standaard 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 had nu de standaard IPv6 route van de ISR moeten leren. Om dit te bevestigen, voer de show ipv6 route opdracht 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 de routingfuncties voor IPv6 in de ASA is nu voltooid.
Er is momenteel geen verificatieprocedure beschikbaar voor deze configuratie.
De procedures voor het opsporen en verhelpen van IPv6-connectiviteit volgen het grootste deel van de zelfde methodologie die wordt gebruikt om IPv4-connectiviteit op te lossen, met een paar verschillen. Vanuit het perspectief van probleemoplossing is een van de belangrijkste verschillen tussen IPv4 en IPv6 dat het Protocol voor adresoplossing (ARP) niet langer in IPv6 bestaat. In plaats van het gebruik van ARP om IP-adressen op het lokale LAN-segment op te lossen, gebruikt IPv6 een protocol dat ND (Nabbor Discovery) wordt genoemd.
Het is ook belangrijk om te begrijpen dat ND gebruik maakt 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-handleiding in het gedeelte IPv6-buurtdetectie van het CLI Book 1: Cisco ASA Series General Operations CLI Configuration Guide, 9.4 of in RFC 4861.
Op dit moment impliceert de meeste IPv6-gerelateerde problemen met betrekking tot het oplossen van problemen of ND, routing of SUBNET-configuratieproblemen. Dit is waarschijnlijk te wijten aan het feit dat deze ook de belangrijkste verschillen zijn tussen IPv4 en IPv6. De ND werkt anders dan ARP en de interne netwerkadressering is ook heel anders, omdat het gebruik van NAT in IPv6 sterk wordt ontmoedigd en privé-adressering niet langer zo heftig is als in IPv4 (na RFC 1918). Zodra deze verschillen worden begrepen en/of de L2/L3 problemen worden opgelost, is het proces van het opsporen en verhelpen bij Layer 4 (L4) en hoger in wezen hetzelfde als het proces dat voor IPv4 wordt gebruikt omdat de TCP/UDP- en hoger-laagprotocollen in wezen hetzelfde functioneren (ongeacht de IP-versie die wordt gebruikt).
De meest fundamentele opdracht die wordt gebruikt om L2-connectiviteit met IPv6 in een probleemoplossing te brengen, is de opdracht Show ipv6 buurman [name if], die het equivalent van de show arp voor IPv4 is.
Hier wordt een voorbeeld uitgevoerd:
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 kunt u de succesvolle resolutie zien voor het IPv6-adres van krw02:1, dat aan het apparaat toebehoort met een MAC-adres van c471.fe93.b516.
Om het ND cache te ontruimen, dient u de duidelijke ipv6 buren opdracht in. Als ND voor een bepaalde host mislukt, kunt u de debug ipv6 en opdracht invoeren, evenals pakketvastlegging uitvoeren en de syslogs controleren om te bepalen wat op L2 niveau optreedt. Onthoud dat IPv6 ND ICMPv6-berichten gebruikt om de MAC-adressen voor IPv6-adressen op te lossen.
Denk aan deze vergelijkingstabel van ARP voor IPv4 en ND voor IPv6:
IPv4 ARP | IPv6-netwerkmodule |
---|---|
ARP-VERZOEK (Wie heeft 10.10.10.1?) | buurtaanvraag |
ARP REPLY (10.10.10.1 is bij dood.dood) | buurtadvertenties |
In het volgende scenario lost de ND het MAC-adres van de fd02:1 host niet op die zich op de externe interface bevindt.
Dit is de uitvoer van debug ipv6 en 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 uitvoer lijkt het alsof de buurtadvertenties van fd02:2 nooit ontvangen zijn. U kunt de pakketvastlegging controleren om te bevestigen of dit daadwerkelijk het geval is.
Configureer de toegangscontrolelijst (ACL) en pakketvastlegging:
ASAv(config)# access-list test_ipv6 extended permit ip any6 any6
ASAv(config)# cap capout interface outside access-list test_ipv6
Initiate a ping to fd2:1 uit 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 pakketvastlegging worden de buurtadvertenties van fd2:1 ontvangen. De advertenties worden echter om de een of andere reden niet verwerkt, zoals wordt getoond in de debug-uitgangen. Voor nader onderzoek kunt u de systemen bekijken.
Hier zijn een paar voorbeelden van ND-blogs:
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 systemen kunt u zien dat de ND buurtadvertenties van de ISR bij kringen02:1 worden ingetrokken omdat er geen wijzigingen zijn aangebracht in het uitgebreide unieke identificatienummer (EUI) 64 (Gewijzigde EUI-64).
De procedures voor het oplossen van problemen bij het routeren van protocollen wanneer IPv6 wordt gebruikt zijn in wezen hetzelfde als de procedures wanneer IPv4 wordt gebruikt. Het gebruik van debug en show opdrachten, zowel als pakketvastlegging, is handig met pogingen om de reden vast te stellen dat een routingprotocol zich niet gedraagt zoals verwacht.
Deze sectie verschaft de nuttige debug-opdrachten voor IPv6.
Wereldwijde IPv6-routingknooppunten
U kunt de debug ipv6-routing debug gebruiken om alle wijzigingen in de IPv6-routingtabel op te lossen:
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-apparaten
U kunt de opdracht debug 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 voorbeeldoutput voor alle apparaten die worden toegelaten nadat het OSPFv3 proces opnieuw is begonnen:
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 (NGEW)
Ecu op de ASA steunt het gebruik van IPv6 niet. Verwijs naar de Richtsnoeren voor sectie Ecu van het CLI Boek 1: Cisco ASA Series General Operations CLI Configuration Guide, 9.4 voor meer informatie.
Border Gateway Protocol (BGP)
Deze debug opdracht kan worden gebruikt om BGP problemen 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 opdrachten tonen gebruiken om IPv6-problemen op te lossen:
U kunt de ingebouwde pakkettracer-functionaliteit met IPv6 op de ASA op dezelfde manier gebruiken als met IPv4. Hier is een voorbeeld waar de pakkettracer-functionaliteit wordt gebruikt om de binnenhost op krw03 te simuleren:2, die probeert verbinding te maken met een webserver op 555:1 die op het internet met de standaardroute is gevestigd dat geleerd wordt 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 IP-adres het link-lokale adres van de 881-interface is. Zoals eerder vermeld, gebruiken routers voor vele dynamische routingprotocollen link-lokale IPv6-adressen om nabijheid te maken.
Hier zijn de knoppen 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 dit gedeelte 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 de manier waarop IPv6 functioneert, of door pogingen van een beheerder om IPv6 te implementeren met behulp van IPv4-specifieke processen.
Bijvoorbeeld, heeft de TAC cases gezien waar een beheerder een \56 blok IPv6-adressen heeft toegewezen door een Internet Service Provider (ISP). De beheerder wijst dan een adres en het volledige \56 subtype toe aan de ASA externe interface en verkiest wat intern bereik om voor de binnenservers te gebruiken. Echter, met IPv6, zouden alle interne hosts ook routeerbare IPv6-adressen moeten gebruiken, en zou het IPv6-adresblok indien nodig moeten worden afgebroken in kleinere subnetten. In dit scenario kunt u vele \64 subnetten maken als deel van het \56 blok dat is toegewezen.
De ASA kan zo worden geconfigureerd dat er aangepaste EUI-64-gecodeerde IPv6-adressen nodig zijn. Overeenkomstig RFC 4291 staat de EUI een host toe zichzelf een unieke 64-bits IPv6-interface-identificator (EUI-64) toe te wijzen. Deze optie is een voordeel in vergelijking met IPv4 aangezien het de vereiste om DHCP te gebruiken voor de IPv6 adrestoewijzing verwijdert.
Als de ASA zo is geconfigureerd dat deze versterking nodig is via de ipv6-code64-naam indien opdracht, dan zal deze waarschijnlijk veel zoekopdrachten en advertenties voor buurtzoekers op het lokale net laten vallen.
Standaard gebruiken veel client-besturingssystemen (OS’s), zoals Microsoft Windows versies 7 en 8, Macintosh OS-X en Linux-gebaseerde systemen, zelf-toegewezen tijdelijke IPv6-adressen voor uitgebreide privacy via IPv6 Stateless adresconfiguratie (SLAAC).
De Cisco TAC heeft sommige gevallen gezien waar dit onverwachte problemen in omgevingen veroorzaakte omdat de hosts verkeer van het tijdelijke adres en niet het statistisch toegewezen adres genereren. Als resultaat hiervan kunnen ACLs en de host-gebaseerde routes het verkeer veroorzaken om of laten vallen of onjuist routeren, wat de host-communicatie doet mislukken.
Er zijn twee methoden 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. Op de ASA of router kant, moet u de berichtvlag van de RV van de Router Advertisement (RA) wijzigen die dit gedrag veroorzaakt.
Raadpleeg de volgende secties om dit gedrag op de systemen van de individuele klanten uit te schakelen.
Microsoft Windows
Voltooi deze stappen om dit gedrag uit te schakelen op Microsoft Windows-systemen:
netsh interface ipv6 set global randomizeidentifiers=disabled
netsh interface ipv6 set privacy state=disabled
Macintosh OS-X
Voer in een terminal deze opdracht in om IPv6 SLAAC op de host uit te schakelen tot de volgende herstart:
sudo sysctl -w net.inet6.ip6.use_tempaddr=0
Om de configuratie permanent te maken, voert u deze opdracht in:
sudo sh -c 'echo net.inet6.ip6.use_tempaddr=0 >> /etc/sysctl.conf'
Linux
Voer in een terminalshell deze opdracht in:
sysctl -w net.ipv6.conf.all.use_tempaddr=0
SLAAC vanuit de ASA wereldwijd uitschakelen
De tweede methode die wordt gebruikt om dit gedrag aan te pakken is het RA-bericht aan te passen dat van de ASA naar de klanten wordt gestuurd, waardoor het gebruik van de SLAAC in gang wordt gezet. U kunt het RA-bericht als volgt wijzigen: voer deze opdracht in de modus Interface Configuration:
ASAv(config)# interface gigabitEthernet 1/1
ASAv(config-if)# ipv6 nd prefix 2001::db8/32 300 300 no-autoconfig
Deze opdracht wijzigt het RA-bericht dat door de ASA wordt verzonden zodat de A-bit-vlag niet wordt ingesteld en de klanten geen tijdelijk IPv6-adres genereren.
In dit deel worden een aantal vaak gestelde vragen over het gebruik van IPv6 beschreven.
Ja. U moet IPv6 op de interface eenvoudig inschakelen en zowel een IPv4- als een IPv6-adres aan de interface toewijzen en deze beide typen verkeer tegelijkertijd behandelen.
U kunt dit in ASA-versies eerder doen dan versie 9.0(1). Vanaf ASA versie 9.0(1), worden alle ACL’s op de ASA verenigd, wat betekent dat een ACL een mix ondersteunt van zowel IPv4- als IPv6-ingangen in dezelfde ACL.
In ASA versies 9.0(1) en later worden de ACL’s eenvoudigweg samengevoegd en wordt de enkele, verenigde ACL’s op de interface toegepast via de access-group opdracht.
Ja. ASA ondersteunt politie en prioriteitswachtrij voor IPv6 op dezelfde manier als bij IPv4.
Vanaf ASA versie 9.0(1), worden alle ACL’s op de ASA verenigd, wat betekent dat een ACL een mix ondersteunt van zowel IPv4- als IPv6-ingangen in dezelfde ACL. Als resultaat hiervan, om het even welke opdrachten QoS die op een klasse-kaart worden uitgevoerd die een ACL aanpast actie op zowel het IPv4 als IPv6 verkeer uitvoeren.
Hoewel NAT voor IPv6 op de ASA kan worden geconfigureerd, is het gebruik van NAT in IPv6 sterk ontmoedigd en onnodig, gezien de bijna oneindige hoeveelheid beschikbare, mondiaal routeerbare IPv6-adressen.
Als NAT in een IPv6-scenario vereist is, kunt u meer informatie vinden over de manier waarop u het kunt configureren in het gedeelte IPv6 NAT-richtlijnen van het CLI Book 2: Cisco ASA Series Firewall CLI Configuration Guide, 9.4.
In IPv6 gebruikt ND link-lokale adressen om L2 adresresolutie uit te voeren. Om deze reden, tonen de IPv6 adressen voor de gecontroleerde interfaces in de opdrachtoutput van de show failover het link-lokale adres en niet het globale IPv6 adres dat op de interface wordt gevormd. Dit wordt verwacht.
Hier zijn een aantal bekende voorbehouden ten aanzien van het gebruik van IPv6:
Revisie | Publicatiedatum | Opmerkingen |
---|---|---|
1.0 |
29-Jun-2015 |
Eerste vrijgave |