Inhalt

Einführung

Hintergrundinformationen

Methodik

Übung

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