目录

简介

先决条件

要求

使用的组件

规则

网络图

配置

观察

故障排除

解决方案

%警告：Feature not supported in hardware.Tunnel packets will be software switched

OSPF hello数据包由路由器通过GRE隧道发送，但它未到达隧道的另一端。

解决方案

相关信息

简介

%TUN-5-RECURDOWN:由于递归路由错误消息，Tunnel0暂时被禁用，这意味着通用路由封装(GRE)隧道路由器已发现递归路由问题。此情况通常由以下原因之一引起：

- 错误配置，导致路由器尝试使用隧道接口本身路由到隧道目的地址（递归路由）

- 由于路由在网络中其他位置摆动而导致的暂时不稳定

隧道接口状态取决于隧道目的地的 IP 可达性。当路由器检测到隧道目的地的递归路由故障时，将关闭隧道接口几分钟，以便路由协议聚合时自行解决导致问题的状况。如果问题是由配置错误引起的，则链路可以无限振荡。

当邻接路由均在GRE通道时，该问题的另一种症状是继续抖动增强的内部网关路由协议(EIGRP)、开放式最短路径优先（OSPF）或边界网关协议(BGP)邻接路由。

本文显示了排除运行EIGRP的隧道接口摆动故障的示例。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档不限于特定的软件或硬件版本。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息，请参阅 Cisco 技术提示规则。

网络图

路由器 1 (R1) 和路由器 3 (R3) 连接到路由器 2 (R2)。 网络连通性是这样的：R1 能通过 R2 到达 R3 的回环接口，反之亦然。EIGRP在R1和R3的隧道接口上运行。R2不属于EIGRP域。

配置

- R1

- R3

R1

hostname R1

!

interface Loopback0

ip address 10.1.1.1 255.255.255.0

!

interface Tunnel0

ip address 192.168.1.1 255.255.255.0

tunnel source Loopback0

tunnel destination 10.3.3.3

!

interface Serial0

ip address 172.16.15.1 255.255.255.0

encapsulation ppp

!

router eigrp 1

network 10.1.1.0 0.0.0.255

network 192.168.1.0

no auto-summary

!

ip route 0.0.0.0 0.0.0.0 172.16.15.2

R3

hostname R3

!

interface Loopback0

ip address 10.3.3.3 255.255.255.0

!

interface Tunnel0

ip address 192.168.1.3 255.255.255.0

tunnel source Loopback0

tunnel destination 10.1.1.1

!

interface Serial1

ip address 172.16.25.3 255.255.255.0

!

router eigrp 1

network 10.3.3.0 0.0.0.255

network 192.168.1.0

no auto-summary

!

ip route 0.0.0.0 0.0.0.0 172.16.25.2

观察

观察R1和R3上的这些错误消息。隧道接口的状态在上下之间持续振荡。

01:11:39: %LINEPROTO-5-UPDOWN:

Line protocol on Interface Tunnel0, changed state to up

01:11:48: %TUN-5-RECURDOWN:

Tunnel0 temporarily disabled due to recursive routing

01:11:49: %LINEPROTO-5-UPDOWN:

Line protocol on Interface Tunnel0, changed state to down

01:12:49: %LINEPROTO-5-UPDOWN:

Line protocol on Interface Tunnel0, changed state to up

01:12:58: %TUN-5-RECURDOWN:

Tunnel0 temporarily disabled due to recursive routing

01:12:59: %LINEPROTO-5-UPDOWN:

Line protocol on Interface Tunnel0, changed state to down

注：上一输出示例的每行带时间戳时，都会显示在实际输出的一行上。

故障排除

这是在隧道接口启动之前到R1上隧道目标10.3.3.3的路由：

R1# show ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area

* - candidate default, U - per-user static route, o - ODR

P - periodic downloaded static route

Gateway of last resort is 172.16.15.2 to network 0.0.0.0

172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks

C       172.16.15.2/32 is directly connected, Serial0

C       172.16.15.0/24 is directly connected, Serial0

10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, Loopback0

S*   0.0.0.0/0 [1/0] via 172.16.15.2

隧道目的地 10.3.3.3 通过 172.16.15.2（系列 0）获得默认路由。

现在，观察隧道接口打开后的路由表，如下所示：

R1# show ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area

* - candidate default, U - per-user static route, o - ODR

P - periodic downloaded static route

Gateway of last resort is 172.16.15.2 to network 0.0.0.0

172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks

D       172.16.25.0/24 [90/297756416] via 192.168.1.3, 00:00:00, Tunnel0

C       172.16.15.2/32 is directly connected, Serial0

C       172.16.15.0/24 is directly connected, Serial0

10.0.0.0/24 is subnetted, 2 subnets

