一、故障现象
发现本端路由器R1 ping 对端R2路由器的GRE接口地址可以通。但是,ping对端业务地址不通。
二、组网拓扑

拓扑描述:
R1和R2通过运营商环境建立GRE隧道实现两端业务地址192.168.10.1到192.168.20.1的访问
三、可能原因
1.跨GRE路由配置缺失/错误;
2.路由器访问本地的内网路由配置缺失/错误;
3.路由器配置了ACL过滤;
4.接收端路由器内网没有回包
四、排查步骤
步骤一:检查是否存在ping对端业务地址不通的情况
如下图,GRE隧道成功建立,R1上可以ping通对端GRE地址12.12.12.2,但是本端的192.168.10.1无法通过GRE隧道ping通192.168.20.1


步骤二:跨GRE路由配置缺失/错误
R1上通过【show ip route 192.168.20.1】,查看去往192.168.20.1的路由是否走该GRE接口或下一跳是否是对端GRE接口地址。只有这样,R1访问192.168.20.1流量才会走GRE隧道。
R2上通过【show ip route 192.168.10.1】,查看去往192.168.10.1的路由是否走该GRE接口或下一跳是否是对端GRE接口地址。只有这样,R2访问目标192.168.10.1才会走GRE隧道。
若没有相应路由,将会如下图显示——

此时可新增去往对端的路由从对应的GRE接口发出去——
R1配置去往对端的路由 R1#conf R1(config)#ip route 192.168.20.0 255.255.255.0 tunnel 0 //新增去往对端业务段的路由走对应GRE接口 R1(config)#end R1#wr //保存配置,保存成功会提示OK R2配置去往对端的路由 R2#conf R2(config)#ip route 192.168.10.0 255.255.255.0 tunnel 0 //新增去往对端业务段的路由走对应GRE接口 R2(config)#end R2#wr //保存配置,保存成功会提示OK
再次检查是否路由有配置成功——


步骤三:检查路由器访问本地的内网路由配置是否缺失/错误
在两端路由器上,通过【show ip route】,确认对端要跨GRE通过本端路由器访问的目标IP,在本端路由器上是否存在正确的路由——


如发现缺失相应的目标路由,则需在本地配置正确的静态/默认路由解决。若实际有配置这样的路由,但是show ip route不显示,需检查连接下一跳的接口是否down,排查线路等环境问题。。
步骤四:检查路由器是否配置了ACL过滤导致不通
在两端路由器上,通过【show run | in ip fpm session filter】和【show access-group】中是否有ACL过滤,并通过【show access-list】检查是否有相关ACL条目过滤了业务流量;
如发现相应互访流量被过滤,则需要放通对应流量。
步骤五:检查接收端路由器内网是否没有回包
发起端持续ping不通的流量,在接收端路由器通过show ip f f | in 2048查看ping的流表收发情况

假如接收端显示(0.0.0.0),表示该流量的目标IP 192.168.20.2没有arp,可能是网线问题或者192.168.20.2没有开机或不存在;
假如接收端不显示(0.0.0.0),倒数第二列为0,代表接收端内网没有回包。接收端内网没有回包有三种可能,需检查解决:①接收端内网没有回包路由;②接收端内网有安全设备过滤了;③访问的目标IP的设备防火墙过滤了
五、信息收集
信息收集命令参考——
ter len 0
show ver
show slot
show ver slot
show run
show log
show cpu
show memory
show ip fpm count
show ip fpm st
show ip route
show ip ref route
show ip ref adj
show ip route summary
show arp
show ip int brief
show interface
show ip f f f 47 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
show ip f f f 1 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
ter no len
六、总结与建议
对端GRE地址ping不通,需注意以下几点:
1.跨GRE路由配置缺失/错误;
2.路由器访问本地的内网路由配置缺失/错误;
3.路由器配置了ACL过滤;
4.接收端路由器内网没有回包