Einführung
In diesem Dokument wird beschrieben, wie Probleme mit der GRE-Schnittstelle (Generic Routing Encapsulation) behoben werden.
Hintergrundinformationen
In der Viptela-Lösung umfassen die Anwendungsfälle für GRE-Schnittstellen:
- Datenverkehr über vSmart Data-Policy oder lokal an ZScaler (HTTP-Proxy) senden.
- Primäre Service-GRE-Schnittstelle mit Standard-Backup zum Rechenzentrum.
- Serviceverkettung
Es gibt Fälle, in denen die GRE-Schnittstelle möglicherweise nicht verfügbar ist und/oder nicht funktioniert.
Überprüfen Sie in diesen Situationen, ob
- GRE-Schnittstelle ist aktiv/aktiv über: show interface gre*
- GRE-Keepalives über: show tunnel gre-keepalives
Methodik
Wenn ein Problem auftritt, konfigurieren Sie eine Zugriffssteuerungsliste (ACL oder Zugriffsliste), um festzustellen, ob die GRE (47)-Pakete ausgehen/eingehen.
Sie können die GRE-Pakete nicht über den TCP-Dump anzeigen, da die Pakete über den schnellen Pfad generiert werden.
Manchmal können GRE-Keepalives aufgrund der Network Address Translation (NAT) verworfen werden. Deaktivieren Sie in diesem Fall die Keepalive-Funktion, und prüfen Sie, ob der Tunnel verfügbar ist.
Wenn der GRE-Tunnel ständig flattert und Keepalives deaktiviert, bleibt die Schnittstelle aktiv.
Es hat jedoch einen Nachteil, wenn es ein legitimes Problem gibt, ist es schwer herauszufinden, dass GRE nicht funktioniert.
Ein Beispiel finden Sie hier im Dokument.
Dies ist eine funktionierende GRE-Schnittstellenkonfiguration.
IN VPN0
vpn 0
interface gre1
ip address 192.0.2.1/30
tunnel-source
tunnel-destination
tcp-mss-adjust 1300
no shutdown
!
interface gre2
ip address 192.0.2.5/30
tunnel-source
tunnel-destination
tcp-mss-adjust 1300
no shutdown
!
!
In Service-Seite
vpn
service FW interface gre1 gre2
In der Cisco SD-WAN-Lösung auf der Basis von vEdge-Routen arbeiten GRE-Schnittstellen als Aktiv/Standby und nicht Aktiv/Aktiv.
Es gibt immer nur GRE-Schnittstellen, die sich im Up/Up-Zustand befinden.
Übung
Erstellen einer Richtlinie für Zugriffslisten
vEdge# show running-config policy access-list
policy
access-list GRE-In
sequence 10
match
protocol 47
!
action accept
count gre-in
!
!
default-action accept
!
access-list GRE-Out
sequence 10
match
protocol 47
!
action accept
count gre-out
!
!
default-action accept
!
!
vEdge#
Erstellen Sie Zähler gre-in und gre-out und wenden Sie dann die Zugriffskontrollliste auf die Schnittstelle an (unsere Tunnelfahrten laufen über ge0/0).
Die oben genannte ACL kann mit der Quelladresse der physischen Schnittstelle und der Zieladresse des GRE-Endpunkts angewendet werden.
vEdge# show running-config vpn 0 interface ge0/0
vpn 0
interface ge0/0
ip address 198.51.100.1/24
tunnel-interface
encapsulation ipsec
max-control-connections 1
allow-service all
no allow-service bgp
allow-service dhcp
allow-service dns
allow-service icmp
no allow-service sshd
no allow-service netconf
no allow-service ntp
no allow-service ospf
no allow-service stun
!
no shutdown
access-list GRE-In in
access-list GRE-Out out
!
!
vEdge#
Jetzt können Sie die Zähler für GRE-Pakete ein- und aussehen, da sie sich im schnellen Pfad befinden, kann man sie mit dem tcpdump-Dienstprogramm nicht sehen.
vEdge# show policy access-list-counters
COUNTER
NAME NAME PACKETS BYTES
----------------------------------
GRE-In gre-in 176 10736
GRE-Out gre-out 88 2112
vEdge#
Das ist unser GRE-Tunnel.
vEdge# show interface gre1
IF IF IF TCP
AF ADMIN OPER TRACKER ENCAP PORT SPEED MSS RX TX
VPN INTERFACE TYPE IP ADDRESS STATUS STATUS STATUS TYPE TYPE MTU HWADDR MBPS DUPLEX ADJUST UPTIME PACKETS PACKETS
---------------------------------------------------------------------------------------------------------------------------------------------------------
0 gre1 ipv4 192.0.2.1/30 Up Up NA null service 1500 05:05:05:05:00:00 1000 full 1420 0:07:10:28 2968 2968
vEdge#
vEdge# show running-config vpn 0 interface gre1
vpn 0
interface gre1
ip address 192.0.2.1/30/30
tunnel-source-interface ge0/0
tunnel-destination 192.0.2.5/30
no shutdown
!
!
vEdge#
Sie können überprüfen, ob der Datenverkehr über die GRE-Schnittstelle läuft, indem Sie den Befehl show app cflowd ausführen.
Dies ist ein Beispiel für bidirektionalen Datenverkehr (vom Ein- und Ausgang):
vEdge# show app cflowd flows
TCP TIME EGRESS INGRESS
SRC DEST IP CNTRL ICMP TOTAL TOTAL MIN MAX TO INTF INTF
VPN SRC IP DEST IP PORT PORT DSCP PROTO BITS OPCODE NHOP IP PKTS BYTES LEN LEN START TIME EXPIRE NAME NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
10 203.0.113.1 203.0.113.11 61478 443 0 6 16 0 203.0.113.254 3399 286304 60 1339 Sun Apr 8 10:23:05 2018 599 gre1 ge0/6
10 203.0.113.11 203.0.113.1 443 61478 0 6 24 0 203.0.113.1262556 192965 40 1340 Sun Apr 8 10:23:05 2018 592 ge0/6 gre1
Ein Beispiel für das Deaktivieren von Keepalives (KA) auf der GRE-Schnittstelle:
KA ist standardmäßig 10 (Hello-Intervall) und 3 (Toleranz).
Ein KA von 0 0 deaktiviert den KA auf der GRE-Schnittstelle.
vEdge# show running-config vpn 0 interface gre* | details
vpn 0
interface gre1
description "Primary ZEN"
ip address <ip/mask>
keepalive 0 0
tunnel-source
tunnel-destination
no clear-dont-fragment
mtu 1500
tcp-mss-adjust 1300
no shutdown
!
Eine GRE-Schnittstelle, die UP/Down ist, wird als UP/UP (durch Übergeben der KA-Prüfung) angezeigt.
Sehen Sie, der TX-Zähler erhöht sich, wenn KA ausgeschaltet ist. Dies bedeutet, dass vEdge die Pakete über TX abdeckt, aber die Zunahme des RX-Zählers, der auf ein Remote-Problem hinweist, wird nicht angezeigt.
vEdge# show interface gre*
IF IF TCP
ADMIN OPER ENCAP PORT SPEED MSS RX TX
VPN INTERFACE IP ADDRESS STATUS STATUS TYPE TYPE MTU HWADDR MBPS DUPLEX ADJUST UPTIME PACKETS PACKETS
---------------------------------------------------------------------------------------------------------------------------------------------------
### With KA ON
0 gre1 192.0.2.1/30 Up Down null service 1500 cb:eb:98:02:00:00 - - 1300 - 413218129 319299248
### With KA OFF
0 gre1 192.0.2.1/30 Up Up null service 1500 cb:eb:98:02:00:00 100 half 1300 0:00:01:19 413218129 319299280