Konfigurieren von GRE-Tunnelschnittstellen
Grundlegendes zur generischen Routingkapselung
Generic Routing Encapsulation (GRE) bietet einen privaten, sicheren Pfad für den Transport von Paketen durch ein ansonsten öffentliches Netzwerk, indem die Pakete gekapselt (oder getunnelt) werden.
In diesem Thema wird Folgendes beschrieben:
Überblick über GRE
GRE kapselt Datenpakete und leitet sie an ein Gerät weiter, das sie entkapselt und an ihr endgültiges Ziel weiterleitet. Dadurch können Quell- und Zielrouter so funktionieren, als hätten sie eine virtuelle Punkt-zu-Punkt-Verbindung miteinander (da der von GRE angewendete äußere Header für das gekapselte Nutzlastpaket transparent ist). Mit GRE-Tunneln können beispielsweise Routing-Protokolle wie RIP und OSPF Datenpakete von einem Router zu einem anderen Router über das Internet weiterleiten. Darüber hinaus können GRE-Tunnel Multicast-Datenströme für die Übertragung über das Internet kapseln.
GRE wird in RFC 2784 beschrieben (veraltet frühere RFCs 1701 und 1702). Die Router unterstützen RFC 2784, aber nicht vollständig. (Eine Liste der Einschränkungen finden Sie unter Konfigurationseinschränkungen.)
Als Tunnelquell-Router kapselt der Router ein Nutzlastpaket für den Transport durch den Tunnel zu einem Zielnetzwerk. Das Nutzlastpaket wird zuerst in ein GRE-Paket gekapselt, und dann wird das GRE-Paket in ein Übermittlungsprotokoll gekapselt. Der Router, der die Rolle eines Tunnel-Remote-Routers übernimmt, extrahiert das getunnelte Paket und leitet es an sein Ziel weiter.
Die Dienstverkettung für GRE-, NAT- und IPSec-Dienste auf ACX1100-AC- und ACX500-Routern wird nicht unterstützt.
Layer 2 über GRE wird in ACX2200 Router nicht unterstützt.
ACX-Router unterstützen das OSPF-Routing-Protokoll, wenn ein GRE-Tunnel auf einer WAN-Schnittstelle konfiguriert ist.
GRE-Tunneling
Daten werden vom System über Routen, die in der Routing-Tabelle festgelegt sind, an den GRE-Endpunkt weitergeleitet. (Diese Routen können statisch konfiguriert oder dynamisch durch Routing-Protokolle wie RIP oder OSPF erlernt werden.) Wenn ein Datenpaket vom GRE-Endpunkt empfangen wird, wird es entkapselt und erneut an seine Zieladresse geroutet.
GRE-Tunnel sind zustandslos, d. h., der Endpunkt des Tunnels enthält keine Informationen über den Status oder die Verfügbarkeit des Remotetunnelendpunkts. Daher kann der Router, der als Tunnelquellrouter fungiert, den Status der GRE-Tunnelschnittstelle nicht in "Down" ändern, wenn der Remote-Endpunkt nicht erreichbar ist.
Ausführliche Informationen zum GRE-Tunneling finden Sie unter:
- Kapselung und Entkapselung auf dem Router
- Anzahl der Quell- und Zieltunnel, die auf einem Router zulässig sind
Kapselung und Entkapselung auf dem Router
Kapselung: Ein Router, der als Tunnelquell-Router fungiert, kapselt GRE-Pakete wie folgt und leitet sie weiter:
Wenn ein Router ein Datenpaket (Nutzlast) empfängt, das getunnelt werden soll, sendet er das Paket an die Tunnelschnittstelle.
Die Tunnelschnittstelle kapselt die Daten in einem GRE-Paket und fügt einen äußeren IP-Header hinzu.
Die Weiterleitung des IP-Pakets erfolgt auf Basis der Zieladresse im äußeren IP-Header.
Entkapselung: Ein Router, der als Tunnel-Remote-Router fungiert, verarbeitet GRE-Pakete wie folgt:
Wenn der Zielrouter das IP-Paket von der Tunnelschnittstelle empfängt, werden der äußere IP-Header und der GRE-Header entfernt.
Das Paket wird basierend auf dem inneren IP-Header geroutet.
Anzahl der Quell- und Zieltunnel, die auf einem Router zulässig sind
ACX-Router unterstützen bis zu 64 GRE-Tunnel zwischen Routern, die IPv4- oder IPv6-Nutzlastpakete über GRE übertragen.
Konfigurationseinschränkungen
Einige GRE-Tunneling-Funktionen sind derzeit auf Routern der ACX-Serie nicht verfügbar. Beachten Sie die folgenden Einschränkungen, wenn Sie GRE auf einem ACX-Router konfigurieren:
Nicht unterstützte Funktionen: GRE auf den ACX-Routern unterstützt die folgenden Funktionen nicht :
Virtuelles Routing über GRE
Bidirectional Forwarding Detection (BFD)-Protokoll über GRE Distributed Mode
MPLS über GRE-Tunnel
GRE-Keepalives
GRE-Schlüssel, Fragmentierung von Nutzlastpaketen und Sequenznummern für fragmentierte Pakete
Dynamische BGP-Tunnel
RFC 1701 und RFC 1702
RFC 2890 – Schlüssel- und Sequenznummernerweiterungen für GRE
IPv6 als Versandkopf
GRE-Pfad-MTU-Erkennung
Load Balancing, wenn NNI ECMP ist
Schnittstellenstatistiken zu GRE-Schnittstellen
Class of Service und Firewall im GRE-Tunnel
Routing-Protokoll - ACX-Router unterstützen keine Routing-Protokolle auf GRE-Schnittstellen. Sie müssen das Routing auf GRE-Schnittstellen in der Hierarchie [Protokolle bearbeiten] deaktivieren. Zum Beispiel
[edit] user@host# show protocols ospf { area 0.0.0.0 { interface all; interface gr-0/0/10.0 { disable; } } }
Anmerkung:Diese Einschränkung gilt für alle Routing-Protokolle (z. B. OSPF, ISIS).
Siehe auch
Konfigurieren von generischem Routing-Kapselungstunneling
Tunneling bietet einen privaten, sicheren Pfad für den Transport von Paketen durch ein ansonsten öffentliches Netzwerk, indem Pakete in einem Transportprotokoll gekapselt werden, das als IP-Kapselungsprotokoll bezeichnet wird. Generic Routing Encapsulation (GRE) ist ein IP-Verkapselungsprotokoll, das zum Transportieren von Paketen über ein Netzwerk verwendet wird. Informationen werden von einem Netzwerk zum anderen über einen GRE-Tunnel gesendet.
GRE-Tunneling wird durch routingfähige Tunnelendpunkte erreicht, die auf vorhandenen physischen und anderen logischen Endpunkten arbeiten. GRE-Tunnel verbinden einen Endpunkt mit einem anderen und bieten einen klaren Datenpfad zwischen ihnen.
In diesem Thema wird Folgendes beschrieben:
- Konfigurieren eines GRE-Tunnelports
- Konfigurieren von Tunneln für die Verwendung der generischen Routingkapselung
Konfigurieren eines GRE-Tunnelports
Um GRE-Tunnel auf einem Router zu konfigurieren, konvertieren Sie einen Netzwerkport oder Uplink-Port auf dem Router in einen GRE-Tunnelport für Tunneldienste. Jeder physische Tunnelport mit dem Namen gr-//portpic kann eine oder mehrere logische Schnittstellen haben, von denen jede ein GRE-Tunnelfpc ist.
Nach der Konvertierung in einen GRE-Tunnelport kann der physische Port nicht mehr für den Netzwerkverkehr verwendet werden.
Um einen GRE-Tunnelport auf einem Router zu konfigurieren, müssen Sie logische Tunnelschnittstellen erstellen und die Bandbreite in Gigabit pro Sekunde für Tunneldienste reservieren. Fügen Sie die tunnel-services bandwidth (1g | 10g)
Anweisung auf der Hierarchieebene [edit chassis fpc slot-number pic number
] ein.
Um einen GRE-Tunnelport zu konfigurieren, verwenden Sie einen beliebigen nicht verwendeten physischen Port auf dem Router, um eine logische Tunnelschnittstelle zu erstellen, wie unten gezeigt:
user@host# edit chassis fpc 0 { pic 0 { tunnel-services { port port-number; } } }
Dadurch entsteht auch eine gr-Schnittstelle.
Konfigurieren von Tunneln für die Verwendung der generischen Routingkapselung
Normalerweise wird ein GRE-Tunnelport aktiviert, sobald er konfiguriert ist, und bleibt so lange aktiv, wie eine gültige Tunnelquelladresse vorhanden oder eine Schnittstelle betriebsbereit ist. Jede logische Schnittstelle, die Sie auf dem Port konfigurieren, kann als Quelle oder als Endpunkt eines GRE-Tunnels konfiguriert werden.
So konfigurieren Sie einen Tunnelport für die Verwendung von GRE:
Übersicht über die GRE-Keepalive-Zeit
Generische GRE-Tunnelschnittstellen (Routing Encapsulation) verfügen nicht über einen integrierten Mechanismus zur Erkennung, wenn ein Tunnel ausgefallen ist. Sie können Keepalive-Nachrichten aktivieren, um als Erkennungsmechanismus zu dienen.
Wenn Sie eine GRE-Tunnelschnittstelle für Keepalive-Nachrichten aktivieren, sendet die Schnittstelle in regelmäßigen Abständen Keepalive-Anforderungspakete an den Remote-Endpunkt. Wenn die Datenpfadweiterleitung für den GRE-Tunnel an allen Punkten ordnungsgemäß funktioniert, werden Keepalive-Antwortpakete an den Absender zurückgegeben. Diese Keepalive-Nachrichten werden von der Routing-Engine verarbeitet.
Sie können Keepalive-Nachrichten auf der physischen oder logischen GRE-Tunnelschnittstelle konfigurieren. Wenn sie auf der physischen Schnittstelle konfiguriert sind, werden Keepalive-Nachrichten an alle logischen Schnittstellen gesendet, die Teil der physischen Schnittstelle sind. Wenn Keepalives auf einer einzelnen logischen Schnittstelle konfiguriert sind, werden sie nur an diese logische Schnittstelle gesendet.
Sie konfigurieren, wie oft Keepalive-Nachrichten gesendet werden und wie lange die Schnittstelle auf eine Keepalive-Antwort wartet, bevor der Tunnel als betriebsbereit markiert wird.
Das Keepalive-Anforderungspaket ist in Abbildung 1 dargestellt.

