听说99%的网工都来这里充电
本文针对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接口可以分为两种类型:
GRE隧道的Keepalive功能,在业务模块选择承载隧道时,可防止选择对端不可达的GRE隧道,避免造成数据丢失,保证数据传输的可靠性。
Keepalive功能开启后,会周期地发送Keepalive探测报文给对端,若对端可达,则源端会收到对端的回应报文;若在指定的重传次数后仍没有收到对端的回应报文,就认为对端不可达,源端将关闭隧道链接。
Keepalive功能是单向的,如果希望两端设备都具备Keepalive功能,需要在两端都使能。对端设备是否支持Keepalive功能不影响本端的Keepalive功能使用。
绑定GRE的Tunnel接口状态为Down。
如果GRE的Tunnel接口Down,可以通过查看配置和设备路由信息两方面来考虑。
Tunnel接口Down需分两步处理:
查看接口物理状态,如果物理状态为Down,可以如图1GRE Tunnel接口物理Down分析流程所示操作。
物理端口Up后,如果协议状态仍然为Down,可以如图2GRE 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接口是否配置源地址(源接口)、目的地址。
三维口模式下需要排查配置的接口是否有指定业务处理板,指定的业务处理板的槽位号是否与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
如果上述检查均无问题,或处理结束后故障仍然无法排除,请联系技术支持工程师。
请检查确认两端设备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接口的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
联系客服