打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
关于GRE的常见故障处理,看完这篇就够了!

听说99%的网工都来这里充电

  • 简介
  • 了解GRE
  • GRE隧道不Up故障定位
  • GRE业务不通故障定位
  • 故障总结

简介

本文针对GRE常见的故障,说明故障处理流程和详细的故障处理步骤。

了解GRE

GRE(Generic Routing Encapsulation,通用路由封装)可以对某些网络层协议(如IPX、ATM、 IPv6、AppleTalk等)的数据报文进行封装,使这些被封装的数据报文能够在IPv4网络中传输。GRE提供了将一种协议的报文封装在另一种协议报文中的机制,使报文能够在异种网路中传输,而异种报文传输的通道称为Tunnel。

如图1 GRE组网图所示,group1和group2是运行Novell IPX的非骨干网,term1和term2是运行IPv6的非骨干网,中间的骨干网使用的是IPv4网络。为了实现group1和group2、term1和term2通过骨干网传输数据,可以在DeviceA和DeviceB之间采用GRE协议建立隧道,当数据报文从group1或term1发送至DeviceA后,将会被封装在一个GRE数据包中,所得的GRE数据包可以封装在IPv4协议中,然后被转发。

图1-1 GRE组网图

GRE隧道根据Tunnel接口可以分为两种类型:

  • 一维Tunnel接口的GRE隧道,也可称为分布式GRE,GRE隧道报文直接在入接口板上进行封装和解封装处理。同时配置复杂流分类、CAR等业务时,可能会出现业务占用带宽翻倍的问题。
  • 三维Tunnel接口的GRE隧道,也可称为集中式GRE,GRE隧道报文集中在一块业务处理板上进行封装和解封装。

GRE隧道Keepalive功能

GRE隧道的Keepalive功能,在业务模块选择承载隧道时,可防止选择对端不可达的GRE隧道,避免造成数据丢失,保证数据传输的可靠性。

Keepalive功能开启后,会周期地发送Keepalive探测报文给对端,若对端可达,则源端会收到对端的回应报文;若在指定的重传次数后仍没有收到对端的回应报文,就认为对端不可达,源端将关闭隧道链接。

Keepalive功能是单向的,如果希望两端设备都具备Keepalive功能,需要在两端都使能。对端设备是否支持Keepalive功能不影响本端的Keepalive功能使用。

GRE隧道不Up故障定位

故障现象

绑定GRE的Tunnel接口状态为Down。

故障处理流程

如果GRE的Tunnel接口Down,可以通过查看配置和设备路由信息两方面来考虑。

Tunnel接口Down需分两步处理:

  • 查看接口物理状态,如果物理状态为Down,可以如图1GRE Tunnel接口物理Down分析流程所示操作。

  • 物理端口Up后,如果协议状态仍然为Down,可以如图2GRE Tunnel接口协议Down分析流程所示操作。


图1-2 GRE Tunnel接口物理Down分析流程


图1-3 GRE Tunnel接口协议Down分析流程

故障处理步骤

执行命令display interface tunnel [ interface-number ]查看Tunnel接口状态。若接口物理状态Down请查看第2步,若接口物理状态为Up同时协议状态为Down请直接查看第3步。

接口物理Up是协议Up的基础,所以不会出现接口物理状态Down,同时协议状态Up的情况。

<HUAWEI> display interface Tunnel 1
Tunnel1 current state : UP (ifindex: 28)         //端口物理状态
Line protocol current state : UP                 //端口协议状态
Last line protocol up time : 2021-11-03 10:06:42
Description:
Route Port,The Maximum Transmit Unit is 1500
Internet Address is 172.22.1.1/24                                 // Tunnel接口的IP地址
Encapsulation is TUNNEL, loopback not set
Tunnel source 172.20.1.1 (Ethernet3/0/0), destination 172.20.1.2  //端口配置的源地址、目的地址
Tunnel protocol/transport GRE/IP, key disabled
keepalive disabled                                                //是否使能GRE的Keepalive功能
Checksumming of packets disabled
Current system time: 2021-11-03 10:06:44
    300 seconds input rate 0 bits/sec, 0 packets/sec
    300 seconds output rate 0 bits/sec, 0 packets/sec
    0 seconds input rate 0 bits/sec, 0 packets/sec
    0 seconds output rate 0 bits/sec, 0 packets/sec
    0 packets input,  0 bytes
    0 input error
    0 packets output,  0 bytes
    0 output error
    Input:
      Unicast: 0 packets, Multicast: 0 packets
    Output:
      Unicast: 0 packets, Multicast: 0 packets
    Input bandwidth utilization  :    0%
    Output bandwidth utilization :    0%

