目录

简介

背景信息

方法

实践

简介

本文档介绍如何对SD-WAN环境中的通用路由封装(GRE)接口问题进行故障排除。

背景信息

在Cisco Viptela解决方案中，GRE接口的使用案例包括：

- 通过vSmart Data-Policy或本地将流量发送到ZScaler(HTTP-Proxy)。

- 主服务GRE接口，默认备份到数据中心。

- 服务链

有时，GRE接口可能未打开和/或无法工作。

在这些情况下，检查

- GRE接口通过：show interface gre*处于up/up状态

- GRE Keepalive通过：show tunnel gre-keepalives

方法

如果存在问题，请配置访问控制列表（ACL或访问列表），以查看GRE(47)数据包是否传出/传入。

您无法通过TCP转储看到GRE数据包，因为数据包是由快速路径生成的。

有时，由于网络地址转换(NAT),GRE Keepalive可能会被丢弃。在这种情况下，请禁用keepalive并查看隧道是否启动。

此外，如果GRE隧道持续摆动并禁用keepalive，这会使接口保持打开/打开状态。

但是，这有一个缺点，即如果存在合法问题，则很难发现GRE不起作用。

请参阅此处的文档，其中显示了一个示例。

这是工作GRE接口配置

在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服务端

vpn

service FW interface gre1 gre2

在基于vEdge路由的思科SD-WAN解决方案中，GRE接口作为主用 — 备用接口而非主用 — 主用接口工作。

在任何给定时间，只有GRE接口处于Up/Up状态。

实践

为访问列表创建策略

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#

创建计数器gre-in和gre-out，然后您需要将ACL应用到接口（我们的隧道在ge0/0上运行）。

上述ACL可以与物理接口的源地址和GRE终端的目的地址一起应用。

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#

现在，您可以看到GRE数据包的进出计数器，因为这些计数器在快速路径中，无法通过tcpdump实用程序看到。

vEdge# show policy access-list-counters

COUNTER

NAME     NAME     PACKETS  BYTES

----------------------------------

GRE-In   gre-in   176      10736

GRE-Out  gre-out  88       2112

vEdge#

这是我们的GRE隧道。

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#

您可以通过show app cflowd flows命令验证流量是否在GRE接口上。

以下示例显示双向流量（来自入口和出口）：

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

在GRE接口上禁用keepalive(KA)的示例：

默认KA为10（hello间隔）和3（容差）

0的KA会禁用GRE接口上的KA。

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

!

UP/Down的GRE接口显示为UP/UP（通过KA检查）。

请参阅，当KA关闭时TX计数器增加时。  这意味着，vEdge是发送数据包，但您看不到RX计数器的增加，这指向远程问题。

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