Die Keepalive-Nutzlast enthält Informationen, um sicherzustellen, dass die Keepalive-Antwort korrekt an die Anwendung übermittelt wird, die für den GRE-Keepalive-Prozess verantwortlich ist.
Der äußere GRE-Header enthält:
Quell-IP-Adresse: IP-Adresse des Endpunkts, der die Keepalive-Anforderung initiiert
Ziel-IP-Adresse: IP-Adresse des Endpunkts, der die Keepalive-Anforderung erhält
GRE-Protokoll-ID – IP
Der innere GRE-Header enthält:
Quell-IP-Adresse: IP-Adresse des Endpunkts, der die Keepalive-Anforderung empfängt
Ziel-IP-Adresse: IP-Adresse des Endpunkts, der die Keepalive-Anforderung initiiert
GRE-Protokoll-ID - Ein Wert, der von der Paketweiterleitungs-Engine als GRE-Keepalive-Paket erkannt wird
Ab Junos OS Version 17.3R1 können Sie IPv6 Generic Routing Encapsulation (GRE)-Tunnelschnittstellen auf Routern der MX-Serie konfigurieren. Auf diese Weise können Sie einen GRE-Tunnel über ein IPv6-Netzwerk ausführen. Zu den Paketnutzlastfamilien, die in den IPv6-GRE-Tunneln gekapselt werden können, gehören IPv4, IPv6, MPLS und ISO. Die Fragmentierung und Reassemblierung der IPv6-Bereitstellungspakete wird nicht unterstützt.
Um eine IPv6-GRE-Tunnelschnittstelle zu konfigurieren, geben Sie IPv6-Adressen für source
und destination
auf Hierarchieebene [interfaces gr-0/0/0 unit 0 tunnel]
an.
Keepalive wird für GRE IPv6 nicht unterstützt.
Siehe auch
Konfigurieren der GRE-Keepalive-Zeit
- Konfigurieren der Keepalive-Zeit und der Haltezeit für eine GRE-Tunnelschnittstelle
- GRE-Keepalive-Zeitkonfiguration anzeigen
- Anzeigen von Keepalive-Zeitinformationen auf einer GRE-Tunnelschnittstelle
Konfigurieren der Keepalive-Zeit und der Haltezeit für eine GRE-Tunnelschnittstelle
Sie können die Keepalives auf einer GRE-Tunnelschnittstelle (Generic Routing Encapsulation) konfigurieren, indem Sie sowohl die keepalive-time
Anweisung als auch die hold-time
Anweisung auf Hierarchieebene [edit protocols oam gre-tunnel interface interface-name]
einschließen.
Für den ordnungsgemäßen Betrieb von Keepalives auf einer GRE-Schnittstelle müssen Sie die family inet
Anweisung auch auf Hierarchieebene [edit interfaces interface-name unit unit]
einschließen. Wenn Sie diese Anweisung nicht angeben, wird die Schnittstelle als inaktiv markiert.
So konfigurieren Sie eine GRE-Tunnelschnittstelle:
So konfigurieren Sie die Keepalive-Zeit für eine GRE-Tunnelschnittstelle:
Konfigurieren Sie das OAM-Protokoll (Operation, Administration, and Maintenance) auf Hierarchieebene
[edit protocols]
für die GRE-Tunnelschnittstelle.[edit] user@host# edit protocols oam
Konfigurieren Sie die GRE-Tunnelschnittstellenoption für das OAM-Protokoll.
[edit protocols oam] user@host# edit gre-tunnel interface interface-name
Konfigurieren Sie die Keepalive-Zeit zwischen 1 und 50 Sekunden für die GRE-Tunnelschnittstelle.
[edit protocols oam gre-tunnel interface interface-name] user@host# set keepalive-time seconds
Konfigurieren Sie die Haltezeit zwischen 5 und 250 Sekunden. Beachten Sie, dass die Haltezeit mindestens doppelt so hoch sein muss wie die Keepalive-Zeit.
[edit protocols oam gre-tunnel interface interface-name] user@host# set hold-time seconds
GRE-Keepalive-Zeitkonfiguration anzeigen
Zweck
Zeigen Sie den konfigurierten Keepalive-Zeitwert als 10 und den Haltezeitwert als 30 auf einer GRE-Tunnelschnittstelle an (z. B. gr-1/1/10.1).
Aktion
Um die konfigurierten Werte auf der GRE-Tunnelschnittstelle anzuzeigen, führen Sie den show oam gre-tunnel
Befehl auf Hierarchieebene [edit protocols]
aus:
[edit protocols] user@host# show oam gre-tunnel interface gr-1/1/10.1 { keepalive-time 10; hold-time 30; }
Anzeigen von Keepalive-Zeitinformationen auf einer GRE-Tunnelschnittstelle
Zweck
Zeigen Sie die aktuellen Statusinformationen einer GRE-Tunnelschnittstelle an, wenn die Parameter Keepalive-Zeit und Haltezeit konfiguriert sind und wenn die Haltezeit abläuft.
Aktion
Um die aktuellen Statusinformationen auf einer GRE-Tunnelschnittstelle (z. B. gr-3/3/0.3) zu überprüfen, führen Sie die show interfaces gr-3/3/0.3 terse
Befehle und show interfaces gr-3/3/0.3 extensive
operational aus.
Schnittstellen anzeigen GR-3/3/0.3 knapp
user@host> show interfaces gr-3/3/0.3 terse Interface Admin Link Proto Local Remote gr-3/3/0.3 up up inet 192.0.2.1/24 mpls
Schnittstellen GR-3/3/0.3 Umfangreich anzeigen
user@host> show interfaces gr-3/3/0.3 extensive Logical interface gr-3/3/0.3 (Index 73) (SNMP ifIndex 594) (Generation 900) Flags: Point-To-Point SNMP-Traps 0x4000 IP-Header 10.1.19.11:10.1.19.12:47:df:64:0000000000000000 Encapsulation: GRE-NULL Gre keepalives configured: On, Gre keepalives adjacency state: down ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Traffic statistics: Input bytes : 15629992 Output bytes : 15912273 Input packets: 243813 Output packets: 179476 Local statistics: Input bytes : 15322586 Output bytes : 15621359 Input packets: 238890 Output packets: 174767 Transit statistics: Input bytes : 307406 0 bps Output bytes : 290914 0 bps Input packets: 4923 0 pps Output packets: 4709 0 pps Protocol inet, MTU: 1476, Generation: 1564, Route table: 0 Flags: Sendbcast-pkt-to-re Addresses, Flags: Dest-route-down Is-Preferred Is-Primary ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Destination: 192.0.2/24, Local: 192.0.2.1, Broadcast: 192.0.2.255, Generation: 1366 Protocol mpls, MTU: 1464, Maximum labels: 3, Generation: 1565, Route table: 0
Wenn die Haltezeit abgelaufen ist:
Der GRE-Tunnel bleibt auch dann aktiv, wenn die Schnittstelle keinen Datenverkehr senden oder empfangen kann.
Der
Link
Status istUp
und derGre keepalives adjacency state
wird .Down
Bedeutung
Die aktuellen Statusinformationen einer GRE-Tunnelschnittstelle mit den Parametern Keepalive Time und Hold Time werden wie erwartet angezeigt, wenn die Haltezeit abläuft.
Aktivieren der Fragmentierung in GRE-Tunneln
Um die Fragmentierung von IPv4-Paketen in GRE-Tunneln (Generic Routing Encapsulation) zu ermöglichen, schließen Sie die clear-dont-fragment-bit
Anweisung und eine MTU-Einstellung (Maximum Transmission Unit) für den Tunnel als Teil einer vorhandenen GRE-Konfiguration auf Hierarchieebene [edit interfaces]
ein:
[edit interfaces] gr-fpc/pic/port { unit logical-unit-number { clear-dont-fragment-bit; ... family inet { mtu 1000; ... } } }
Mit dieser Anweisung wird das DF-Bit (Don't Fragment) im Paketheader unabhängig von der Paketgröße gelöscht. Wenn die Paketgröße den Tunnel-MTU-Wert überschreitet, wird das Paket vor der Kapselung fragmentiert. Die maximale MTU-Größe, die auf dem AS- oder Multiservices-PIC konfiguriert werden kann, beträgt 9192 Byte.
Die clear-dont-fragment-bit
Anweisung wird nur auf Routern der MX-Serie und allen Routern der M-Serie mit Ausnahme des M320-Routers unterstützt.
Auf SRX-Plattformen wird das Löschen des DF-Bits in einem GRE-Tunnel nur unterstützt, wenn sich das Gerät im Paket- oder selektiven Paketmodus befindet. Diese Funktion wird im Flow-Modus nicht unterstützt. Dies hat zur Folge, dass im Datenflussmodus ein Paket, das die MTU der GRE-Schnittstelle mit gesetztem DF-Bit überschreitet, verworfen wird, obwohl das auf der GRE-Schnittstelle clear-dont-fragment-bit
konfiguriert ist.
Die Fragmentierung ist nur für IPv4-Pakete aktiviert, die in IPv4-basierten GRE-Tunneln gekapselt sind.
Diese Konfiguration wird nur für GRE-Tunnel auf AS- oder Multiservices-Schnittstellen unterstützt. Wenn Sie einen Commit als Kapselungstyp für eine standardmäßige Tunnel-PIC-Schnittstelle festlegen gre-fragmentation
, wird die folgende Konsolenprotokollmeldung angezeigt, wenn der PIC online geht:
gr-fpc/pic/port: does not support this encapsulation
Die Packet Forwarding Engine aktualisiert das IP-Identifikationsfeld im äußeren IP-Header von GRE-gekapselten Paketen, sodass eine erneute Assemblierung der Pakete nach der Fragmentierung möglich ist. Die vorherige CLI-Einschränkungsprüfung, bei der Sie entweder die clear-dont-fragment-bit
Anweisung oder einen Tunnelschlüssel mit der allow-fragmentation
Anweisung konfigurieren mussten, wird nicht mehr erzwungen.
Wenn Sie die clear-dont-fragment-bit
Anweisung auf einer Schnittstelle konfigurieren, bei der die MPLS-Protokollfamilie aktiviert ist, müssen Sie einen MTU-Wert angeben. Dieser MTU-Wert darf nicht größer als der maximal unterstützte Wert (9192) sein.