排查接口物理状态Down的原因。Tunnel接口物理状态为Down,通常情况下为本端配置问题,需要根据隧道接口下配置进行故障排查。

Tunnel接口的配置信息如下:


interface Tunnel1                    //一维口模式
 ip address 172.22.1.1 255.255.255.0 //Tunnel接口IP地址
 tunnel-protocol gre                 //Tunnel接口配置绑定GRE协议
 keepalive period 3                  //配置Keepalive功能
 source 172.20.1.1                   //Tunnel接口配置的源地址,也可配置为源端口模式source LoopBack1
 destination 172.20.1.2              //Tunnel接口配置的目的地址
#

排查Tunnel接口是否配置源地址(源接口)、目的地址。

  • 如没有配置源地址(源接口),需要配置命令sourceip-addressifName | ifType ifNum;
  • 如没有配置目的地址,需要配置命令destination [ vpn-instance vpn-instance-name ] ip-address。

三维口模式下需要排查配置的接口是否有指定业务处理板,指定的业务处理板的槽位号是否与Tunnel接口的第一维参数相同。

!! 三维Tunnel接口格式参考:interface Tunnel1/0/0。此处1表示tunnel接口的第一维参数。

绑定GRE隧道的物理接口的配置信息参考:

<HUAWEI> system-view
[~HUAWEI] interface gigabitethernet 1/0/0 
[*HUAWEI-GigabitEthernet1/0/0] target-board 1
[*HUAWEI-GigabitEthernet1/0/0] binding tunnel gre
[*HUAWEI-GigabitEthernet1/0/0] commit

排查Tunnel接口是否有绑定GRE协议。如未绑定,需要通过配置命令tunnel-protocol gre绑定。

Tunnel接口配置了Keepalive功能,检测到隧道对端不可达。如果本端配置了Keepalive功能,需要确认对端是否部署了与本端相对应的GRE隧道,如果没有部署,请先执行命令 undo keepalive,然后查看端口物理状态是否Up,待对端隧道也配置,并且流量转发正常后再部署Keepalive功能。

可以使用display keepalive packets count命令查看GRE隧道接口发送给对端的Keepalive报文的数量和Keepalive响应报文的数量,根据报文统计信息判断对端隧道链接状态。通过reset keepalive packets count可以清理Keepalive报文统计信息。

<HUAWEI> system-view
[~HUAWEI] interface Tunnel 1
[*HUAWEI-Tunnel1] tunnel-protocol gre
[*HUAWEI-Tunnel1] commit
[~HUAWEI-Tunnel1] display keepalive packets count 
Send 0 keepalive packets to peers, Receive 0 keepalive response packets from peers 
Receive 0 keepalive packets from peers, Send 0 keepalive response packets to peers.

如果上述检查均无问题,或处理结束后故障仍然无法排除,请联系技术支持工程师。排查接口协议状态Down的原因。排查Tunnel接口是否配置了IP地址。如果没有配置IP地址,请根据网络设计部署IP地址。

排查Tunnel接口配置的目的地址是否可达。通过命令display ip routing-table查看路由表,排查是否有配置的destination的路由,如果没有请先排查路由部署。

举例的隧道两端地址source、destination为同一网段,有直连路由信息,若不在同一网段,可以通过OSPF建立动态路由。

<HUAWEI> display ip routing-table
Route Flags: R - relay, D - download to fib, T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
Routing Table : _public_
         Destinations : 11       Routes : 11

Destination/Mask    Proto   Pre  Cost        Flags NextHop         Interface

      127.0.0.0/8   Direct  0    0             D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0             D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0             D   127.0.0.1       InLoopBack0
     172.20.1.0/24 Direct  0    0             D   172.20.1.1      Ethernet3/0/0
     172.20.1.1/32  Direct  0    0             D   127.0.0.1       Ethernet3/0/0
   172.20.1.255/32  Direct  0    0             D   127.0.0.1       Ethernet3/0/0
     172.22.1.0/24  Direct  0    0             D   172.22.1.1      Tunnel1
     172.22.1.1/32  Direct  0    0             D   127.0.0.1       Tunnel1
   172.22.1.255/32  Direct  0    0             D   127.0.0.1       Tunnel1
255.255.255.255/32  Direct  0    0             D   127.0.0.1       InLoopBack0

如果上述检查均无问题,或处理结束后故障仍然无法排除,请联系技术支持工程师。

GRE业务不通故障定位

前提条件

请检查确认两端设备Tunnel接口的协议均为Up。

故障现象

无法Ping通对端Tunnel接口IP地址。

