Hub-and-Spoke-VPNs
Konfigurieren von Hub-and-Spoke-VPN-Topologien: Eine Schnittstelle
Verwenden Sie eine Konfiguration mit einer einzigen Schnittstelle, um eine Standardroute von einem oder mehreren Hubs anzukündigen.

Abbildung 1 zeigt eine Layer-3-VPN-Hub-and-Spoke-Anwendung , bei der es nur eine Schnittstelle zwischen dem Hub CE (CE1) und dem Hub PE (PE1) gibt. Dies ist die empfohlene Methode zum Konfigurieren von Hub-and-Spoke-Topologien.
In dieser Konfiguration wird eine Standardroute vom Hub zu den Spokes angekündigt. Wenn spezifischere Spoke-CE-Routen zwischen Spoke-CE-Routern ausgetauscht werden müssen, werden zwei Schnittstellen zwischen dem Hub-CE und dem Hub-PE benötigt. Ein Beispiel für zwei Schnittstellen finden Sie unter Konfigurieren von Hub-and-Spoke-VPN-Topologien: Zwei Schnittstellen .
In diesem Konfigurationsbeispiel sieht die Verteilung der Spoke-Route wie folgt aus:
Speiche CE2 bewirbt seine Routen zu Speiche PE2.
Spoke PE2 installiert Routen von CE2 in seine VPN-Routing- und Weiterleitungstabelle (VRF).
Spoke PE2 überprüft seine VRF-Exportrichtlinie, fügt die Ziel-Community für die Route hinzu und gibt die Routen zum Hub PE1 bekannt.
Hub PE1 prüft seine VRF-Importrichtlinie und installiert Routen, die mit der Importrichtlinie übereinstimmen, in der Tabelle bgp.l3vpn.0.
Hub PE1 installiert Routen aus der Tabelle bgp.l3vpn.0 in die Hub-VRF-Tabelle.
Hub PE1 kündigt Routen von der Hub-VRF-Tabelle zum Hub CE1 an.
In diesem Konfigurationsbeispiel lautet die Standardroutenverteilung wie folgt:
Hub CE1 kündigt eine Standardroute zum Hub PE1 an.
Hub PE1 installiert die Standardroute in der Hub-VRF-Tabelle.
Hub PE1 überprüft seine VRF-Exportrichtlinie, fügt die Routenziel-Community hinzu und gibt die Standardroute zu Spoke PE2 und PE3 bekannt.
Spoke PE2 und PE3 überprüfen ihre VRF-Importrichtlinie und installieren die Standardroute in der Tabelle bgp.l3vpn.0.
Spoke PE2 und PE3 installieren die Routen aus der Tabelle bgp.l3vpn.0 in ihre Spoke-VRF-Tabellen.
Spoke PE2 und PE3 geben die Standardroute von der Spoke-VRF-Tabelle zu Spoke CE2 und CE3 bekannt.
In den folgenden Abschnitten wird beschrieben, wie eine Hub-and-Spoke-Topologie mit einer Schnittstelle basierend auf der in Abbildung 1 dargestellten Topologie konfiguriert wird:
- Hub CE1 konfigurieren
- Konfigurieren von Hub PE1
- Konfigurieren des P-Routers
- Konfigurieren von Spoke PE2
- Konfigurieren von Spoke PE3
- Konfigurieren von Spoke CE2
- Konfigurieren von Spoke CE3
- Aktivieren von Ausgangsfunktionen auf dem Hub PE-Router
Hub CE1 konfigurieren
Konfigurieren Sie den Hub CE1 wie folgt:
[edit routing-options] static { route 0.0.0.0/0 discard; } autonomous-system 100; [edit protocols] bgp { group hub { type external; export default; peer-as 200; neighbor 10.49.4.1; } } [edit policy-options] policy-statement default { term 1 { from { protocol static; route-filter 0.0.0.0/0 exact; } then accept; } term 2 { then reject; } }
Konfigurieren von Hub PE1
Konfigurieren Sie Hub PE1 wie folgt:
[edit] routing-instances { hub { instance-type vrf; interface t3-0/0/0; route-distinguisher 10.255.14.176:2; vrf-target { import target:200:100; export target:200:101; } protocols { bgp { group hub { type external; peer-as 100; as-override; neighbor 10.49.4.2; } } } } }
Konfigurieren des P-Routers
Konfigurieren Sie den P-Router wie folgt:
[edit] interfaces { t3-0/1/1 { unit 0 { family inet { address 10.49.2.1/30; } family mpls; } } t3-0/1/3 { unit 0 { family inet { address 10.49.0.2/30; } family mpls; } } t1-0/2/0 { unit 0 { family inet { address 10.49.1.2/30; } family mpls; } } } [edit] protocols { ospf { area 0.0.0.0 { interface t3-0/1/3.0; interface t1-0/2/0.0; interface t3-0/1/1.0; interface lo0.0 { passive; } } } ldp { interface t3-0/1/1.0; interface t3-0/1/3.0; interface t1-0/2/0.0; } }
Konfigurieren von Spoke PE2
Konfigurieren Sie Spoke PE2 wie folgt:
[edit] interfaces { t3-0/0/0 { unit 0 { family inet { address 10.49.0.1/30; } family mpls; } } t1-0/1/2 { unit 0 { family inet { address 10.49.3.1/30; } } } } [edit protocols] bgp { group ibgp { type internal; local-address 10.255.14.182; peer-as 200; neighbor 10.255.14.176 { family inet-vpn { unicast; } } } } ospf { area 0.0.0.0 { interface t3-0/0/0.0; interface lo0.0 { passive; } } } ldp { interface t3-0/0/0.0; } [edit] routing-instances { spoke { instance-type vrf; interface t1-0/1/2.0; route-distinguisher 10.255.14.182:20; vrf-target { import target:200:101; export target:200:100; } protocols { bgp { group spoke { type external; peer-as 100; as-override; neighbor 10.49.3.2; } } } } }
Konfigurieren von Spoke PE3
Konfigurieren Sie Spoke PE3 wie folgt:
[edit] interfaces { t3-0/0/0 { unit 0 { family inet { address 10.49.6.1/30; } } } t3-0/0/1 { unit 0 { family inet { address 10.49.2.2/30; } family mpls; } } } [edit protocols} bgp { group ibgp { type internal; local-address 10.255.14.178; peer-as 200; neighbor 10.255.14.176 { family inet-vpn { unicast; } } } } ospf { area 0.0.0.0 { interface t3-0/0/1.0; interface lo0.0 { passive; } } } ldp { interface t3-0/0/1.0; } [edit] routing-instances { spoke { instance-type vrf; interface t3-0/0/0.0; route-distinguisher 10.255.14.178:30; vrf-target { import target:200:101; export target:200:100; } protocols { bgp { group spoke { type external; peer-as 100; as-override; neighbor 10.49.6.2; } } } } }
Konfigurieren von Spoke CE2
Konfigurieren Sie Spoke CE2 wie folgt:
[edit routing-options] autonomous-system 100; {edit protocols] bgp { group spoke { type external; export loopback; peer-as 200; neighbor 10.49.3.1; } }
Konfigurieren von Spoke CE3
Konfigurieren Sie Spoke CE3 wie folgt:
[edit routing-options] autonomous-system 100; [edit protocols] bgp { group spoke { type external; export loopback; peer-as 200; neighbor 10.49.6.1; } }
In diesem Konfigurationsbeispiel sieht die Datenverkehrsweiterleitung zwischen Spoke CE2 und Hub CE1 wie folgt aus:
Spoke CE2 leitet den Datenverkehr über die von Spoke PE2 gelernte Standardroute über BGP weiter.
0.0.0.0/0 *[BGP/170] 02:24:15, localpref 100 AS path: 200 200 I > to 10.49.3.1 via t1-3/0/1.0
-
Spoke PE2 führt eine Routensuche in der Spoke-VRF-Tabelle durch und leitet den Datenverkehr an Hub PE1 weiter (über den P-Router – PE2 überträgt zwei Labels) unter Verwendung der über BGP erlernten Standardroute.
0.0.0.0/0 *[BGP/170] 01:35:45, localpref 100, from 10.255.14.176 AS path: 100 I > via t3-0/0/1.0, Push 100336, Push 100224(top)
Hub PE1 führt eine Routensuche in der Tabelle mpls.0 für die VPN-Bezeichnung
100336
durch.100336 *[VPN/170] 01:37:03 > to 10.49.4.2 via t3-0/0/0.0, Pop
Hub PE1 leitet den Datenverkehr von der Schnittstelle
t3-0/0/0.0
an Hub CE1 weiter.
In diesem Konfigurationsbeispiel sieht die Datenverkehrsweiterleitung zwischen Hub CE1 und Spoke CE2 wie folgt aus:
Hub CE1 leitet den Datenverkehr über die über BGP erlernte Route an den Hub PE1 weiter.
10.49.10.250/32 *[BGP/170] 02:28:46, localpref 100 AS path: 200 200 I > to 10.49.4.1 via t3-3/1/0.0
Hub PE1 führt eine Routensuche in der VRF-Tabelle des Hubs durch und leitet den Datenverkehr an Spoke PE2 weiter (über den P-Router – PE1 überträgt zwei Labels).
10.49.10.250/32 *[BGP/170] 01:41:05, localpref 100, from 10.255.14.182 AS path: 100 I > via t1-0/1/0.0, Push 100352, Push 100208(top)
Spoke PE2 führt eine Routensuche in der Tabelle mpls.0 für die VPN-Bezeichnung
100352
durch.100352 *[VPN/170] 02:31:39 > to 10.49.3.2 via t1-0/1/2.0, Pop
Spoke PE2 leitet den Datenverkehr von der Schnittstelle
t1-0/1/2.0
an Spoke CE2 weiter.
In diesem Konfigurationsbeispiel sieht die Datenverkehrsweiterleitung zwischen Spoke CE2 und Spoke CE3 wie folgt aus:
Spoke CE2 leitet den Datenverkehr über die von Spoke PE2 gelernte Standardroute über BGP weiter.
0.0.0.0/0 *[BGP/170] 02:24:15, localpref 100 AS path: 200 200 I > to 10.49.3.1 via t1-3/0/1.0
Spoke PE2 führt eine Routensuche in der Spoke-VRF-Tabelle durch und leitet den Datenverkehr an Hub PE1 weiter (über den P-Router – PE2 überträgt zwei Labels) unter Verwendung der über BGP erlernten Standardroute.
0.0.0.0/0 *[BGP/170] 01:35:45, localpref 100, from 10.255.14.176 AS path: 100 I > via t3-0/0/1.0, Push 100336, Push 100224(top)
Hub PE1 führt eine Routensuche in der Tabelle mpls.0 für die VPN-Bezeichnung
100336
durch.100336 *[VPN/170] 01:37:03 > to 10.49.4.2 via t3-0/0/0.0, Pop
Hub PE1 leitet den Datenverkehr von der Schnittstelle
t3-0/0/0.0
an den Hub CE1 weiter.Hub CE1 leitet den Datenverkehr über den über BGP gelernten Router an Hub PE1 weiter.
10.49.10.253/32 *[BGP/170] 02:40:03, localpref 100 AS path: 200 200 I > to 10.49.4.1 via t3-3/1/0.0
Hub PE1 führt eine Routensuche in der VRF-Tabelle des Hubs durch und leitet den Datenverkehr an Spoke PE3 weiter (über den P-Router – PE1 überträgt zwei Labels).
10.49.10.253/32 *[BGP/170] 01:41:05, localpref 100, from 10.255.14.178 AS path: 100 I > via t1-0/1/0.0, Push 100128, Push 100192(top)
Spoke PE3 führt eine Routensuche in der mpls.0-Tabelle für die VPN-Bezeichnung
100128
durch.100128 *[VPN/170] 02:41:30 > to 10.49.6.2 via t3-0/0/0.0, Pop
Spoke PE3 leitet den Datenverkehr von der Schnittstelle
t3-0/0/0.0
an Spoke CE3 weiter.
Wenn für die Hub-PE Ausgangsfunktionen erforderlich sind, die eine IP-Weiterleitungssuche in der VRF-Routing-Tabelle des Hubs erfordern, finden Sie weitere Informationen unter Aktivieren von Ausgangsfunktionen auf dem Hub-PE-Router.
Aktivieren von Ausgangsfunktionen auf dem Hub PE-Router
Dieses Beispiel wird in Verbindung mit Konfigurieren von Hub-and-Spoke-VPN-Topologien: Eine Schnittstelle bereitgestellt. Auch in diesem Beispiel wird die in Abbildung 1 dargestellte Topologie verwendet.
Wenn für die Hub-PE Ausgangsfunktionen erforderlich sind, die eine IP-Weiterleitungssuche in der VRF-Routing-Tabelle des Hubs erfordern, funktioniert die unter Konfigurieren von Hub-and-Spoke-VPN-Topologien: Eine Schnittstelle beschriebene Konfiguration nicht. Durch Anwenden der vrf-table-label
Anweisung auf die Hub-Routinginstanz wird erzwungen, dass Datenverkehr von einem Remote-Spoke-PE an den Hub-PE weitergeleitet wird, und es wird erzwungen, dass eine IP-Suche durchgeführt wird. Da sich bestimmte Spoke-Routen in der VRF-Tabelle des Hubs befinden, wird der Datenverkehr an eine Spoke-PE weitergeleitet, ohne die CE-Funktion des Hubs zu durchlaufen.
Der Hub PE kündigt die Standardroute wie folgt an, wobei das VPN-Label 1028 verwendet wird:
hub.inet.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden) * 0.0.0.0/0 (1 entry, 1 announced) BGP group ibgp type Internal Route Distinguisher: 10.255.14.176:2 VPN Label: 1028 Nexthop: Self Localpref: 100 AS path: 100 I Communities: target:200:101
Eingehender Datenverkehr wird über das VPN-Label 1028 weitergeleitet. Die Tabelle mpls.0 zeigt, dass ein IP-Lookup in der Tabelle hub.inet.0 erforderlich ist:
1028 *[VPN/0] 00:00:27 to table hub.inet.0, Pop
Die Hub-VRF-Tabelle hub.inet.0 enthält jedoch bestimmte Spoke-Routen:
10.49.10.250/32 *[BGP/170] 00:00:05, localpref 100, from 10.255.14.182 AS path: 100 I > via t1-0/1/0.0, Push 100352, Push 100208(top) 10.49.10.253/32 *[BGP/170] 00:00:05, localpref 100, from 10.255.14.178 AS path: 100 I > via t1-0/1/0.0, Push 100128, Push 100192(top)
Aus diesem Grund wird der Datenverkehr direkt an die Spoke-PEs weitergeleitet, ohne den Hub-CE zu durchlaufen. Um dies zu verhindern, müssen Sie eine sekundäre Routing-Instanz für nachgelagerten Datenverkehr im Hub PE1 konfigurieren.
Konfigurieren von Hub PE1
Konfigurieren Sie Hub PE1 wie folgt:
[edit] routing-instances { hub { instance-type vrf; interface t3-0/0/0.0; route-distinguisher 10.255.14.176:2; vrf-target { import target:200:100; export target:200:101; } no-vrf-advertise; routing-options { auto-export; } protocols { bgp { group hub { type external; peer-as 100; as-override; neighbor 10.49.4.2; } } } } hub-downstream { instance-type vrf; route-guisher 10.255.14.176:3; vrf-target target:200:101; vrf-table-label; routing-options { auto-export; } } }
Wenn die no-vrf-advertise
Anweisung auf Hierarchieebene [edit routing-instances hub]
verwendet wird, sind keine Routing-Tabellengruppen oder VRF-Exportrichtlinien erforderlich. Die no-vrf-advertise
Anweisung konfiguriert die Hub-PE so, dass VPN-Routen von der primären Routing-Instanz hub
nicht angekündigt werden. Diese Routen werden stattdessen von der sekundären Routinginstanz hub_downstream
angekündigt. Weitere Informationen zu dieser Anweisung finden Sie in der no-vrf-advertise
Junos OS Routing Protocols Library.
Die auto-export
Anweisung auf Hierarchieebene [edit routing-instances hub-downstream routing-options]
identifiziert Routen, die von der Hub-Instanz in die Hub-Downstream-Instanz exportiert werden, indem die für jede Routing-Instanz definierten Routenziele betrachtet werden. Weitere Informationen zur Verwendung der Anweisung finden Sie in der auto-export
Junos OS Routing Protocols Library. Weitere Beispiele für Exportrichtlinien finden Sie unter Konfigurieren überlappender VPNs mit automatischem Routenexport.
Mit dieser Konfiguration auf Hub-PE wird der Spoke-to-Spoke-CE-Datenverkehr durch die Hub-CE geleitet und ermöglicht die Aktivierung von Ausgangsfunktionen (z. B. Filterung) auf der Hub-PE.
In diesem Konfigurationsbeispiel sieht die Datenverkehrsweiterleitung zwischen Spoke CE2 und Spoke CE3 wie folgt aus:
Spoke CE2 leitet den Datenverkehr über die von Spoke PE2 gelernte Standardroute über BGP weiter.
0.0.0.0/0 *[BGP/170] 02:24:15, localpref 100 AS path: 200 200 I > to 10.49.3.1 via t1-3/0/1.0
Spoke PE2 führt eine Routensuche in der Spoke-VRF-Tabelle durch und leitet den Datenverkehr an Hub PE1 weiter (über den P-Router – PE2 überträgt zwei Labels) unter Verwendung der über BGP erlernten Standardroute.
spoke.inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 0.0.0.0/0 *[BGP/170] 00:00:09, localpref 100, from 10.255.14.176 AS path: 100 I > via t3-0/0/0.0, Push 1029, Push 100224(top)
Hub PE1 führt eine Routensuche in der Tabelle mpls.0 für die VPN-Bezeichnung
1029
durch.mpls.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 1029 *[VPN/0] 00:11:49 to table hub_downstream.inet.0, Pop
Das VPN-Label
1029
wird aus folgenden Gründen beworben:Die
vrf-table-label
Anweisung wird auf der Hierarchieebene in der[edit routing-instances hub_downsteam]
Hub-PE1-Konfiguration angewendet.Die
no-vrf-advertise
Anweisung wird auf der Hierarchieebene angewendet und weist den Router an, die Route aus der[edit routing-instances hub]
sekundären Tabelle anzukündigen.
Daher werden IP-Suchvorgänge in der Tabelle hub_downstream.inet.0 und nicht in der Tabelle hub.inet.0 durchgeführt.
Geben Sie den
show route advertising-protocol
Befehl für die Hub-PE an eine Spoke-PE aus, um die VPN-Bezeichnungsankündigung1029
zu überprüfen:user@host> show route advertising-protocol hub_downstream.inet.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden) * 0.0.0.0/0 (1 entry, 1 announced) BGP group ibgp type Internal Route Distinguisher: 10.255.14.176:3 VPN Label: 1029 Nexthop: Self Localpref: 100 AS path: 100 I Communities: target:200:101
Hub PE1 führt eine IP-Suche in der
hub_downstream.inet.0
Tabelle durch und leitet die Schnittstellet3-0/0/0.0
für ausgehenden Datenverkehr an Hub CE1 weiter.hub_downstream.inet.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden) 0.0.0.0/0 (1 entry, 1 announced) *BGP Preference: 170/-101 Next-hop reference count: 4 Source: 10.49.4.2 Next hop: 10.49.4.2 via t3-0/0/0.0, selected State: <Secondary Active Ext> Peer AS: 100 Age: 3:03 Task: BGP_100.10.49.4.2+1707 Announcement bits (2): 0-KRT 2-BGP.0.0.0.0+179 AS path: 100 I Communities: target:200:101 Localpref: 100 Router ID: 10.49.10.251 Primary Routing Table hub.inet.0
Die primäre Routingtabelle ist
hub.inet.0
, was angibt, dass diese Route aus der Tabelle in diese Tabellehub.inet.0
hub_downstream.inet.0 exportiert wurde, und zwar als Ergebnis derno-vrf-advertise
Anweisung auf Hierarchieebene und der Anweisung auf Hierarchieebene[edit routing-instances hub]
[edit routing-instances hub-downstream routing-options]
in derauto-export
Hub-PE1-Konfiguration.Hub CE1 leitet den Datenverkehr mithilfe des über BGP gelernten Routers zurück an Hub PE1.
10.49.10.253/32 *[BGP/170] 02:40:03, localpref 100 AS path: 200 200 I > to 10.49.4.1 via t3-3/1/0.0
Hub PE1 führt eine Routensuche in der VRF-Tabelle des Hubs durch und leitet den Datenverkehr an Spoke PE3 weiter (über den P-Router – PE1 überträgt zwei Labels).
10.49.10.253/32 *[BGP/170] 01:41:05, localpref 100, from 10.255.14.178 AS path: 100 I > via t1-0/1/0.0, Push 100128, Push 100192(top)
Spoke PE3 führt eine Routensuche in der mpls.0-Tabelle für die VPN-Bezeichnung
100128
durch.100128 *[VPN/170] 02:41:30 > to 10.49.6.2 via t3-0/0/0.0, Pop
Spoke PE3 leitet die Schnittstelle
t3-0/0/0.0
für ausgehenden Datenverkehr an Spoke CE3 weiter.
Konfigurieren von Hub-and-Spoke-VPN-Topologien: Zwei Schnittstellen
Verwenden Sie eine Konfiguration mit zwei Schnittstellen, um Routen von Spoke zu Spoke zu übertragen.
Im Beispiel in diesem Abschnitt wird eine Hub-and-Spoke-Topologie mit zwei Schnittstellen mithilfe der folgenden Komponenten konfiguriert (siehe Abbildung 2):
PE-Router mit einem Hub (Router D).
Ein Hub-CE-Router, der mit dem Hub-PE-Router verbunden ist. Damit diese Hub-and-Spoke-VPN-Topologie ordnungsgemäß funktioniert, müssen zwei Schnittstellen vorhanden sein, die den Hub-PE-Router mit dem Hub-CE-Router verbinden, und jede Schnittstelle muss über eine eigene VRF-Tabelle auf dem PE-Router verfügen:
Die erste Schnittstelle (hier Schnittstelle ge-0/0/0.0) wird verwendet, um Spoke-Routen an den Hub-CE-Router anzukündigen. Die VRF-Tabelle, die dieser Schnittstelle zugeordnet ist, enthält die Routen, die von den PE-Spoke-Routern an den CE-Router des Hubs angekündigt werden.
Die zweite Schnittstelle (hier Schnittstelle ge-0/0/1.0) wird verwendet, um Routenansagen von der Hub-CE zu empfangen, die für die Hub-and-Spoke-Router bestimmt sind. Die VRF-Tabelle, die dieser Schnittstelle zugeordnet ist, enthält die Routen, die vom CE-Router des Hubs zu den PE-Spoke-Routern angekündigt wurden. In diesem Beispiel werden zwei separate physische Schnittstellen verwendet. Es würde auch funktionieren, wenn Sie zwei separate logische Schnittstellen konfigurieren würden, die dieselbe physische Schnittstelle zwischen dem Hub-PE-Router und dem Hub-CE-Router verwenden.
Zwei-Speichen-PE-Router (Router E und Router F).
Zwei Spoke-CE-Router (CE1 und CE2), von denen einer mit jedem Spoke-PE-Router verbunden ist.
LDP als Signalisierungsprotokoll.

