In diesem Dokument wird beschrieben, wie dynamische Layer-3 (L3)-VPNs mit der mGRE-Tunnelfunktion (Generic Routing Encapsulation) konfiguriert werden.
Bevor Sie dynamische L3-VPNs mit der mGRE-Tunnelfunktion konfigurieren, stellen Sie sicher, dass Ihr Multiprotocol Label Switching (MPLS) VPN richtig konfiguriert ist und funktioniert und dass eine End-to-End-Verbindung für das IPV4-Netzwerk hergestellt wird.
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netz Live ist, überprüfen Sie, ob Sie die mögliche Auswirkung jedes möglichen Befehls verstehen.
Die Funktion für dynamische L3-VPNs mit mGRE-Tunneln bietet einen L3-Transportmechanismus, der auf einer erweiterten mGRE-Tunneling-Technologie für den Einsatz in IP-Netzwerken basiert. Der dynamische L3-Tunneling-Transport kann auch innerhalb von IP-Netzwerken verwendet werden, um VPN-Verkehr über Service Provider- und Unternehmensnetzwerke zu transportieren und Interoperabilität für den Pakettransport zwischen IP- und MPLS-VPNs bereitzustellen. Diese Funktion bietet Unterstützung für RFC 2547, der das Outsourcing von IP-Backbone-Services für Unternehmensnetzwerke definiert.
Nachfolgend finden Sie eine Liste der Einschränkungen, die für dynamische L3-VPNs mit mGRE-Tunneln gelten:
In diesem Abschnitt werden zwei Konfigurationen beschrieben:
Dies sind die erforderlichen Konfigurationen für Router 3 (R3) und Router 2 (R2).
Hier finden Sie die Konfiguration für R3:
l3vpn encapsulation ip MGRE
transport ipv4 source Loopback0
route-map MGRE-NEXT-HOP permit 10
set ip next-hop encapsulate l3vpn MGRE
router bgp 65534
!
address-family vpnv4
neighbor 192.168.2.2 route-map MGRE-NEXT-HOP in
Hier finden Sie die Konfiguration für R2:
l3vpn encapsulation ip MGRE
transport ipv4 source Loopback0
route-map MGRE-NEXT-HOP permit 10
set ip next-hop encapsulate l3vpn MGRE
router bgp 65534
!
address-family vpnv4
neighbor 192.168.3.3 route-map MGRE-NEXT-HOP in
Verwenden Sie diesen Abschnitt, um zu überprüfen, ob Ihre Konfiguration ordnungsgemäß funktioniert.
R2#show tunnel endpoints
Tunnel0 running in multi-GRE/IP mode
Endpoint transport 192.168.3.3 Refcount 3 Base 0x1E8E1B74 Create Time 00:47:53
overlay 192.168.3.3 Refcount 2 Parent 0x1E8E1B74 Create Time 00:47:53
R2#show l3vpn encapsulation ip MGRE
Profile: MGRE
transport ipv4 source Loopback0
protocol gre
payload mpls
mtu default
Tunnel Tunnel0 Created [OK]
Tunnel Linestate [OK]
Tunnel Transport Source Loopback0 [OK]
R2#show ip route vrf MGRE 172.16.3.3
Routing Table: MGRE
Routing entry for 172.16.3.3
Known via "bgp 65534", distance 200, metric 0, type internal
Last update from 192.168.3.3 on Tunnel0, 01:03:25 ago
Routing Descriptor Blocks:
* 192.168.3.3 (default), from 172.16.112.1, 01:03:25 ago, via Tunnel0 <points to tunnel
Route metric is 0, traffic share count is 1
AS Hops 0
MPLS label: 17 <BGP vpnv4 label>
MPLS Flags: MPLS Required
Wenn bei einem Szenario mit zwei Verbindungen eine Verbindung MPLS und die andere nicht MPLS ist, müssen Sie mGRE auf allen beteiligten PE-Routern konfigurieren. Bei dieser Topologie müssen Sie mGRE auf allen drei PE-Routern konfigurieren.
Wenn Sie mGRE für die Verbindung zwischen R3 und R1 - MPLS-Verbindung nicht konfiguriert haben, können die Subnetze hinter R3 nicht mit den Subnetzen hinter R2 kommunizieren.
R1 und R2 erstellen Tunnelendpunkte mit R3 basierend auf dem L3-VPN-Profil. Weitere Informationen finden Sie in der Konfiguration in diesem Dokument, bei der das L3-VPN-Profil nicht konfiguriert ist, die Route-Map zum Border Gateway Protocol (BGP)-Peer auf R3 nicht angewendet wird und die Route-Map für das L3-VPN auf R3 auf R1 nicht angewendet wird.
Dies sind die erforderlichen Konfigurationen für R1, R2 und R3.
Hier ist die Konfiguration für R1:
l3vpn encapsulation ip MGRE
transport ipv4 source Loopback0
route-map MGRE-NEXT-HOP permit 10
set ip next-hop encapsulate l3vpn MGRE
router bgp 65534
address-family vpnv4
neighbor 192.168.2.2 send-community extended
neighbor 192.168.2.2 route-map MGRE-NEXT-HOP in
neighbor 192.168.3.3 activate
Hier finden Sie die Konfiguration für R2:
l3vpn encapsulation ip MGRE
transport ipv4 source Loopback0
route-map MGRE-NEXT-HOP permit 10
set ip next-hop encapsulate l3vpn MGRE
router bgp 65534
address-family vpnv4
neighbor 192.168.1.1 route-map MGRE-NEXT-HOP in
neighbor 192.168.1.1 activate
Hier finden Sie die Konfiguration für R3:
router bgp 65534
address-family vpnv4
neighbor 192.168.1.1 activate
Jetzt können Sie einen Ping-Befehl vom R2-Loopback1 an das R3-Loopback1 senden:
R2#ping vrf MGRE 172.16.3.3 source 172.16.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.3.3, timeout is 2 seconds:
Packet sent with a source address of 172.16.2.2
.....
Success rate is 0 percent (0/5)
R2#show ip route vrf MGRE 172.16.3.3
Routing Table: MGRE
Routing entry for 172.16.3.3/32
Known via "bgp 65534", distance 200, metric 0, type internal
Last update from 192.168.3.3 on Tunnel0, 00:50:23 ago
Routing Descriptor Blocks:
* 192.168.3.3 (default), from 192.168.1.1, 00:50:23 ago, via Tunnel0pointed towards a tunnel>
Route metric is 0, traffic share count is 1
AS Hops 0
MPLS label: 19
MPLS Flags: MPLS Required
R2#show tunnel endpoints
Tunnel1 running in multi-GRE/IP mode
Tunnel0 running in multi-GRE/IP mode
Endpoint transport 192.168.1.1 Refcount 3 Base 0x507665E4 Create Time 01:24:25
overlay 192.168.1.1 Refcount 2 Parent 0x507665E4 Create Time 01:24:25
Endpoint transport 192.168.3.3 Refcount 3 Base 0x507664D4 Create Time 00:50:51
overlay 192.168.3.3 Refcount 2 Parent 0x507664D4 Create Time 00:50:51
R2 hat einen dynamischen Tunnel für 192.168.3.3 erstellt, der auf dem BGP Next-Hop für die Route 172.16.3.3 basiert.
R2#show ip bgp vpnv4 vrf MGRE 172.16.3.3
BGP routing table entry for 43984:300:172.16.3.3/32, version 29
Paths: (1 available, best #1, table MGRE)
Advertised to update-groups:
1
Local, imported path from 300:300:172.16.3.3/32
192.168.3.3 (metric 3) (via Tunnel0) from 192.168.1.1 (192.168.1.1)
Origin incomplete, metric 0, localpref 100, valid, internal, best
Extended Community: RT:43984:300
Originator: 192.168.3.3, Cluster list: 192.168.1.1
mpls labels in/out nolabel/19
Er wird auf R1 verifiziert und außerdem Tunnelendpunkte für beide PE-Router erstellt:
R1#show tunnel endpoints
Tunnel1 running in multi-GRE/IP mode
Tunnel0 running in multi-GRE/IP mode
Endpoint transport 192.168.2.2 Refcount 3 Base 0x1E8EE7B0 Create Time 01:36:41
overlay 192.168.2.2 Refcount 2 Parent 0x1E8EE7B0 Create Time 01:36:41
Endpoint transport 192.168.3.3 Refcount 3 Base 0x1E8EE590 Create Time 00:59:34
overlay 192.168.3.3 Refcount 2 Parent 0x1E8EE590 Create Time 00:59:34
Auf R3 werden keine Tunnel-Endpunkte erstellt:
R3#show tunnel endpoints
Dies ist die Route für das R2-Subnetz, von dem der Ping stammt:
R3#show ip route vrf MGRE 172.16.2.2
Routing Table: MGRE
Routing entry for 172.16.2.2/32
Known via "bgp 65534", distance 200, metric 0, type internal
Last update from 192.168.2.2 01:01:57 ago
Routing Descriptor Blocks:
* 192.168.2.2 (default), from 192.168.1.1, 01:01:57 ago
Route metric is 0, traffic share count is 1
AS Hops 0
MPLS label: 17
MPLS Flags: MPLS Required
Daher wird das Paket gekapselt in GRE an R3 gesendet. Da R3 keinen Tunnel hat, akzeptiert er das GRE-Paket nicht und verwirft es.
Daher müssen Sie mGRE auf einem Pfad als End-to-End konfigurieren, damit er funktioniert. Nachfolgend finden Sie die erforderliche Konfiguration für mGRE auf R3:
l3vpn encapsulation ip MGRE
transport ipv4 source Loopback0
route-map MGRE-NEXT-HOP permit 10
set ip next-hop encapsulate l3vpn MGRE
Sobald Sie das L3-VPN-Profil erstellen, werden Tunnel-Endpunkte erstellt, und Sie erhalten den Verkehr, der zuvor verworfen wurde. Der zurückkehrende Datenverkehr ist jedoch MPLS und nicht GRE, bis Sie das Profil auf den BGP-Peer anwenden. Dieser Datenverkehr wird auf R1 verworfen, da R1 über keine Label-Informationen für R2 verfügt, auf dem nur IP ausgeführt wird.
R3#show tunnel endpoints
Tunnel0 running in multi-GRE/IP mode
Endpoint transport 192.168.1.1 Refcount 3 Base 0x2B79FBD4 Create Time 00:00:02
overlay 192.168.1.1 Refcount 2 Parent 0x2B79FBD4 Create Time 00:00:02
Endpoint transport 192.168.2.2 Refcount 3 Base 0x2B79FAC4 Create Time 00:00:02
overlay 192.168.2.2 Refcount 2 Parent 0x2B79FAC4 Create Time 00:00:02
R3#show ip cef vrf MGRE 172.16.2.2
172.16.2.2/32
nexthop 192.168.13.1 GigabitEthernet0/0.1503 label 21 17
router bgp 65534
address-family vpnv4
neighbor 192.168.1.1 route-map MGRE-NEXT-HOP in
R3#show ip cef vrf MGRE 172.16.2.2
172.16.2.2/32
nexthop 192.168.2.2 Tunnel0 label 17
R2#ping vrf MGRE 172.16.3.3 source 172.16.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.3.3, timeout is 2 seconds:
Packet sent with a source address of 172.16.2.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms
Szenario 3
Angenommen, Subnetze hinter R5, die mit R3 kommunizieren müssen, möchten kein mGRE verwenden. Anschließend können Sie die Routing-Map verwenden, die für das L3-VPN-Profil verwendet wurde, um den Next-Hop festzulegen und eine Präfixliste aufzurufen. Dabei dürfen nur die Präfixe zugelassen werden, die den mGRE-Tunnel benötigen.
Hier ist die Konfiguration für R1:
route-map MGRE-NEXT-HOP permit 10
match ip address prefix-list test
set ip next-hop encapsulate l3vpn MGRE
route-map MGRE-NEXT-HOP permit 20
Sie können Präfixe im prefix-list-Test zulassen, die den mGRE-Tunnel benötigen. Alle anderen Präfixe verfügen nicht über einen Tunnel als Ausgangsschnittstelle und folgen dem normalen Routing. Diese Konfiguration funktioniert, da R3 und R5 über eine End-to-End-MPLS-Verbindung verfügen.
Für diese Konfiguration sind derzeit keine spezifischen Informationen zur Fehlerbehebung verfügbar.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
29-Oct-2013 |
Erstveröffentlichung |