IPv6-over-IPv4-Tunnel
Konfigurieren von IPv6-Tunneling für MPLS
Sie können das IPv6-Tunneling für MPLS so konfigurieren, dass IPv6-Datenverkehr über ein MPLS-basiertes IPv4-Netzwerk getunnelt wird. Diese Konfiguration ermöglicht es Ihnen, eine Reihe kleinerer IPv6-Netzwerke über einen IPv4-basierten Netzwerkkern miteinander zu verbinden, sodass Sie IPv6-Dienste bereitstellen können, ohne die Switches in Ihrem Kernnetzwerk aufrüsten zu müssen. BGP ist so konfiguriert, dass Routen zwischen den IPv6-Netzwerken ausgetauscht werden, und Daten werden zwischen diesen IPv6-Netzwerken mittels IPv4-basiertem MPLS getunnelt.
So konfigurieren Sie IPv6-Tunneling für MPLS auf Ihrem Switch der EX-Serie:
Beispiel: Tunneling von IPv6-Datenverkehr über MPLS-IPv4-Netzwerke
Dieses Beispiel zeigt, wie das Junos-Betriebssystem für den Tunnel von IPv6 über ein MPLS-basiertes IPv4-Netzwerk konfiguriert wird. Externes BGP (EBGP) wird zwischen dem Kunden-Edge (CE) und dem Provider-Edge (PE)-Gerät verwendet. Die Remote-CE-Geräte haben unterschiedliche AS-Nummern für die Schleifenerkennung.
Anforderungen
Über die Geräteinitialisierung hinaus ist keine spezielle Konfiguration erforderlich, bevor Sie dieses Beispiel konfigurieren.
Überblick
Ausführliche Informationen zur Implementierung von IPv6 über MPLS bei Juniper Networks sind in den folgenden Internetentwürfen beschrieben:
-
Internet-Entwurf draft-ietf-l3vpn-bgp-ipv6-07.txt, BGP-MPLS IP-VPN-Erweiterung für IPv6 VPN (läuft Januar 2006 ab)
-
Internet-Entwurf draft-ooms-v6ops-bgp-tunnel-06.txt, Connecting IPv6 Islands over IPv4 MPLS using IPv6 Provider Edge Routers (läuft im Juli 2006 ab)
Diese Internet-Entwürfe sind auf der IETF-Website unter http://www.ietf.org/ verfügbar.http://www.ietf.org/
In diesem Beispiel wird gezeigt, wie Sie zwei IPv6-Netzwerke über einen IPv4-basierten Netzwerkkern miteinander verbinden, sodass Sie IPv6-Dienste bereitstellen können, ohne die Router in Ihrem Kernnetzwerk aktualisieren zu müssen. Das Multiprotocol Border Gateway Protocol (MP-BGP) ist so konfiguriert, dass Routen zwischen den IPv6-Netzwerken ausgetauscht werden, wobei Daten mithilfe von IPv4-basiertem MPLS zwischen diesen IPv6-Netzwerken getunnelt werden.
Die Abbildung 1Router PE1 und PE2 sind Dual-Stack-BGP-Router, d. h., sie verfügen sowohl über IPv4- als auch über IPv6-Stacks. Die PE-Router verbinden die IPv6-Netzwerke über die Kunden-Edge-Router (CE) mit dem IPv4-Core-Netzwerk. Die Verbindung zwischen CE-Routern und PE-Routern erfolgt über eine Verbindungsschicht, die IPv6-Datenverkehr übertragen kann. Die PE-Router verwenden IPv6 auf den CE-Router-seitigen Schnittstellen und IPv4 und MPLS auf den Core-Schnittstellen. Beachten Sie, dass eines der verbundenen IPv6-Netzwerke das globale IPv6-Internet sein kann.
Die beiden PE-Router sind über eine MP-BGP-Sitzung über IPv4-Adressen miteinander verbunden. Sie nutzen die Sitzung, um IPv6-Routen mit einem IPv6 (Wert 2) Address Family Indicator (AFI) und einem nachfolgenden AFI (SAFI) (Wert 4) auszutauschen. Jeder PE-Router setzt den nächsten Hop für die in dieser Sitzung angekündigten IPv6-Routen auf seine eigene IPv4-Adresse. Da MP-BGP erfordert, dass der nächste BGP-Hop derselben Adressfamilie wie die Network Layer Reachability Information (NLRI) entspricht, muss diese IPv4-Adresse in ein IPv6-Format eingebettet werden.
Die PE-Router können die IPv6-Routen von den CE-Routern lernen, die mit ihnen über die Routing-Protokolle Routing Information Protocol next generation (RIPng) oder MP-BGP oder durch statische Konfiguration verbunden sind. Beachten Sie, dass, wenn BGP als PE-Router-zu-CE-Router-Protokoll verwendet wird, die MP-BGP-Sitzung zwischen dem PE-Router und dem CE-Router über eine IPv4- oder IPv6-TCP-Sitzung (Transmission Control Protocol) erfolgen kann. Außerdem verfügen die BGP-Routen, die in dieser Sitzung ausgetauscht werden, über SAFI-Unicast. Sie müssen eine Exportrichtlinie so konfigurieren, dass Routen zwischen IBGP und EBGP sowie zwischen BGP und anderen Protokollen übergeben werden.
Die PE-Router verfügen über MPLS-LSPs, die auf die IPv4-Adressen der anderen Router geroutet sind. IPv4 stellt Signale für die Sprachdienstleister entweder über LDP oder RSVP bereit. Diese LSPs werden verwendet, um die Next-Hop-Adressen der IPv6-Routen aufzulösen, die von MP-BGP gelernt wurden. Die nächsten Hops verwenden IPv4-zugeordnete IPv6-Adressen, während die LSPs IPv4-Adressen verwenden.
Die PE-Router kündigen IPv6-Routen immer gegenseitig mit einem Label-Wert von 2 an, dem expliziten Null-Label für IPv6, wie in RFC 3032, MPLS Label Stack Encoding definiert. Folglich pusht jeder der nächsten Weiterleitungsprünge für die IPv6-Routen, die von Remote-PE-Routern gelernt wurden, normalerweise zwei Labels. Die innere Beschriftung ist 2 (diese Beschriftung kann unterschiedlich sein, wenn es sich bei dem PE-Werberouter nicht um eine Routing-Plattform von Juniper Networks handelt), und die äußere Beschriftung ist die LSP-Bezeichnung. Wenn es sich bei dem LSP um einen Single-Hop-LSP handelt, wird nur Label 2 gepusht.
Es ist auch möglich, dass die PE-Router einfache IPv6-Routen über SAFI-Unicast austauschen. Es gibt jedoch einen großen Vorteil beim Austausch von gekennzeichneten IPv6-Routen. Der Router des vorletzten Hops für einen MPLS-LSP kann das äußere Label auflösen und dann das Paket mit dem inneren Label als MPLS-Paket senden. Ohne die innere Bezeichnung müsste der Router für den vorletzten Hop ermitteln, ob es sich bei dem Paket um ein IPv4- oder IPv6-Paket handelt, um das Protokollfeld im Layer-2-Header korrekt festzulegen.
Wenn der PE1-Router ein IPv6-Paket vom CE1-Router empfängt, führt er eine Suche in der IPv6-Weiterleitungstabelle durch.Abbildung 1 Wenn das Ziel mit einem Präfix übereinstimmt, das vom CE2-Router gelernt wurde, müssen keine Labels gepusht werden, und das Paket wird einfach an den CE2-Router gesendet. Wenn das Ziel mit einem Präfix übereinstimmt, das vom PE2-Router gelernt wurde, schiebt der PE1-Router zwei Labels auf das Paket und sendet es an den Provider-Router. Das innere Label ist 2 und das äußere Label ist das LSP-Label für den PE2-Router.
Jeder Provider-Router im Netzwerk des Service Providers behandelt das Paket wie jedes MPLS-Paket und tauscht die Labels aus, wenn es von Provider-Router zu Provider-Router übertragen wird. Der Router des vorletzten Hop-Anbieters für den LSP öffnet das äußere Label und sendet das Paket an den PE2-Router. Wenn der PE2-Router das Paket empfängt, erkennt er das explizite IPv6-Null-Label auf dem Paket (Label 2). Es zeigt diese Bezeichnung auf und behandelt es als IPv6-Paket, führt eine Suche in der IPv6-Weiterleitungstabelle durch und leitet das Paket an den CE3-Router weiter.
Dieses Beispiel enthält die folgenden Einstellungen:
-
Sie müssen die Anweisung nicht nur auf allen CE-Router-Schnittstellen konfigurieren, sondern auch auf allen Core-Schnittstellen, auf denen MPLS ausgeführt wird.
family inet6
Beide Konfigurationen sind notwendig, da der Router in der Lage sein muss, alle IPv6-Pakete zu verarbeiten, die er auf diesen Schnittstellen empfängt. Sie sollten keinen regulären IPv6-Datenverkehr auf diesen Schnittstellen sehen, aber Sie erhalten MPLS-Pakete, die mit Label 2 gekennzeichnet sind. Obwohl Label 2-MPLS-Pakete in IPv4 gesendet werden, werden diese Pakete als native IPv6-Pakete behandelt. -
Sie aktivieren IPv6-Tunneling, indem Sie die Anweisung in die Konfiguration für die PE-Router aufnehmen.
ipv6-tunneling
Mit dieser Anweisung können IPv6-Routen über ein MPLS-Netzwerk aufgelöst werden, indem alle in der inet.3-Routing-Tabelle gespeicherten Routen in IPv4-zugeordnete IPv6-Adressen konvertiert und dann in die inet6.3-Routing-Tabelle kopiert werden. Diese Routing-Tabelle kann verwendet werden, um Next Hops sowohl für inet6- als auch für inet6-vpn-Routen aufzulösen.HINWEIS:BGP führt seine Importrichtlinie automatisch aus, auch wenn Routen aus einer primären Routing-Tabellengruppe in eine sekundäre Routing-Tabellengruppe kopiert werden. Wenn IPv4-gekennzeichnete Routen von einer BGP-Sitzung eintreffen (z. B. wenn Sie die Anweisung auf Hierarchieebene auf dem PE-Router konfiguriert haben), akzeptiert die Importrichtlinie des BGP-Nachbarn auch IPv6-Routen, da die Importrichtlinie des Nachbarn während des Kopiervorgangs in die inet6.3-Routing-Tabelle ausgeführt wird.
labeled-unicast
[edit protocols bgp family inet]
-
Wenn Sie MP-BGP für die Übertragung von IPv6-Datenverkehr konfigurieren, wird die IPv4-MPLS-Bezeichnung am PE-Zielrouter entfernt. Das verbleibende IPv6-Paket ohne Label kann dann an das IPv6-Netzwerk weitergeleitet werden. Um dies zu aktivieren, schließen Sie die Anweisung in die BGP-Konfiguration ein.
explicit-null
Konfiguration
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die für Ihre Netzwerkkonfiguration erforderlich sind, und kopieren Sie dann die Befehle und fügen Sie sie in die CLI auf Hierarchieebene ein.[edit]
Gerät PE1
set interfaces fe-1/2/0 unit 0 family inet6 address ::10.1.1.2/126 set interfaces fe-1/2/0 unit 0 family mpls set interfaces fe-1/2/1 unit 0 family inet address 10.1.1.5/30 set interfaces fe-1/2/1 unit 0 family inet6 set interfaces fe-1/2/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.1.1.2/32 set protocols mpls ipv6-tunneling set protocols mpls interface fe-1/2/0.0 set protocols mpls interface fe-1/2/1.0 set protocols bgp group toCE1 type external set protocols bgp group toCE1 local-address ::10.1.1.2 set protocols bgp group toCE1 family inet6 unicast set protocols bgp group toCE1 export send-bgp6 set protocols bgp group toCE1 peer-as 65001 set protocols bgp group toCE1 neighbor ::10.1.1.1 set protocols bgp group toPE2 type internal set protocols bgp group toPE2 local-address 10.1.1.2 set protocols bgp group toPE2 family inet6 labeled-unicast explicit-null set protocols bgp group toPE2 export next-hop-self set protocols bgp group toPE2 export send-v6 set protocols bgp group toPE2 neighbor 10.1.1.4 set protocols ospf area 0.0.0.0 interface fe-1/2/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface fe-1/2/1.0 set policy-options policy-statement next-hop-self then next-hop self set policy-options policy-statement send-bgp6 from family inet6 set policy-options policy-statement send-bgp6 from protocol bgp set policy-options policy-statement send-bgp6 then accept set policy-options policy-statement send-v6 from family inet6 set policy-options policy-statement send-v6 from protocol bgp set policy-options policy-statement send-v6 from protocol direct set policy-options policy-statement send-v6 then accept set routing-options router-id 10.1.1.2 set routing-options autonomous-system 65002
Gerät PE2
set interfaces fe-1/2/0 unit 0 family inet address 10.1.1.10/30 set interfaces fe-1/2/0 unit 0 family inet6 set interfaces fe-1/2/0 unit 0 family mpls set interfaces fe-1/2/1 unit 0 family inet6 address ::10.1.1.13/126 set interfaces fe-1/2/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.1.1.4/32 set protocols mpls ipv6-tunneling set protocols mpls interface fe-1/2/0.0 set protocols mpls interface fe-1/2/1.0 set protocols bgp group toPE1 type internal set protocols bgp group toPE1 local-address 10.1.1.4 set protocols bgp group toPE1 family inet6 labeled-unicast explicit-null set protocols bgp group toPE1 export next-hop-self set protocols bgp group toPE1 export send-v6 set protocols bgp group toPE1 neighbor 10.1.1.2 set protocols bgp group toCE3 type external set protocols bgp group toCE3 local-address ::10.1.1.13 set protocols bgp group toCE3 family inet6 unicast set protocols bgp group toCE3 export send-bgp6 set protocols bgp group toCE3 peer-as 65003 set protocols bgp group toCE3 neighbor ::10.1.1.14 set protocols ospf area 0.0.0.0 interface fe-1/2/0.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface fe-1/2/0.0 set policy-options policy-statement next-hop-self then next-hop self set policy-options policy-statement send-bgp6 from family inet6 set policy-options policy-statement send-bgp6 from protocol bgp set policy-options policy-statement send-bgp6 then accept set policy-options policy-statement send-v6 from family inet6 set policy-options policy-statement send-v6 from protocol bgp set policy-options policy-statement send-v6 from protocol direct set policy-options policy-statement send-v6 then accept set routing-options router-id 10.1.1.4 set routing-options autonomous-system 65002
Gerät P
set interfaces fe-1/2/0 unit 0 family inet address 10.1.1.6/30 set interfaces fe-1/2/0 unit 0 family inet6 set interfaces fe-1/2/0 unit 0 family mpls set interfaces fe-1/2/1 unit 0 family inet address 10.1.1.9/30 set interfaces fe-1/2/1 unit 0 family inet6 set interfaces fe-1/2/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.1.1.3/32 set protocols mpls interface fe-1/2/0.0 set protocols mpls interface fe-1/2/1.0 set protocols ospf area 0.0.0.0 interface fe-1/2/0.0 set protocols ospf area 0.0.0.0 interface fe-1/2/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface fe-1/2/0.0 set protocols ldp interface fe-1/2/1.0 set routing-options router-id 10.1.1.3 set routing-options autonomous-system 65002
Gerät CE1
set interfaces fe-1/2/0 unit 0 family inet6 address ::10.1.1.1/126 set interfaces lo0 unit 0 family inet6 address ::10.255.1.1/128 set protocols bgp group toPE1 type external set protocols bgp group toPE1 local-address ::10.1.1.1 set protocols bgp group toPE1 family inet6 unicast set protocols bgp group toPE1 export send-v6 set protocols bgp group toPE1 peer-as 65002 set protocols bgp group toPE1 neighbor ::10.1.1.2 set policy-options policy-statement send-v6 from family inet6 set policy-options policy-statement send-v6 from protocol direct set policy-options policy-statement send-v6 then accept set routing-options router-id 10.255.1.1 set routing-options autonomous-system 65001
Gerät CE3
set interfaces fe-1/2/0 unit 0 family inet6 address ::10.1.1.14/126 set interfaces lo0 unit 0 family inet6 address ::10.255.1.5/128 set protocols bgp group toPE2 type external set protocols bgp group toPE2 local-address ::10.1.1.14 set protocols bgp group toPE2 family inet6 unicast set protocols bgp group toPE2 export send-v6 set protocols bgp group toPE2 peer-as 65002 set protocols bgp group toPE2 neighbor ::10.1.1.13 set policy-options policy-statement send-v6 from family inet6 set policy-options policy-statement send-v6 from protocol direct set policy-options policy-statement send-v6 then accept set routing-options router-id 10.255.1.5 set routing-options autonomous-system 65003
Konfigurieren des Geräts PE1
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Weitere Informationen zum Navigieren in der CLI finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im Junos OS CLI-Benutzerhandbuch.Verwenden des CLI-Editors im Konfigurationsmodushttps://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html
So konfigurieren Sie Gerät PE1:
-
Konfigurieren Sie die Schnittstellen.
[edit interfaces] user@PE1# set fe-1/2/0 unit 0 family inet6 address ::10.1.1.2/126 user@PE1# set fe-1/2/0 unit 0 family mpls user@PE1# set fe-1/2/1 unit 0 family inet address 10.1.1.5/30 user@PE1# set fe-1/2/1 unit 0 family inet6 user@PE1# set fe-1/2/1 unit 0 family mpls user@PE1# set lo0 unit 0 family inet address 10.1.1.2/32
-
Konfigurieren Sie MPLS auf den Schnittstellen.
[edit protocols mpls] user@PE1# set ipv6-tunneling user@PE1# set interface fe-1/2/0.0 user@PE1# set interface fe-1/2/1.0
-
Konfigurieren Sie BGP.
[edit protocols bgp] user@PE1# set group toCE1 type external user@PE1# set group toCE1 local-address ::10.1.1.2 user@PE1# set group toCE1 family inet6 unicast user@PE1# set group toCE1 export send-bgp6 user@PE1# set group toCE1 peer-as 65001 user@PE1# set group toCE1 neighbor ::10.1.1.1 user@PE1# set group toPE2 type internal user@PE1# set group toPE2 local-address 10.1.1.2 user@PE1# set group toPE2 family inet6 labeled-unicast explicit-null user@PE1# set group toPE2 export next-hop-self user@PE1# set group toPE2 export send-v6 user@PE1# set group toPE2 neighbor 10.1.1.4
-
OSPF konfigurieren
[edit protocols ospf area 0.0.0.0] user@PE1# set interface fe-1/2/1.0 user@PE1# set interface lo0.0 passive
-
Konfigurieren Sie ein Signalisierungsprotokoll.
[edit protocols] user@PE1# set ldp interface fe-1/2/1.0
-
Konfigurieren Sie die Routing-Richtlinien.
[edit policy-options] user@PE1# set policy-statement next-hop-self then next-hop self user@PE1# set policy-statement send-bgp6 from family inet6 user@PE1# set policy-statement send-bgp6 from protocol bgp user@PE1# set policy-statement send-bgp6 then accept user@PE1# set policy-statement send-v6 from family inet6 user@PE1# set policy-statement send-v6 from protocol bgp user@PE1# set policy-statement send-v6 from protocol direct user@PE1# set policy-statement send-v6 then accept
-
Konfigurieren Sie die Router-ID und die AS-Nummer (Autonomous System).
[edit routing-options] user@PE1# set router-id 10.1.1.2 user@PE1# set autonomous-system 675002
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie die Befehle , , und eingeben.show interfaces
show policy-options
show protocols
show routing-options
Wenn die Ausgabe nicht die gewünschte Konfiguration anzeigt, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.
user@R1# show interfaces fe-1/2/0 { unit 0 { family inet6 { address ::10.1.1.2/126; } family mpls; } } fe-1/2/1 { unit 0 { family inet { address 10.1.1.5/30; } family inet6; family mpls; } } lo0 { unit 0 { family inet { address 10.1.1.2/32; } } }
user@R1# show policy-options policy-statement next-hop-self { then { next-hop self; } } policy-statement send-bgp6 { from { family inet6; protocol bgp; } then accept; } policy-statement send-v6 { from { family inet6; protocol [ bgp direct ]; } then accept; }
user@R1# show protocols mpls { ipv6-tunneling; interface fe-1/2/0.0; interface fe-1/2/1.0; } bgp { group toCE1 { type external; local-address ::10.1.1.2; family inet6 { unicast; } export send-bgp6; peer-as 65001; neighbor ::10.1.1.1; } group toPE2 { type internal; local-address 10.1.1.2; family inet6 { labeled-unicast { explicit-null; } } export [ next-hop-self send-v6 ]; neighbor 10.1.1.4; } } ospf { area 0.0.0.0 { interface fe-1/2/1.0; interface lo0.0 { passive; } } } ldp { interface fe-1/2/1.0; }
user@R1# show routing-options router-id 10.1.1.2; autonomous-system 65002;
Wenn Sie mit der Konfiguration des Geräts fertig sind, rufen Sie den Konfigurationsmodus auf .commit
Konfigurieren Sie die anderen Geräte in der Topologie, wie in gezeigt.CLI-Schnellkonfiguration
Überprüfung
Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert.
Überprüfen, ob die CE-Geräte über Konnektivität verfügen
Zweck
Stellen Sie sicher, dass der Tunnel in Betrieb ist.
Was
Geben Sie im Betriebsmodus den Befehl ein.ping
user@CE1> ping ::10.1.1.14 PING6(56=40+8+8 bytes) ::10.1.1.1 --> ::10.1.1.14 16 bytes from ::10.1.1.14, icmp_seq=0 hlim=61 time=10.687 ms 16 bytes from ::10.1.1.14, icmp_seq=1 hlim=61 time=9.239 ms 16 bytes from ::10.1.1.14, icmp_seq=2 hlim=61 time=1.842 ms
user@CE3> ping ::10.1.1.1 PING6(56=40+8+8 bytes) ::10.1.1.14 --> ::10.1.1.1 16 bytes from ::10.1.1.1, icmp_seq=0 hlim=61 time=1.484 ms 16 bytes from ::10.1.1.1, icmp_seq=1 hlim=61 time=1.338 ms 16 bytes from ::10.1.1.1, icmp_seq=2 hlim=61 time=1.351 ms
Bedeutung
Die IPv6 CE-Geräte können über das IPv4-Kernnetzwerk kommunizieren.