In dieser Konfiguration erfolgt die Routenverteilung vom Spoke-CE-Router CE1 wie folgt:
Der Spoke-Router CE1 kündigt seine Routen zum Spoke-PE-Router E an.
Router E installiert die Routen von CE1 in seine VRF-Tabelle.
Nach der Überprüfung der VRF-Exportrichtlinie fügt Router E die Spoke-Ziel-Community zu den Routen von Router CE1 hinzu, der die Richtlinie bestanden hat, und kündigt sie dem PE-Hub-Router (Router D) an.
Router D prüft die VRF-Importrichtlinie, die der Schnittstelle ge-0/0/0.0 zugeordnet ist, und fügt alle Routen von Spoke-PE-Routern, die der Richtlinie entsprechen, in seine Routing-Tabelle bgp.l3vpn ein. (Alle Routen, die nicht übereinstimmen, werden verworfen.)
Router D überprüft seine VRF-Importrichtlinie, die der Schnittstelle ge-0/0/0.0 zugeordnet ist, und installiert alle übereinstimmenden Routen in seiner Spoke-VRF-Tabelle. Die Routen werden mit der Spoke-Ziel-Community installiert.
Router D kündigt Routen zum Hub CE über das Interface ge-0/0/0 an.
Der Hub-CE-Router kündigt die Routen zurück zum Hub-PE-Router D über die zweite Schnittstelle zum Hub-Router, Schnittstelle ge-0/0/1, an.
Der Hub-PE-Router installiert die vom Hub-CE-Router gelernten Routen in seine Hub-VRF-Tabelle, die der Schnittstelle ge-0/0/1 zugeordnet ist.
Der Hub-PE-Router überprüft die VRF-Exportrichtlinie, die der Schnittstelle ge-0/0/1.0 zugeordnet ist, und kündigt nach dem Hinzufügen der Hub-Ziel-Community alle Routen an, die mit allen Spokes übereinstimmen.
Abbildung 3 zeigt, wie die Routen von diesem Spoke-Router auf den anderen Spoke-CE-Router, Router CE2, verteilt werden. Der gleiche Pfad wird befolgt, wenn Sie einen traceroute
Befehl von Router CE1 an Router CE2 erteilen.
Der letzte Abschnitt in diesem Beispiel, Hub-and-Spoke-VPN-Konfiguration zusammengefasst nach Router, konsolidiert die Anweisungen, die zum Konfigurieren der VPN-Funktionalität für jeden der in Abbildung 2 dargestellten Dienstanbieterrouter erforderlich sind.