D       10.3.3.0 [90/297372416] via 192.168.1.3, 00:00:00, Tunnel0

C       10.1.1.0 is directly connected, Loopback0

C    192.168.1.0/24 is directly connected, Tunnel0

S*   0.0.0.0/0 [1/0] via 172.16.15.2

对隧道目的地 10.3.3.3 的路由通过 EIGRP 获知，其下一跳是接口隧道 0。

在这种情况下，到隧道目的地的最佳路径是通过隧道接口；但是，这会发生：

1. 数据包在隧道接口的输出队列中排队。

2. 隧道接口添加一个GRE报头到信息包，按照隧道接口的目的地地址指定的传输协议，进行信息包排队。

3. IP查找到目的地地址的路由，并且获悉该路由通过隧道接口，将数据包返回到上述步骤1；因此，存在递归路由环路。

解决方案

为 R1 和 R3 的隧道目的地配置静态路由。

R1(config)# ip route 10.3.3.3 255.255.255.255  serial 0

R3(config)# ip route 10.1.1.1 255.255.255.255 serial 1

现在，观察 R1 的 IP 路由，如下所示。

R1# show ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area

* - candidate default, U - per-user static route, o - ODR

P - periodic downloaded static route

Gateway of last resort is 172.16.15.2 to network 0.0.0.0

172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks

D       172.16.25.0/24 [90/297756416] via 192.168.1.3, 00:01:08, Tunnel0

C       172.16.15.2/32 is directly connected, Serial0

C       172.16.15.0/24 is directly connected, Serial0

10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks

S       10.3.3.3/32 is directly connected, Serial0

D       10.3.3.0/24 [90/297372416] via 192.168.1.3, 00:01:08, Tunnel0

C       10.1.1.0/24 is directly connected, Loopback0

C    192.168.1.0/24 is directly connected, Tunnel0

S*   0.0.0.0/0 [1/0] via 172.16.15.2

更具体的静态路由(10.3.3.3/32)比不太具体的EIGRP学到的路由(10.3.3.0/24)对隧道目的地更适合。更具体的静态路由避免递归路由循环、隧道接口不稳定和EIGRP邻居不稳定情况。

R1# show interfaces tunnel 0

Tunnel0 is up, line protocol is up

Hardware is Tunnel

Internet address is 192.168.1.1/24

MTU 1514 bytes, BW 9 Kbit, DLY 500000 usec,

reliability 255/255, txload 1/255, rxload 1/255

Encapsulation TUNNEL, loopback not set

Keepalive set (10 sec)

Tunnel source 10.1.1.1 (Loopback0), destination 10.3.3.3

%警告：Feature not supported in hardware.Tunnel packets will be software switched

使用同一环回或物理地址作为两个不同隧道的源时，会显示此消息。因此，每个数据包都会发送到处理器，而不是进行硬件交换。

对回环接口使用备用地址或使用多回环接口作为隧道源地址可以解决此问题。

OSPF hello数据包由路由器通过GRE隧道发送，但它未到达隧道的另一端。

在启用OSPF的网络中，路由器R1通过GRE隧道发送OSPF hello数据包，但路由器R3未收到该数据包。请使用debug ip ospf hello 命令调试hello事件。

R1#debug ip ospf hello

May 31 13:58:29.675 EDT: OSPF: Send hello to 224.0.0.5 area 0.0.0.12 on Tunnel0 from 192.168.1.1

May 31 13:58:39.675 EDT: OSPF: Send hello to 224.0.0.5 area 0.0.0.12 on Tunnel0 from 192.168.1.1

May 31 13:58:49.675 EDT: OSPF: Send hello to 224.0.0.5 area 0.0.0.12 on Tunnel0 from 192.168.1.1

R3#debug ip ospf hello

May 31 15:02:07 ADT: OSPF: Send hello to 224.0.0.5 area 0.0.0.12 on Tunnel0 from 192.168.1.3

May 31 15:02:09 ADT: OSPF: Rcv hello from 172.16.15.1 area 0.0.0.12 from Tunnel0 192.168.1.1

May 31 15:02:09 ADT: OSPF: Send immediate hello to nbr 172.16.15.3, src address 192.168.1.3, on Tunnel0

May 31 15:02:09 ADT: OSPF: Send hello to 224.0.0.5 area 0.0.0.12 on Tunnel0 from 192.168.1.3

!--- The previous output shows that the hello packets !--- re sent by R1 but not received by R3.

解决方案

在两台路由器的接口隧道10上配置tunnel key命令。此命令在GRE上启用组播。

相关信息

- 使用 GRE 隧道时为什么不能访问互联网？

- 增强的内部网关路由选择协议 (EIGRP) 技术支持