目录

简介

先决条件

要求

使用的组件

规则

主要故障排除流程图

邻居检查

再分布检查

路由检查

邻居抖动的原因

未识别 EIGRP 邻居

相关信息

简介

本文档提供了与增强型内部网关路由协议 (EIGRP) 相关的常见问题的故障排除信息。 如需更多信息或转到下一个流程图，请参阅本部分提供的链接。

如果有来自 Cisco 设备的 show interfaces serial、show ip eigrp neighbors、show tech-support 或 show ip eigrp topology 命令的输出，则可以使用命令输出解释程序（仅限注册用户）显示潜在问题和修复方法。

要使用命令输出解释程序，您必须是 注册用户、已登录并启用 JavaScript。

先决条件

要求

本文档读者应十分了解 EIGRP 的工作原理并掌握配置 EIGRP 的知识。

使用的组件

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

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

规则

有关文件规则的更多信息请参见“ Cisco技术提示规则”。

主要故障排除流程图

要对 EIGRP 进行故障排除，请使用以下流程图（从标记为 Main 的框开始）。根据症状，流程图可能是指本文档稍后部分的三个流程图之一，也可能是指 Cisco.com 上的其他相关文档。有些问题在此可能无法解决。在这些情况下，文档提供指向 Cisco 技术支持的链接。要打开服务请求，必须有有效的服务合同。

邻居检查

注意：如果无法在邻居之间成功ping通，请运行debug ip packet命令以验证hello是否发送到组播地址224.0.0.10。

注意：例如：

R1#debug ip packet

IP packet debugging is on

R1#

*Mar  1 00:10:54.643: IP: s=10.10.10.1 (local), d=224.0.0.10 (FastEthernet0/0), len 60, sending broad/multicast

R1#

*Mar  1 00:10:58.611: IP: s=10.10.10.2 (FastEthernet0/0), d=224.0.0.10, len 60, rcvd 2

!--- Indicates that the hello packets are sent to 224.0.0.10.

流程图注释

1

发出 show ip eigrp interface 命令进行验证。

2

发出 show interface serial 命令进行验证。

注意：如果在GRE接口隧道中遇到EIGRP抖动问题，则可能必须在GRE隧道两端配置keepalive 10 3和ip tcp adjust-mss 1400命令。。

流程图注释

3

发出 show ip interface 命令进行验证。

再分布检查

流程图注释

4

发出 show ip eigrp topology net mask 命令进行验证。

路由检查

流程图注释

5

发出 show ip route eigrp 命令进行验证。

6

发出 show ip eigrp topology 命令进行验证。如果在拓扑表中看不到路由，请发出 clear ip eigrp topology 命令。

流程图注释

7

发出 show ip eigrp topology net mask 命令以查找路由器 ID (RID)。 在本地生成的外部路由器上使用同一个命令可以找到本地 RID。在 Cisco IOS 软件版本 12.1 和更高版本中，show ip eigrp topology 命令用于显示 RID。

邻居抖动的原因

邻居关系的稳定性是首要关注问题。邻居关系的故障会伴随 CPU 和带宽利用率的增加。EIGRP 邻居可能发生抖动的原因如下：

- 基础链路抖动。当某个接口关闭时，EIGRP 将关闭通过该接口可到达的邻居，并对通过该邻居获知的所有路由进行泛洪。

- hello 间隔和保持间隔配置错误。如果发出 ip hold-time eigrp 命令，则可以独立于 hello 间隔单独设置 EIGRP 保持间隔。如果设置的保持间隔小于 hello 间隔，则会导致邻居不断抖动。Cisco 建议保持时间至少为 hello 间隔的三倍。如果设置的值少于 hello 间隔乘以 3，则有可能发生链路抖动或邻居抖动。

R1(config-if)#ip hello-interval eigrp 1 30

R1(config-if)#ip hold-time eigrp 1 90

- hello 数据包丢失：在过于阻塞或容易出错的链路（CRC 错误、帧错误或额外冲突）中可能会丢失 hello 数据包。

- 存在单向链路。单向链路中的路由器可能能够接收 hello 数据包，但另一端无法收到发出的 hello 数据包。存在这种状态的表现通常是一端的消息超过重试次数限制。如果生成超过重试次数限制的消息的路由器必须形成邻居关系，请将链路设置为用于单播和多播的双向链路。确保对接口进行正确通告以应对拓扑中使用隧道接口的情况。

- 路由进入停滞在活动状态。当路由器进入停滞在活动状态时，将重新初始化预期回复的邻居，路由器在通过这些邻居获知的所有路由中变为活动状态。

- 为 EIGRP 进程提供的带宽不足。当提供的带宽不足时，可能会丢失数据包，从而导致邻居关闭。

- 串行线路出错。

- 带宽语句设置不正确。

- 单向多播流量。

- 路由处于停滞在活动状态。

- 查询风暴。

未识别 EIGRP 邻居

如果分支中存在不正确的 NHRP 关联，则不会通过多点 GRE 隧道建立 EIGRP 邻居关系。下一跳解析协议(NHRP)用于发现连接到非广播多路访问(NBMA)网络的路由器后面的其它路由器和网络的地址。如果 Eigrp 下某个网络语句涵盖物理接口和隧道接口（隧道接口 IP 地址和物理接口 IP 地址属于同一主类），而且物理接口是隧道的来源，那么必须在 Eigrp 中分别对这两个接口进行通告以免 DMVPN 出现问题。最佳实践是使用特定子网通告对接口进行通告。

当您使用以下命令清除 NHRP 关联时，可以解决此问题：

Router#clear ip nhrp

相关信息

- EIGRP 技术支持页

- EEM脚本，用于在邻居摆动时获取EIGRP验证命令

- 技术支持和文档 - Cisco Systems