In den folgenden Abschnitten wird erläutert, wie Sie die VPN-Funktionalität für eine Hub-and-Spoke-Topologie auf den Hub-and-Spoke-PE-Routern konfigurieren. Die CE-Router haben keine Informationen über das VPN, daher konfigurieren Sie sie normal.
- Aktivieren einer IGP auf den Hub-and-Spoke-PE-Routern
- Konfigurieren von LDP auf den Hub-and-Spoke-PE-Routern
- Konfigurieren von IBGP auf den PE-Routern
- Konfigurieren von VPN-Routing-Instanzen auf den Hub-and-Spoke-PE-Routern
- Konfigurieren der VPN-Richtlinie auf den PE-Routern
- Hub-and-Spoke-VPN-Konfiguration zusammengefasst nach Router
Aktivieren einer IGP auf den Hub-and-Spoke-PE-Routern
Damit die Hub-and-Spoke-PE-Router Routing-Informationen austauschen können, müssen Sie auf all diesen Routern eine IGP konfigurieren oder statische Routen konfigurieren. Sie konfigurieren die IGP auf der primären Instanz des Routing-Protokollprozesses (rpd) (d. h. auf der Hierarchieebene), nicht innerhalb der Routing-Instanz (d. h. nicht auf der [edit protocols]
Hierarchieebene [edit routing-instances]
).
Sie konfigurieren die IGP auf die übliche Weise. In diesem Konfigurationsbeispiel ist dieser Teil der Konfiguration nicht enthalten.
Wenn in der Routenverteilung in einer Hub-and-Spoke-Topologie das Protokoll BGP ist, kündigt der Hub-CE-Router alle vom Hub-PE-Router und den Spoke-Routern empfangenen Routen zurück zum Hub-PE-Router und allen Spoke-Routern an, wenn das Protokoll zwischen den CE- und PE-Routern am Hub-Standort BGP ist. Das bedeutet, dass die Hub-and-Spoke-PE-Router Routen erhalten, die ihre AS-Nummer enthalten. Wenn eine Route diese Informationen enthält, zeigt dies normalerweise an, dass eine Routing-Schleife aufgetreten ist und der Router die Routen ablehnt. Damit die VPN-Konfiguration jedoch funktioniert, müssen der Hub-PE-Router und die Spoke-Router diese Routen akzeptieren. Um dies zu aktivieren, schließen Sie die loops
Option bei der Konfiguration des AS auf der [edit routing-options]
Hierarchieebene des Hub-PE-Routers und aller Spoke-Router ein. Für diese Beispielkonfiguration geben Sie den Wert 1 an. Sie können eine Zahl zwischen 0 und 10 angeben.
[edit routing-options] autonomous-system as-number loops 1;
Konfigurieren von LDP auf den Hub-and-Spoke-PE-Routern
Konfigurieren Sie LDP auf den Schnittstellen zwischen den Hub-and-Spoke-PE-Routern, die am VPN beteiligt sind.
Konfigurieren Sie auf dem Hub-PE-Router D LDP:
[edit protocols] ldp { interface so-1/0/0.0; interface t3-1/1/0.0; }
Konfigurieren Sie auf Spoke PE Router E LDP:
[edit protocols] ldp { interface fe-0/1/2.0; }
Konfigurieren Sie auf dem Spoke-PE-Router Router F LDP:
[edit protocols] ldp { interface fe-1/0/0.0; }
Konfigurieren von IBGP auf den PE-Routern
Konfigurieren Sie auf den Hub-and-Spoke-PE-Routern eine IBGP-Sitzung mit den folgenden Eigenschaften:
VPN-Familie: Fügen Sie die Anweisung ein, um anzugeben, dass die
family inet-vpn
IBGP-Sitzung für das VPN bestimmt ist.Loopback-Adresse: Fügen Sie die Anweisung ein, die die
local-address
Loopback-Adresse des lokalen PE-Routers angibt. Die IBGP-Sitzung für VPNs läuft über die Loopback-Adresse. Außerdem müssen Sie dielo0
Schnittstelle auf Hierarchieebene[edit interfaces]
konfigurieren. Dieser Teil der Routerkonfiguration ist im Beispiel nicht enthalten.Nachbaradresse: Fügen Sie die
neighbor
Anweisung ein. Geben Sie auf dem Hub-Router die IP-Adresse jedes Spoke-PE-Routers und auf dem Spoke-Router die Adresse des Hub-PE-Routers an.
Für den Hub-Router konfigurieren Sie eine IBGP-Sitzung mit jedem Spoke, und für jeden Spoke-Router konfigurieren Sie eine IBGP-Sitzung mit dem Hub. Es gibt keine IBGP-Sitzungen zwischen den beiden Spoke-Routern.
Konfigurieren Sie auf Hub-Router D IBGP. Mit der ersten Anweisung wird eine IBGP-Sitzung für Spoke-Router E konfiguriert, und mit der zweiten neighbor
Anweisung wird eine Sitzung für Spoke-Router F konfiguriert.
[edit protocols] bgp { group Hub-to-Spokes { type internal; local-address 10.255.14.174; family inet-vpn { unicast; } neighbor 10.255.14.180; neighbor 10.255.14.182; } }
Konfigurieren Sie auf Spoke-Router E eine IBGP-Sitzung für den Hub-Router:
[edit protocols] bgp { group Spoke-E-to-Hub { type internal; local-address 10.255.14.180; neighbor 10.255.14.174 { family inet-vpn { unicast; } } } }
Konfigurieren Sie auf Spoke-Router F eine IBGP-Sitzung für den Hub-Router:
[edit protocols] bgp { group Spoke-F-to-Hub { type internal; local-address 10.255.14.182; neighbor 10.255.14.174 { family inet-vpn { unicast; } } } }
Konfigurieren von VPN-Routing-Instanzen auf den Hub-and-Spoke-PE-Routern
Damit der Hub-PE-Router zwischen Paketen unterscheiden kann, die zu den PE-Spoke-Routern gehen und von diesen kommen, müssen Sie ihn mit zwei Routing-Instanzen konfigurieren:
Eine Routinginstanz (in diesem Beispiel ) ist der Schnittstelle zugeordnet,
Spokes-to-Hub-CE
die Pakete vom Hub-PE-Router zum Hub-CE-Router (in diesem Beispiel Schnittstellege-0/0/0.0
) überträgt. Die VRF-Tabelle enthält die Routen, die von den Spoke-PE-Routern und dem Hub-PE-Router an den Hub-CE-Router angekündigt werden.Die zweite Routinginstanz (in diesem Beispiel ) ist der Schnittstelle zugeordnet,
Hub-CE-to-Spokes
die Pakete vom Hub-CE-Router zum Hub-PE-Router (in diesem Beispiel Schnittstellege-0/0/1.0
) überträgt. Die VRF-Tabelle enthält die Routen, die vom Hub-CE-Router zu den Hub-and-Spoke-PE-Routern angekündigt werden.
Auf jedem Spoke-Router müssen Sie eine Routing-Instanz konfigurieren.
In der Routing-Instanz müssen Sie folgendes definieren:
Route Distinguisher, der verwendet wird, um die Adressen in einem VPN von denen in einem anderen VPN zu unterscheiden.
Instance-Typ von
vrf
, der die VRF-Tabelle auf dem PE-Router erstellt.Schnittstellen, die Teil des VPN sind und die PE-Router mit ihren CE-Routern verbinden.
VRF-Import- und -Exportrichtlinien. Beide Importrichtlinien müssen einen Verweis auf eine Community enthalten. Andernfalls, wenn Sie versuchen, die Konfiguration zu bestätigen, schlägt der Commit fehl. (Eine Ausnahme hiervon ist, wenn die Importrichtlinie nur eine
then reject
Anweisung enthält.) In der VRF-Exportrichtlinie hängen Spoke-PE-Router die Spoke-Ziel-Community an.Routing zwischen dem PE- und dem CE-Router, das erforderlich ist, damit der PE-Router VPN-bezogene Routen zu und von verbundenen CE-Routern verteilen kann. Sie können ein Routing-Protokoll (BGP, OSPF oder RIP) oder statisches Routing konfigurieren.
Für eine Hub-and-Spoke-Topologie müssen Sie in jeder Routing-Instanz auf dem Hub-CE-Router unterschiedliche Richtlinien konfigurieren. Für die Routing-Instanz, die der Schnittstelle zugeordnet ist, die Pakete vom Hub-PE-Router zum Hub-CE-Router überträgt (in diesem Beispiel ), muss die Importrichtlinie alle Routen akzeptieren, die in der IBGP-Sitzung zwischen den Hub-and-Spoke-PE-Routern empfangen wurden, Spokes-to-Hub-CE
und die Exportrichtlinie muss alle vom Hub-CE-Router empfangenen Routen ablehnen. Für die Routinginstanz, die der Schnittstelle zugeordnet ist, die Pakete vom Hub-CE-Router zum Hub-PE-Router überträgt (in diesem Beispiel ), muss die Importrichtlinie alle von den Spoke-PE-Routern empfangenen Routen ablehnen, Hub-CE-to-Spokes
und die Exportrichtlinie muss an alle Spoke-Router exportieren.
Konfigurieren Sie auf Hub-PE-Router D die folgenden Routing-Instanzen. Router D verwendet OSPF, um Routen zum und vom Hub-CE-Router zu verteilen.
[edit] routing-instance { Spokes-to-Hub-CE { instance-type vrf; interface ge-0/0/0.0; route-distinguisher 10.255.1.174:65535; vrf-import spoke; vrf-export null; protocols { ospf { domain-id disable; export redistribute-vpn; domain-vpn-tag 0; area 0.0.0.0 { interface ge-0/0/0; } } } } Hub-CE-to-Spokes { instance-type vrf; interface ge-0/0/1.0; route-distinguisher 10.255.1.174:65534; vrf-import null; vrf-export hub; protocols { ospf { export redistribute-vpn; area 0.0.0.0 { interface ge-0/0/1.0; } } } } }
Konfigurieren Sie auf Spoke PE Router E die folgenden Routing-Instanzen. Router E verwendet OSPF zum Verteilen von Routen zum und vom Spoke-CE-Router CE1.
[edit] routing-instance { Spoke-E-to-Hub { instance-type vrf; interface fe-0/1/0.0; route-distinguisher 10.255.14.80:65035; vrf-import hub; vrf-export spoke; protocols { ospf { export redistribute-vpn; area 0.0.0.0 { interface fe-0/1/0.0; } } } } }
Konfigurieren Sie auf Spoke PE Router F die folgenden Routing-Instanzen. Router F verwendet OSPF zum Verteilen von Routen zum und vom Spoke-CE-Router CE2.
[edit] routing-instance { Spoke-F-to-Hub { instance-type vrf; interface fe-1/0/1.0; route-distinguisher 10.255.14.182:65135; vrf-import hub; vrf-export spoke; protocols { ospf { export redistribute-vpn; area 0.0.0.0 { interface fe-1/0/1.0; } } } } }
Konfigurieren der VPN-Richtlinie auf den PE-Routern
Sie müssen VPN-Import- und -Exportrichtlinien auf jedem der Hub-and-Spoke-PE-Router konfigurieren, damit die entsprechenden Routen in den VRF-Tabellen installiert werden, die zum Weiterleiten von Paketen innerhalb der einzelnen VPNs verwendet werden.
Auf den Spoke-Routern definieren Sie Richtlinien für den Austausch von Routen mit dem Hub-Router.
Auf dem Hub-Router definieren Sie Richtlinien, um Routen von den Spoke-PE-Routern zu akzeptieren und an den Hub-CE-Router zu verteilen und umgekehrt. Der Hub-PE-Router verfügt über zwei VRF-Tabellen:
Spoke-to-Hub-VRF-Tabelle: Verarbeitet Routen, die von Spoke-Routern empfangen werden, und kündigt diese Routen dem Hub-CE-Router an. Für diese VRF-Tabelle muss die Importrichtlinie überprüfen, ob der Name des Spoke-Ziels vorhanden ist und ob die Route von der IBGP-Sitzung zwischen dem Hub-PE und den Spoke-PE-Routern empfangen wurde. Diese VRF-Tabelle darf keine Routen exportieren, daher sollte ihre Exportrichtlinie alles ablehnen.
Hub-to-Spoke-VRF-Tabelle: Verarbeitet Routen, die vom Hub-CE-Router empfangen werden, und kündigt sie den Spoke-Routern an. Für diese VRF-Tabelle muss die Exportrichtlinie die Hub-Zielcommunity hinzufügen. Diese VRF-Tabelle darf keine Routen importieren, daher sollte ihre Importrichtlinie alles ablehnen.
In der VPN-Richtlinie konfigurieren Sie auch die VPN-Ziel-Communities.
Konfigurieren Sie auf Hub-PE-Router D die folgenden Richtlinien, die auf die VRF-Tabellen angewendet werden sollen:
spoke
- Akzeptiert Routen, die von der IBGP-Sitzung zwischen ihm und den Spoke-PE-Routern empfangen wurden, die das Community-Zielspoke
enthalten, und lehnt alle anderen Routen ab.hub
– Fügt den Community-Ziel-Hub zu allen Routen hinzu, die von OSPF empfangen werden (d. h. von der Sitzung zwischen ihm und dem Hub-CE-Router). Alle anderen Routen werden abgelehnt.null
: Lehnt alle Routen ab.redistribute-vpn
- Verteilt OSPF-Routen an Nachbarn innerhalb der Routing-Instanz.[edit] policy-options { policy-statement spoke { term a { from { protocol bgp; community spoke; } then accept; } term b { then reject; } } policy-statement hub { term a { from protocol ospf; then { community add hub; accept; } } term b { then reject; } } policy-statement null { then reject; } policy-statement redistribute-vpn { term a { from protocol bgp; then accept; } term b { then reject; } } community hub members target:65535:1; community spoke members target:65535:2; }
Um die VRF-Richtlinien auf Router D anzuwenden, schließen Sie die und-Anweisungen ein, wenn Sie die vrf-export
vrf-import
Routing-Instanzen konfigurieren:
[edit] routing-instance { Spokes-to-Hub-CE { vrf-import spoke; vrf-export null; } Hub-CE-to-Spokes { vrf-import null; vrf-export hub; } }
Konfigurieren Sie auf Spoke PE-Router E und Router F die folgenden Richtlinien, die auf die VRF-Tabellen angewendet werden sollen:
hub
- Akzeptiert Routen, die von der IBGP-Sitzung zwischen ihm und den Hub-PE-Routern empfangen wurden, die das Community-Zielhub
enthalten, und lehnt alle anderen Routen ab.spoke
– Fügt hinzu, dass das Community-Ziel, das von OSPF empfangen wird (d. h. von der Sitzung zwischen OSPF und dem CE-Router des Hubs), alle anderen Routen ablehnt.redistribute-vpn
- Verteilt OSPF-Routen an Nachbarn innerhalb der Routing-Instanz.
Konfigurieren Sie auf Spoke PE-Router E und Router F die folgenden VPN-Import- und Exportrichtlinien:
[edit] policy-options { policy-statement hub { term a { from { protocol bgp; community hub; } then accept; } term b { then reject; } } policy-statement spoke { term a { from protocol ospf; then { community add spoke; accept; } } term b { then reject; } } policy-statement redistribute-vpn { term a { from protocol bgp; then accept; } term b { then reject; } } community hub members target:65535:1; community spoke members target 65535:2; }
Um die VRF-Richtlinien auf die Spoke-Router anzuwenden, schließen Sie die und-Anweisungen ein, wenn Sie die vrf-export
vrf-import
Routing-Instanzen konfigurieren:
[edit] routing-instance { Spoke-E-to-Hub { vrf-import hub; vrf-export spoke; } } [edit] routing-instance { Spoke-F-to-Hub { vrf-import hub; vrf-export spoke; } }
Hub-and-Spoke-VPN-Konfiguration zusammengefasst nach Router
Router D (Hub-PE-Router)
Routing-Instanz zum Verteilen von Spoke-Routen an Hub CE
Spokes-to-Hub-CE { instance-type vrf; interface fe-0/0/0.0; route-distinguisher 10.255.1.174:65535; vrf-import spoke; vrf-export null; }
Instanz-Routing-Protokoll
protocols { ospf { domain-id disable; domain-vpn-tag 0; export redistribute-vpn; area 0.0.0.0 { interface ge-0/0/0.0; } } }
Routing-Instanz zum Verteilen von Hub-CE-Routen an Spokes
Hub-CE-to-Spokes { instance-type vrf; interface ge-0/0/1.0; route-distinguisher 10.255.1.174:65534; vrf-import null; vrf-export hub; }
Routing-Instanz-Routing-Protokolle
protocols { ospf { export redistribute-vpn; area 0.0.0.0 { interface ge-0/0/1.0; } } }
Routing-Optionen (primäre Instanz )
routing-options { autonomous-system 1 loops 1; }
Protokolle (primäre Instanz)
protocols { }
LDP aktivieren
ldp { interface so-1/0/0.0; interface t3-1/1/0.0; }
Konfigurieren von IBGP
bgp { group Hub-to-Spokes { type internal; local-address 10.255.14.174; family inet-vpn { unicast; } neighbor 10.255.14.180; neighbor 10.255.14.182; } }
VPN-Richtlinie konfigurieren
policy-options { policy-statement spoke { term a { from { protocol bgp; community spoke; } then accept; } term b { then reject; } } policy-statement hub { term a { from protocol ospf; then { community add hub; accept; } } term b { then reject; } } policy-statement null { then reject; } policy-statement redistribute-vpn { term a { from protocol bgp; then accept; } term b { then reject; } } community hub members target:65535:1; community spoke members target:65535:2; }
Router E (Spoke PE-Router)
Routing-Instanz
routing-instance { Spoke-E-to-Hub { instance-type vrf; interface fe-0/1/0.0; route-distinguisher 10.255.14.80:65035; vrf-import hub; vrf-export spoke; } }
Instanz-Routing-Protokoll
protocols { ospf { export redistribute-vpn; area 0.0.0.0 { interface fe-0/1/0.0; } } }
Routing-Optionen (primäre Instanz )
routing-options { autonomous-system 1 loops 1; }
Protokolle (primäre Instanz)
protocols { }
LDP aktivieren
ldp { interface fe-0/1/2.0; }
Konfigurieren von IBGP
bgp { group Spoke-E-to-Hub { type internal; local-address 10.255.14.180; neighbor 10.255.14.174 { family inet-vpn { unicast; } } } }
VPN-Richtlinie konfigurieren
policy-options { policy-statement hub { term a { from { protocol bgp; community hub; } then accept; } term b { then reject; } } policy-statement spoke { term a { from protocol ospf; then { community add spoke; accept; } } term b { then reject; } } policy-statement redistribute-vpn { term a { from protocol bgp; then accept; } term b { then reject; } } community hub members target:65535:1; community spoke members target:65535:2; }
Router F (Spoke-PE-Router)
Routing-Instanz
routing-instance { Spoke-F-to-Hub { instance-type vrf; interface fe-1/0/1.0; route-distinguisher 10.255.14.182:65135; vrf-import hub; vrf-export spoke; } }
Instanz-Routing-Protokoll
protocols { ospf { export redistribute-vpn; area 0.0.0.0 { interface fe-1/0/1.0; } } }
Routing-Optionen (primäre Instanz )
routing-options { autonomous-system 1 loops 1; }
Protokolle (primäre Instanz)
protocols { }
LDP aktivieren
ldp { interface fe-1/0/0.0; }
Konfigurieren von IBGP
bgp { group Spoke-F-to-Hub { type internal; local-address 10.255.14.182; neighbor 10.255.14.174 { family inet-vpn { unicast; } } } }
VPN-Richtlinie konfigurieren
policy-options { policy-statement hub { term a { from { protocol bgp; community hub; } then accept; } term b { then reject; } } policy-statement spoke { term a { from protocol ospf; then { community add spoke; accept; } } term b { then reject; } } policy-statement redistribute-vpn { term a { from { protocol bgp; } then accept; } term b { then reject; } } community hub members target:65535:1; community spoke members target:65535:2; }