故障处理步骤

检查两端的GRE Key的配置是否一致。执行命令行display interface tunnel查看Tunnel信息。

<HUAWEI> display interface Tunnel 1
Tunnel1 current state : UP (ifindex: 28)         //端口物理状态
......
Tunnel protocol/transport GRE/IP, key disabled                    //是否配置key
keepalive disabled                                                 //是否使能GRE的Keepalive功能
Checksumming of packets disabled
......(来源:网络工程师 阿 龙编辑)

正确配置为:

  • 两端设备Tunnel接口key均为disabled;
  • 两端设备Tunnel接口key均为enabled,且Tunnel接口下配置的GRE Key值相同;

检查两端设备Tunnel接口的IP地址是否在同一个网段,如果不在同一个网段,建议修改为同一网段。如果有场景接口IP地址不能修改,可以通过配置静态路由,使本端设备有到对端Tunnel接口IP地址的路由。

#DeviceA

#(来源:网络工程师 阿 龙编辑)
interface Tunnel1
 ip address 172.22.1.1 255.255.255.0
 tunnel-protocol gre
 source 172.20.1.1
 destination 172.20.1.2
#

#DeviceB

#
interface Tunnel1
 ip address 172.22.2.2 255.255.255.0
 tunnel-protocol gre
 source 172.20.1.2
 destination 172.20.1.1
#

#Tunnel接口地址互ping不通

[~DeviceA] ping -a 172.22.1.1 172.22.2.2
  PING 172.22.2.2: 56  data bytes, press CTRL_C to break
    Request time out
    Request time out
    Request time out

修改DeviceB的隧道接口IP地址:

<DeviceB> system-view
[~DeviceB] interface Tunnel 1
[~DeviceB-Tunnel1] ip address 172.22.1.2 24
[*DeviceB-Tunnel1] commit(来源:网络工程师 阿 龙编辑)

#Tunnel接口地址互ping


[~DeviceA] ping -a 172.22.1.1 172.22.1.2
  PING 172.22.1.2: 56  data bytes, press CTRL_C to break
    Reply from 172.22.1.2: bytes=56 Sequence=1 ttl=255 time=13 ms
    Reply from 172.22.1.2: bytes=56 Sequence=1 ttl=255 time=9 ms
    Reply from 172.22.1.2: bytes=56 Sequence=1 ttl=255 time=10 ms
    Reply from 172.22.1.2: bytes=56 Sequence=1 ttl=255 time=9 ms
    Reply from 172.22.1.2: bytes=56 Sequence=1 ttl=255 time=10 ms

  --- 172.22.1.2 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 9/10/13 ms

隧道两侧配置静态路由:

[~DeviceA] ip route-static 172.22.2.0 24 Tunnel 1
[~DeviceB] ip route-static 172.22.1.0 24 Tunnel 1

#Tunnel接口地址互ping

[~DeviceA] ping -a 172.22.1.1 172.22.2.2
  PING 172.22.2.2: 56  data bytes, press CTRL_C to break
    Reply from 172.22.2.2: bytes=56 Sequence=1 ttl=255 time=13 ms
    Reply from 172.22.2.2: bytes=56 Sequence=2 ttl=255 time=11 ms
    Reply from 172.22.2.2: bytes=56 Sequence=3 ttl=255 time=8 ms
    Reply from 172.22.2.2: bytes=56 Sequence=4 ttl=255 time=11 ms
    Reply from 172.22.2.2: bytes=56 Sequence=5 ttl=255 time=8 ms

  --- 172.22.2.2 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
[~DeviceA] ping -a 172.22.1.1 172.22.2.2
  PING 172.22.2.2: 56  data bytes, press CTRL_C to break
    Reply from 172.22.2.2: bytes=56 Sequence=1 ttl=255 time=13 ms
    Reply from 172.22.2.2: bytes=56 Sequence=2 ttl=255 time=11 ms
    Reply from 172.22.2.2: bytes=56 Sequence=3 ttl=255 time=8 ms
    Reply from 172.22.2.2: bytes=56 Sequence=4 ttl=255 time=11 ms
    Reply from 172.22.2.2: bytes=56 Sequence=5 ttl=255 time=8 ms

  --- 172.22.2.2 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss(来源:网络工程师 阿 龙编辑)
    round-trip min/avg/max = 8/10/13 ms
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
公司与机房的GRE隧道配置实例
连接两个专用网络的简单GRE隧道
GRE 简述(为cisco路由器配置GRE隧道举例)
华为路由器配置简单NAT实例
OSPF基础配置
H3C交换机配置-如何实现两个网段主机与外部通信
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服