一 静态路由故障
1. 静态路由和有类别查找
当路由选择表进程检查一条使用中间地址(路由选择表中作为下一跳引用的 IP 地址)的可解析的静态路由时,这个检查总是在有类别方式下完成的,无论是否使用 ip classless 命令如果在路由选择表中有类别方式下的中间地址不能解析,则删除该静态路由。
使用 show ip route 查看路由选择表。
使用 debug 可以显示某个网络宕掉了。
如果使用无类别方式并有一条默认路由存在,那么具有高管理距离的备份表态路由将永远不会在主静态路由失效时装入到路由选择表中。这是因为任何静态路由,即便是指向不存在的中间地址的静态路由,都会使用默认路由进行解析。
CISCO 路由选择表进程每 60S 调用一个检查路由选择表的静态路由功能来根据动态变化的路由选择表安装或删除静态路由。
2. 静态路由和中间地址
静态路由可以使用中间网络地址或出接口来创建。大多数情况下,使用出接口在路由选择表进程中解析静态路由更加有效。
只要中间 IP 地址可以在路由选择表中解析,它不必是真实的下一跳路由器的接口。静态网络路由(如中间地址)必须最终被解析为路由选择表中一条具有出接口的路由。
每当路由选择表进程需要为 x.x.x.0/24 网络使用静态路由表项时,它还需要解析中间地址 y.y.y.y ,称为递归查找。一次额外的路由查找或许对路由选择进程的性能没有多少影响。但是,采取多次递归查找来获得解析的静态路由可能会影响性能。
3. 静态路由优化
为避免递归查找: 串行网络:使用出接口
以太网络:同时使用中间地址和出接口
4. 反复的静态路由安装和删除
尽可能地使用出接口而不是中间地址来配置静态路由。
5. 使用丢弃路由
有时网络中有环路的产生。通过周期性的查看路由器接口上的计数器可以看到路由选择环路的结果。
clear counters serial0/0
show interface serial0/0
路由环路的问题在网络中产生了一个黑洞。一旦 IP 头中的生存期( TTL )减到 0 就丢弃分组。
解决 1 :有类别模式的路由选择( no ip classless ) —— 在用户网络路由器上使用 no ip classless. 路由器在至少一个已知子网存在时不会使用任何超网或默认路由。但不是首选。因为它改变了所有分组的路由选择表查找行为。
解决 2 :使用一条丢弃路由 —— 当路由选择表中没有特定的匹配,而且使用一条超网或默认路由来转发那些分组并不合适时,一条丢弃路由把分组送给了 null0 ,即比特桶。
ip route x.x.0.0 255.255.0.0 null0
ip route x.x.0.0 255.255.0.0 null0 200
后一个命令行配置仅在主路由失效时使用的另一条丢弃路由。通过将静态路由的默认管理距离改为比所使用的动态路由选择协议的管理距离更高的一个值来实现。
二 排除RIP故障
1. 不兼容的版本类型
debug ip rip
show ip protocols 对检查接口上发送和接收的 RIP 分组版本十分有用。
如果 R1 不支持 V2 的版本,只能接收 RIPv1 分组,那么 R2 配置成 RIPv1 和 RIPv2.
可在接口级指定发送和接收 RIP 分组的特定版本
interface e0
ip rip send version 1 2
ip rip receive version 1 2
2. 不匹配的认证密钥
RIPv2 的一个选项是可以认证的 RIPv2 更新,为了增强安全性,当使用认证时,必须在双方配置口令。这个口令被称为认证密钥。如果这一密钥与另一方的密钥不匹配,双方都将忽略 RIPv2 更新。
在接口上配置 ip rip authentication key-chain cisco
用 debug ip rip 调试。
3. 达到 RIP 的路数限制
RIP 度量标准的最大值是 15 跳。
无法克服这个问题。可以使用非 15 跳限制的路由选择协议。 IGRP 最大跳数是 255 , EIGRP 最大跳数是 224 ,二者默认都是 100.
4. 不连续网络
当主网络被另一个主网络分隔开时,被称为不连续网络。
解决 1 :使用静态路由
解决 2 :在路由器之间的链路地址改为左右不连续网络中的一部分。
解决 3 :在两台路由器上用 no auto-summary 配置启用 RIPv2 的无类别路由选择版本。
router rip
version 2
network x.x.x.0
no auto-summary
解决 4 :使用无类别路由选择协议。如 OSPF , EIGRP , IS-IS 替代 RIPv1 路由选择协议。
5. 不合法的源地址
当 RIP 告诉路由选择表安装路由时,它执行源合法性检查。如果源所在子网与本地接口不同, RIP 则忽略更新并且不在路由选择表中安装从这个源来的路由。
当一方是有编号而另一方是无编号时,必须关闭这个检查。
router rip
no validate-update-source
6. 翻动( flapping )路由
路由翻动是指路由选择表中一条路由的不断删除和再插入。为了检查路由是否真的翻动,检查路由选择表并查看路由的寿命( age )。如果寿命被不断的重置为 00 : 00 : 00 ,这就意味这路由正在翻动。
RIP 有 180S 没有收到一条路由,那么该路由将保持 240S ,然后被清除。
使用 show interface 来检查接口统计值。
最常见帧中继环境分组丢失。
使用 show ip route rip 可以检查 RIP 多久没有更新。
使用 show interface serial 0 可查看到接口上有大量的广播分组是否被丢弃。帧中继情况下,可能需要调整帧中继广播队列。在非帧中继的环境中,可能需要增加输入或输出保留队列。
7. 大型路由选择表
接口上使用 ip summary-address 汇总路由。
三 排除EIGRP故障
1. 不匹配的 K 值
EIGRP 为了建立它的邻居关系,计算 EIGRP 度量标准的 K 常数值必须相同。
K1- 带宽 K2- 负载 K3- 延迟 K4 , K5- 可靠性
router eigrp 1
network x.x.x.x
metric weights 0 1 1 1 1 0
2. 不匹配的 AS 编号
EIGRP 不会与具有不同自治系统编号的路由器形成任何邻居关系。
3. 活动粘滞
( 1 )确定问题
可能的原因有:
。 坏的或拥塞的链路;
。 低的路由器资源,如路由器上的低内存和高 CPU 处理。
。 长的查询范围
。 过多的冗余
默认活动粘滞定时器只有 180S.
使用 show ip eigrp topology active 命令帮助故障排除 EIGRP 活动粘滞错误,仅在问题发生时有用,用户一次只有 180S 的时间来确定。邻居有一个 r 跟在后面表示它没有应答查询。
( 2 )故障排除方法
追踪查询,一跳接一跳,在每一跳找出活动路由的状态。
( 3 )最终解决方案
尽可能手工汇总路由并有一个分层次的网络设计。 EIGRP 汇总的网络越多,主收敛发生时需要做的事情越少。
4. 重复的路由 ID
EIGRP 只是为了外部路由而使用路由器 ID 的概念来防止环路。 EIGRP 基于路由器上回环接口的最大 IP 地址来选择路由器 ID. 如果路由器没有回环接口,则选择所有接口中最大的激活 IP 地址作为 EIGRP 的路由器 ID.
debug ip eigrp 可以看到接口上通告某个网络。
经验法则:永远不要在网络的两个地方配置相同的 IP 地址。
四 排除OSPF故障
1. 不匹配的参数
使用 debug ip ospf adj 命令能够看到大多数的不匹配问题。
( 1 ) hello/dead 间隔不匹配 —— 匹配才可以形成邻居。
( 2 )不匹配的认证类型 ——OSPF 下有 MD5 和纯文本认证。
router ospf 1
area 0 authentication message-digest
network x.x.0.0 0.0.255.255 area 0
( 3 )不匹配的区域 ID—— 区域信息在 OSPF 的 HELLO 分组中发送。不同,不会形成邻接。
( 4 )不匹配的短截 / 传输 /NSSA 区域选项 —— 当 OSPF 与一个邻居交换 HELLO 分组时,它所交换的一项内容是由 8 比特表示的可选能力。选项字段之一是 E 比特,即 OSPF 短截标志。当 E 比特置 0 时,该路由关联的区域是一个短截区域,外部 LSA 不允许进入这个区域。
2.OSPF 状态问题
成为邻居的路由器不保证交换链路状态更新。一旦路由器决定与一个邻居形成邻接,它就开始交换其链路状态数据库的一份完整拷贝。
( 1 ) OSPF 陷入 ATTEMPT—— 仅对 neighbor 语句的 NBMA 网络有效。陷入 ATTEMPT 是指一台路由器试图通过发送它的 HELLO 来联系邻居但是它没有收到响应。
show ip ospf neighbor 查看。
原因:错误配置 neighbor ; NBMA 上的单播连通性断了,这可能是由错误的 DLCI ,访问列表或转换单播的 NAT 引起的。
( 2 ) OSPF 陷入 INIT——INIT 状态表示路由器收到来自邻居的 HELLO 分组,但是双向通信并没有建立 .
原因:
。 一方访问列表阻止了 HELLO ;
。 一方的多播能力失效(一个交换机故障);
。 仅在一方启用了认证;
。 一方的 frame-relay map/dialer map 语句缺少了 broadcast 关键字。
。 一方的 HELLO 在第 2 层丢失了。
( 3 ) OSPF 陷入 2-WAY—— 双向状态是指路由器在 HELLO 分组的邻居字段中见到了自己的路由器 ID. 类似于所有路由器的优先级都为 0 ,则不会发生选举,所有路由器停留在双向状态中。
解决:确保至少一台路由器具有一个至少为 1 的 IP OSPF 优先级。
( 4 ) OSPF 陷入 EXSTART/EXCHANGE—— 在 EXSTART 或 EXCHANGE 状态的 OSPF 邻居正处于尝试交换 DBD (数据库描述)分组的过程中。
原因:
。 不匹配的接口 MTU
。 邻居上重复的路由器 ID
。 无法用超过特定 MTU 长度进行 PING
。 断掉的单播连通性,它可能是因为错误的 DLCI ,访问列表或转换单播的 NAT
( 5 ) OSPF 陷入 LOADING—— 邻居没有应答或邻居的应答从未到达本地路由器,路由器也会陷入 LOADING 状态。常有 "%OSPF-4-BADLSA" 控制台信息。
原因:
。 不匹配的 MTU
。 错误的链路状态请求分组
3. 点到点链路的一方是无编号的
interface s0
ip unnumbered loopback0
解决:双方都需要成为一个有编号点到点链路或一个无编号点到点链路。
4.ABR 没有产生一个类型 4 的汇总 LSA
类型 4 的汇总 LSA 的一个功能是宣告到其他区域的 ASBR 的可达性。如果同一个区域中存在 ASBR 则不需要类型 4 的 LSA.
show ip ospf database external 命令的输出显示在路由器的外部 OSPF 数据库中是否存在路由。
show ip ospf database asbr-summary 命令的输出显示路由是否有类型 4 的 LSA.
检查 R 是否真是 ABR. 如果是,则产生类型 3 或类型 4 的汇总 LSA.show ip ospf
5. 转发地址不能通过区域内或区域间路由获知
当 OSPF 获得一条外部 LSA 时,它在将该路由装入路由选择表之前要确定转发地址可通过一条 OSPF 区域内或区域间路由获知。如果转发地址不能通过区域内或区域间路由获知, OSPF 不会将路由装入路由选择表中。
有可能的解决:
。 不在 ABR 上进行汇总
。 在 ASBR 上过滤再分布入 OSPF 中的直接子网
router ospf 1
redistribute rip subnets
6. 路由汇总问题
两种类型汇总:
。 可执行在 ABR 上的区域间路由汇总
。 可执行在 ASBR 上的外部路由汇总
( 1 )区域间汇总
router ospf 1
area 3 range x.x.x.0 255.255.255.0
通过 show ip ospf 可以查看
( 2 )外部汇总
router ospf 1
summary-address x.0.0.0 255.0.0.0
7.CPUHOG 问题
产生在:
。 邻居形成过程
。 LSA 刷新过程
8.SPF 计算和路由翻动
只要拓扑有变化, OSPF 就运行 SPF 算法再次计算最短路径优先树。,可能引起链路的不稳定。
原因:
。 区域内的接口翻动
。 区域内的邻居接口翻动
。 重复的路由器 ID
使用 show ip ospf 命令可查看在一个给定区域中 SPF 算法运行的次数;
使用 debug ip ospf monitor 来隔离一个翻动的 LSA ;
使用 show log 命令显示由接口引起的翻动。
解决:
。 修复正在翻动的链路
。 重新定义区域边界
五 排除IS-IS故障
1.IS-IS 邻接问题
通常由链路故障和配置错误引起。
show clns neighbors 显示所有希望与被调查的路由器成为邻接的邻居
debug isis adj-packets 命令来调试
2. 部分或所有邻接没有形成
步骤 1—— 检查链路故障。 show ip interface brief
步骤 2—— 检查配置错误。 show run
步骤 3—— 检查不匹配的 1 级和 2 级接口。
步骤 4—— 检查区域的错误配置。
步骤 5—— 检查错误配置的子网
步骤 6—— 检查重复的系统 ID
3. 邻接陷入 INIT 状态
常见原因:不匹配的接口 MTU 和认证参数。 show clns neighbors 可看到
步骤 1—— 检查认证 debug isis adj-packets
步骤 2—— 检查不匹配的 MTU debug isis adj-packets
步骤 3—— 检查 IS-IS 的 HELLO 填充禁止 (命令同上)
使用 show clns interface 查看接口上的 HELLO 填充状态
4.ES-IS 邻接形成代替了 IS-IS 邻接形成
在 IP 环境中运行 IS-IS 的 CISCO 路由器仍然监听 ES-IS 协议所产生的 ISH. 当物理层和数据链路层工作时,即使没有建立 IS-IS 邻接的适当条件,仍能形成 ES-IS 邻接。
show clns neighbors
5. 路由通告问题
大多数路由通告问题都可被限制为源端的配置问题或链路状态分组( LSP )的传播问题。
Dijkstra 算法运行在 LS 数据库上来获得每个被通告路由的最佳路径。
debug isis update-packets
debug isis snp-packets
以上两个调试帮助故障排除 LSP 洪泛问题和链路状态数据库同步。
路由没有到达网络远端的问题可能有许多潜在原因,包括邻接问题,第 1/2 层问题, IS-IS 错误配置以及其他问题。
6. 路由翻动问题
网络中 SPF 进程的高 CPU 利用率( SHOW PROCESS CPU 命令)也应标记为不稳定。
不稳定链路。
翻动还有可能是由 LSP 的错误风暴或一个路由选择环路引起。
show isis spf-log 命令显示哪个 LSP 变化最频繁以及哪个 LSP 角发了 SPF 计算。
show isis update-packets
六 排除BGP故障
1. 故障排除 BGP 邻居关系问题
遵循:首先,应检查第 1/2 层,然后是 IP 连通性(第 3 层), TCP 连接(第 4 层),最后是 BGP 配置。
( 1 )直接的外部 BGP 邻居没有初始化
自治系统( AS )不会向 AS 发送或从 AS 接收任何 IP 前缀更新,除非邻居关系达到 established 状态,该状态是 BGP 邻居建立的最后阶段。当 AS 有一条单一的 EBGP 连接时,直到 BGP 完成了它的收发 IP 前缀操作后 IP 连通性
才能发生。
原因:
。 第 2 层宕掉了,阻止了与直接的 EBGP 邻居通信
。 在 BGP 配置中有错误的邻居 IP 地址
命令: show ip bgp summary 和 show ip bgp neighbors 检查 BGP 邻居关系
active 状态表示邻居间没有发生成功的通信,并且邻居未形成。用 PING 测试其连通性,失败则表示要修复第 1/2 层问题。
debug ip bgp 能够帮助诊断问题
( 2 )非直接的外部 BGP 邻居没有初始化
有些情况下, EBGP 邻居不是直连的。 BGP 邻居关系能够建立在试图形成由一台或多台路由器分隔开的 EBGP 邻居关系的路由器之间。这种邻居在 IOS 中被称为 EBGP 多跳。
当路由器之间存在多个接口并且需要在那些接口之间 IP 流量负载均衡时,通常在回环接口之间建立 EBGP 对等实体。
可能的原因:
。 到非直连对等实体地址的路由从路由选择表中丢失了
。 BGP 配置中缺少 ebgp-multihop 命令
。 缺少 update-source interface 命令
命令: show ip bgp summary 和 show bgp neighbors
router bgp 109
neighbor x.x.x.x remote-as 110
neighbor x.x.x.x ebgp-multihop 2
neighbor x.x.x.x update-source loopback0
( 3 )内部 BGP 邻居没有初始化
原因:
。 到非直接 IBGP 邻居的路由丢失了
。 BGP 配置中缺少 update-source interface 命令
( 4 ) BGP 邻居(外部和内部)没有初始化
接口访问列表 / 过滤是 BGP 邻居活动问题的一个常见原因。
2. 故障排除 BGP 路由通告
发生在 BGP 路由通告的产生和接收中。
( 1 )没有产生 BGP 路由
原因:
。 IP 路由选择表中没有匹配的路由
。 发生了配置错误
。 BGP 自动汇总到有类别 / 网络边界
( 2 )向 IBGP/EBGP 邻居传播 / 产生一条 BGP 路由的问题
配置的分布列表过滤可能是该问题的起因,或者是策略路由选择有问题。
( 3 )向 EBGP 邻居但没有向 IBGP 邻居传播一条 BGP 路由的问题
show run
show ip bgp
show ip bgp summary
解决:
。 使用 IBGP 全互联
。 设计一个路由反射器模型。
router bgp 109
neighbor x.x.x.x route-reflector-client
。 设计一个聪明模型
( 4 )向 IBGP/EBGP 邻接传播一条 IBGP 路由的问题
一条 BGP 路由只有首先通过 IGP 或静态路由获得后才是同步的。
show ip bgp 命令的输出显示了 BGP 表中的不同步路由。
3. 排除路由没有装入 IP 路由选择表中的故障
原因:
( 1 ) IBGP 原因
。 IBGP 路由不同步
。 BGP 下一跳不可达
( 2 ) EBGP 原因
。 在多跳 EBGP 情况下 BGP 下一跳不可达
。 BGP 路由被抑制
。 多出口鉴别器( MED )值为无穷
4.BGP 下一跳不可达
解决:
。 使用静态路由或再分布经由 IGP 宣告 EBGP 下一跳
router ospf 1
network x.x.x.0 0.0.0 .255 area 0
。 使用 next-hop-self 命令将下一跳改变为一个内部对等实体地址
router bgp 109
router ospf x.x.x.x next-hop-self
4.BGP 路由被抑制
抑制( dampening )是减小本地 BGP 网络中来自 EBGP 邻居的不稳定 BGP 路由所引起的不稳定性的方法。
抑制是一种为一条翻动的 BGP 路由指派一个罚点的方法。
router bgp 109
bgp dampening
七 排除再分布故障
1.RIP 再分布问题
router rip
version 2
redistribute ospf 1 metric 1
network x.x.0.0
因为 RIP 有跳数限制。为改正到达 16 跳时会出现路由无法再分布的问题,需要在再分布时指派有效的度量标准。其实现可以使用 redistribute 命令中的 metric 或 default-metric 命令。
使用 show ip route 查看路由传播情况。
2.IGRP/EIGRP 的再分布问题
复合度量标准:宽带,延迟,可靠性,负载
CISCO 使用 100000000/ 带宽来得到该代价。
router igrp 1
redistribute ospf 1 metric 1 10000 255 1 1500
network x.x.0.0
或者
router igrp 1
redistribute ospf 1
redistribute static
default-metric 1 10000 255 1 1500
network x.x.0. 0
使用 show ip route 查看路由传播情况。
3.OSPF 的再分布问题
当 OSPF 再分布时,它成为 ASBR.
( 1 ) OSPF 没有将外部路由装入路由选择表中
原因:
。 不能通过区域内或区域间路由获知转发地址
。 ABR 滑产生类型 4 的汇总 LSA
( 2 ) ASBR 没有通告被再分布的路由
原因:
。 ASBR 的配置中缺少 subnets 关键字
。 distribute-list out 命令阻塞了这些路由
router ospf 1
redistribute rip subnets
network x.x.x.0 0.0.0.255 area 0
使用 show ip ospf database external IP 来查看
4.IS-IS 再分布问题
( 1 )将静态路由再分布入 IS-IS
router isis
redistribute static ip
使用 show run 和 show isis database 查看
( 2 )将外部静态路由加入为一个 LS 的 IS-IS LSP
router isis
redistribute static ip metric-type external
5.BGP 的再分布问题
在 AS 边界路由器上,外出路由通告影响进入的流量,而进入路由通告则影响外出流量。因此,外出和进入的通告应分开考虑。
( 1 ) BGP 发布进 eigrp 中
router eigrp 200
redistribute bgp 200 metric 10000 100 255 1 1500 passive-interface s0
network x.x.x.0
router bgp 200
network x.x.x.0
neighbor x.x.x.x remote-as 100
可以使用 show ip route 和 PING 来检测
决对不要在一个面向 internet 的路由器上使用 BGP 到 IGP 的再分布。一个完整的 internet 路由选择表由 100000 个前缀组成,一个 IGP 进程将会因处理这么多的路由而阻塞再分布一个完整的 internet 表乃至大部分的表都会不可避免的引起主网络崩溃。
( 2 )为了更多地控制被通告进入 BGP 邻居,可以使用静态路由。
向 BGP 邻居通告一条默认路由不会抑制更具体的路由。
如果只发送默认路由,路由器必须使用过滤器来抑制所有更具体的路由。
router bgp 100
network 0.0.0.0
neighbor x.x.x.x remote-as 300
neighbor x.x.x.x remote-as 200
neighbor x.x.x.x remote-as 100
neighbor x.x.x.x default-originate
neighbor x.x.x.x redistribute-list 1 out (这一句只是 BGP 路由的一种方法)
access-list 1 permit 0.0.0.0
access-list 1 deny an
1. 静态路由和有类别查找
当路由选择表进程检查一条使用中间地址(路由选择表中作为下一跳引用的 IP 地址)的可解析的静态路由时,这个检查总是在有类别方式下完成的,无论是否使用 ip classless 命令如果在路由选择表中有类别方式下的中间地址不能解析,则删除该静态路由。
使用 show ip route 查看路由选择表。
使用 debug 可以显示某个网络宕掉了。
如果使用无类别方式并有一条默认路由存在,那么具有高管理距离的备份表态路由将永远不会在主静态路由失效时装入到路由选择表中。这是因为任何静态路由,即便是指向不存在的中间地址的静态路由,都会使用默认路由进行解析。
CISCO 路由选择表进程每 60S 调用一个检查路由选择表的静态路由功能来根据动态变化的路由选择表安装或删除静态路由。
2. 静态路由和中间地址
静态路由可以使用中间网络地址或出接口来创建。大多数情况下,使用出接口在路由选择表进程中解析静态路由更加有效。
只要中间 IP 地址可以在路由选择表中解析,它不必是真实的下一跳路由器的接口。静态网络路由(如中间地址)必须最终被解析为路由选择表中一条具有出接口的路由。
每当路由选择表进程需要为 x.x.x.0/24 网络使用静态路由表项时,它还需要解析中间地址 y.y.y.y ,称为递归查找。一次额外的路由查找或许对路由选择进程的性能没有多少影响。但是,采取多次递归查找来获得解析的静态路由可能会影响性能。
3. 静态路由优化
为避免递归查找: 串行网络:使用出接口
以太网络:同时使用中间地址和出接口
4. 反复的静态路由安装和删除
尽可能地使用出接口而不是中间地址来配置静态路由。
5. 使用丢弃路由
有时网络中有环路的产生。通过周期性的查看路由器接口上的计数器可以看到路由选择环路的结果。
clear counters serial0/0
show interface serial0/0
路由环路的问题在网络中产生了一个黑洞。一旦 IP 头中的生存期( TTL )减到 0 就丢弃分组。
解决 1 :有类别模式的路由选择( no ip classless ) —— 在用户网络路由器上使用 no ip classless. 路由器在至少一个已知子网存在时不会使用任何超网或默认路由。但不是首选。因为它改变了所有分组的路由选择表查找行为。
解决 2 :使用一条丢弃路由 —— 当路由选择表中没有特定的匹配,而且使用一条超网或默认路由来转发那些分组并不合适时,一条丢弃路由把分组送给了 null0 ,即比特桶。
ip route x.x.0.0 255.255.0.0 null0
ip route x.x.0.0 255.255.0.0 null0 200
后一个命令行配置仅在主路由失效时使用的另一条丢弃路由。通过将静态路由的默认管理距离改为比所使用的动态路由选择协议的管理距离更高的一个值来实现。
二 排除RIP故障
1. 不兼容的版本类型
debug ip rip
show ip protocols 对检查接口上发送和接收的 RIP 分组版本十分有用。
如果 R1 不支持 V2 的版本,只能接收 RIPv1 分组,那么 R2 配置成 RIPv1 和 RIPv2.
可在接口级指定发送和接收 RIP 分组的特定版本
interface e0
ip rip send version 1 2
ip rip receive version 1 2
2. 不匹配的认证密钥
RIPv2 的一个选项是可以认证的 RIPv2 更新,为了增强安全性,当使用认证时,必须在双方配置口令。这个口令被称为认证密钥。如果这一密钥与另一方的密钥不匹配,双方都将忽略 RIPv2 更新。
在接口上配置 ip rip authentication key-chain cisco
用 debug ip rip 调试。
3. 达到 RIP 的路数限制
RIP 度量标准的最大值是 15 跳。
无法克服这个问题。可以使用非 15 跳限制的路由选择协议。 IGRP 最大跳数是 255 , EIGRP 最大跳数是 224 ,二者默认都是 100.
4. 不连续网络
当主网络被另一个主网络分隔开时,被称为不连续网络。
解决 1 :使用静态路由
解决 2 :在路由器之间的链路地址改为左右不连续网络中的一部分。
解决 3 :在两台路由器上用 no auto-summary 配置启用 RIPv2 的无类别路由选择版本。
router rip
version 2
network x.x.x.0
no auto-summary
解决 4 :使用无类别路由选择协议。如 OSPF , EIGRP , IS-IS 替代 RIPv1 路由选择协议。
5. 不合法的源地址
当 RIP 告诉路由选择表安装路由时,它执行源合法性检查。如果源所在子网与本地接口不同, RIP 则忽略更新并且不在路由选择表中安装从这个源来的路由。
当一方是有编号而另一方是无编号时,必须关闭这个检查。
router rip
no validate-update-source
6. 翻动( flapping )路由
路由翻动是指路由选择表中一条路由的不断删除和再插入。为了检查路由是否真的翻动,检查路由选择表并查看路由的寿命( age )。如果寿命被不断的重置为 00 : 00 : 00 ,这就意味这路由正在翻动。
RIP 有 180S 没有收到一条路由,那么该路由将保持 240S ,然后被清除。
使用 show interface 来检查接口统计值。
最常见帧中继环境分组丢失。
使用 show ip route rip 可以检查 RIP 多久没有更新。
使用 show interface serial 0 可查看到接口上有大量的广播分组是否被丢弃。帧中继情况下,可能需要调整帧中继广播队列。在非帧中继的环境中,可能需要增加输入或输出保留队列。
7. 大型路由选择表
接口上使用 ip summary-address 汇总路由。
三 排除EIGRP故障
1. 不匹配的 K 值
EIGRP 为了建立它的邻居关系,计算 EIGRP 度量标准的 K 常数值必须相同。
K1- 带宽 K2- 负载 K3- 延迟 K4 , K5- 可靠性
router eigrp 1
network x.x.x.x
metric weights 0 1 1 1 1 0
2. 不匹配的 AS 编号
EIGRP 不会与具有不同自治系统编号的路由器形成任何邻居关系。
3. 活动粘滞
( 1 )确定问题
可能的原因有:
。 坏的或拥塞的链路;
。 低的路由器资源,如路由器上的低内存和高 CPU 处理。
。 长的查询范围
。 过多的冗余
默认活动粘滞定时器只有 180S.
使用 show ip eigrp topology active 命令帮助故障排除 EIGRP 活动粘滞错误,仅在问题发生时有用,用户一次只有 180S 的时间来确定。邻居有一个 r 跟在后面表示它没有应答查询。
( 2 )故障排除方法
追踪查询,一跳接一跳,在每一跳找出活动路由的状态。
( 3 )最终解决方案
尽可能手工汇总路由并有一个分层次的网络设计。 EIGRP 汇总的网络越多,主收敛发生时需要做的事情越少。
4. 重复的路由 ID
EIGRP 只是为了外部路由而使用路由器 ID 的概念来防止环路。 EIGRP 基于路由器上回环接口的最大 IP 地址来选择路由器 ID. 如果路由器没有回环接口,则选择所有接口中最大的激活 IP 地址作为 EIGRP 的路由器 ID.
debug ip eigrp 可以看到接口上通告某个网络。
经验法则:永远不要在网络的两个地方配置相同的 IP 地址。
四 排除OSPF故障
1. 不匹配的参数
使用 debug ip ospf adj 命令能够看到大多数的不匹配问题。
( 1 ) hello/dead 间隔不匹配 —— 匹配才可以形成邻居。
( 2 )不匹配的认证类型 ——OSPF 下有 MD5 和纯文本认证。
router ospf 1
area 0 authentication message-digest
network x.x.0.0 0.0.255.255 area 0
( 3 )不匹配的区域 ID—— 区域信息在 OSPF 的 HELLO 分组中发送。不同,不会形成邻接。
( 4 )不匹配的短截 / 传输 /NSSA 区域选项 —— 当 OSPF 与一个邻居交换 HELLO 分组时,它所交换的一项内容是由 8 比特表示的可选能力。选项字段之一是 E 比特,即 OSPF 短截标志。当 E 比特置 0 时,该路由关联的区域是一个短截区域,外部 LSA 不允许进入这个区域。
2.OSPF 状态问题
成为邻居的路由器不保证交换链路状态更新。一旦路由器决定与一个邻居形成邻接,它就开始交换其链路状态数据库的一份完整拷贝。
( 1 ) OSPF 陷入 ATTEMPT—— 仅对 neighbor 语句的 NBMA 网络有效。陷入 ATTEMPT 是指一台路由器试图通过发送它的 HELLO 来联系邻居但是它没有收到响应。
show ip ospf neighbor 查看。
原因:错误配置 neighbor ; NBMA 上的单播连通性断了,这可能是由错误的 DLCI ,访问列表或转换单播的 NAT 引起的。
( 2 ) OSPF 陷入 INIT——INIT 状态表示路由器收到来自邻居的 HELLO 分组,但是双向通信并没有建立 .
原因:
。 一方访问列表阻止了 HELLO ;
。 一方的多播能力失效(一个交换机故障);
。 仅在一方启用了认证;
。 一方的 frame-relay map/dialer map 语句缺少了 broadcast 关键字。
。 一方的 HELLO 在第 2 层丢失了。
( 3 ) OSPF 陷入 2-WAY—— 双向状态是指路由器在 HELLO 分组的邻居字段中见到了自己的路由器 ID. 类似于所有路由器的优先级都为 0 ,则不会发生选举,所有路由器停留在双向状态中。
解决:确保至少一台路由器具有一个至少为 1 的 IP OSPF 优先级。
( 4 ) OSPF 陷入 EXSTART/EXCHANGE—— 在 EXSTART 或 EXCHANGE 状态的 OSPF 邻居正处于尝试交换 DBD (数据库描述)分组的过程中。
原因:
。 不匹配的接口 MTU
。 邻居上重复的路由器 ID
。 无法用超过特定 MTU 长度进行 PING
。 断掉的单播连通性,它可能是因为错误的 DLCI ,访问列表或转换单播的 NAT
( 5 ) OSPF 陷入 LOADING—— 邻居没有应答或邻居的应答从未到达本地路由器,路由器也会陷入 LOADING 状态。常有 "%OSPF-4-BADLSA" 控制台信息。
原因:
。 不匹配的 MTU
。 错误的链路状态请求分组
3. 点到点链路的一方是无编号的
interface s0
ip unnumbered loopback0
解决:双方都需要成为一个有编号点到点链路或一个无编号点到点链路。
4.ABR 没有产生一个类型 4 的汇总 LSA
类型 4 的汇总 LSA 的一个功能是宣告到其他区域的 ASBR 的可达性。如果同一个区域中存在 ASBR 则不需要类型 4 的 LSA.
show ip ospf database external 命令的输出显示在路由器的外部 OSPF 数据库中是否存在路由。
show ip ospf database asbr-summary 命令的输出显示路由是否有类型 4 的 LSA.
检查 R 是否真是 ABR. 如果是,则产生类型 3 或类型 4 的汇总 LSA.show ip ospf
5. 转发地址不能通过区域内或区域间路由获知
当 OSPF 获得一条外部 LSA 时,它在将该路由装入路由选择表之前要确定转发地址可通过一条 OSPF 区域内或区域间路由获知。如果转发地址不能通过区域内或区域间路由获知, OSPF 不会将路由装入路由选择表中。
有可能的解决:
。 不在 ABR 上进行汇总
。 在 ASBR 上过滤再分布入 OSPF 中的直接子网
router ospf 1
redistribute rip subnets
6. 路由汇总问题
两种类型汇总:
。 可执行在 ABR 上的区域间路由汇总
。 可执行在 ASBR 上的外部路由汇总
( 1 )区域间汇总
router ospf 1
area 3 range x.x.x.0 255.255.255.0
通过 show ip ospf 可以查看
( 2 )外部汇总
router ospf 1
summary-address x.0.0.0 255.0.0.0
7.CPUHOG 问题
产生在:
。 邻居形成过程
。 LSA 刷新过程
8.SPF 计算和路由翻动
只要拓扑有变化, OSPF 就运行 SPF 算法再次计算最短路径优先树。,可能引起链路的不稳定。
原因:
。 区域内的接口翻动
。 区域内的邻居接口翻动
。 重复的路由器 ID
使用 show ip ospf 命令可查看在一个给定区域中 SPF 算法运行的次数;
使用 debug ip ospf monitor 来隔离一个翻动的 LSA ;
使用 show log 命令显示由接口引起的翻动。
解决:
。 修复正在翻动的链路
。 重新定义区域边界
五 排除IS-IS故障
1.IS-IS 邻接问题
通常由链路故障和配置错误引起。
show clns neighbors 显示所有希望与被调查的路由器成为邻接的邻居
debug isis adj-packets 命令来调试
2. 部分或所有邻接没有形成
步骤 1—— 检查链路故障。 show ip interface brief
步骤 2—— 检查配置错误。 show run
步骤 3—— 检查不匹配的 1 级和 2 级接口。
步骤 4—— 检查区域的错误配置。
步骤 5—— 检查错误配置的子网
步骤 6—— 检查重复的系统 ID
3. 邻接陷入 INIT 状态
常见原因:不匹配的接口 MTU 和认证参数。 show clns neighbors 可看到
步骤 1—— 检查认证 debug isis adj-packets
步骤 2—— 检查不匹配的 MTU debug isis adj-packets
步骤 3—— 检查 IS-IS 的 HELLO 填充禁止 (命令同上)
使用 show clns interface 查看接口上的 HELLO 填充状态
4.ES-IS 邻接形成代替了 IS-IS 邻接形成
在 IP 环境中运行 IS-IS 的 CISCO 路由器仍然监听 ES-IS 协议所产生的 ISH. 当物理层和数据链路层工作时,即使没有建立 IS-IS 邻接的适当条件,仍能形成 ES-IS 邻接。
show clns neighbors
5. 路由通告问题
大多数路由通告问题都可被限制为源端的配置问题或链路状态分组( LSP )的传播问题。
Dijkstra 算法运行在 LS 数据库上来获得每个被通告路由的最佳路径。
debug isis update-packets
debug isis snp-packets
以上两个调试帮助故障排除 LSP 洪泛问题和链路状态数据库同步。
路由没有到达网络远端的问题可能有许多潜在原因,包括邻接问题,第 1/2 层问题, IS-IS 错误配置以及其他问题。
6. 路由翻动问题
网络中 SPF 进程的高 CPU 利用率( SHOW PROCESS CPU 命令)也应标记为不稳定。
不稳定链路。
翻动还有可能是由 LSP 的错误风暴或一个路由选择环路引起。
show isis spf-log 命令显示哪个 LSP 变化最频繁以及哪个 LSP 角发了 SPF 计算。
show isis update-packets
六 排除BGP故障
1. 故障排除 BGP 邻居关系问题
遵循:首先,应检查第 1/2 层,然后是 IP 连通性(第 3 层), TCP 连接(第 4 层),最后是 BGP 配置。
( 1 )直接的外部 BGP 邻居没有初始化
自治系统( AS )不会向 AS 发送或从 AS 接收任何 IP 前缀更新,除非邻居关系达到 established 状态,该状态是 BGP 邻居建立的最后阶段。当 AS 有一条单一的 EBGP 连接时,直到 BGP 完成了它的收发 IP 前缀操作后 IP 连通性
才能发生。
原因:
。 第 2 层宕掉了,阻止了与直接的 EBGP 邻居通信
。 在 BGP 配置中有错误的邻居 IP 地址
命令: show ip bgp summary 和 show ip bgp neighbors 检查 BGP 邻居关系
active 状态表示邻居间没有发生成功的通信,并且邻居未形成。用 PING 测试其连通性,失败则表示要修复第 1/2 层问题。
debug ip bgp 能够帮助诊断问题
( 2 )非直接的外部 BGP 邻居没有初始化
有些情况下, EBGP 邻居不是直连的。 BGP 邻居关系能够建立在试图形成由一台或多台路由器分隔开的 EBGP 邻居关系的路由器之间。这种邻居在 IOS 中被称为 EBGP 多跳。
当路由器之间存在多个接口并且需要在那些接口之间 IP 流量负载均衡时,通常在回环接口之间建立 EBGP 对等实体。
可能的原因:
。 到非直连对等实体地址的路由从路由选择表中丢失了
。 BGP 配置中缺少 ebgp-multihop 命令
。 缺少 update-source interface 命令
命令: show ip bgp summary 和 show bgp neighbors
router bgp 109
neighbor x.x.x.x remote-as 110
neighbor x.x.x.x ebgp-multihop 2
neighbor x.x.x.x update-source loopback0
( 3 )内部 BGP 邻居没有初始化
原因:
。 到非直接 IBGP 邻居的路由丢失了
。 BGP 配置中缺少 update-source interface 命令
( 4 ) BGP 邻居(外部和内部)没有初始化
接口访问列表 / 过滤是 BGP 邻居活动问题的一个常见原因。
2. 故障排除 BGP 路由通告
发生在 BGP 路由通告的产生和接收中。
( 1 )没有产生 BGP 路由
原因:
。 IP 路由选择表中没有匹配的路由
。 发生了配置错误
。 BGP 自动汇总到有类别 / 网络边界
( 2 )向 IBGP/EBGP 邻居传播 / 产生一条 BGP 路由的问题
配置的分布列表过滤可能是该问题的起因,或者是策略路由选择有问题。
( 3 )向 EBGP 邻居但没有向 IBGP 邻居传播一条 BGP 路由的问题
show run
show ip bgp
show ip bgp summary
解决:
。 使用 IBGP 全互联
。 设计一个路由反射器模型。
router bgp 109
neighbor x.x.x.x route-reflector-client
。 设计一个聪明模型
( 4 )向 IBGP/EBGP 邻接传播一条 IBGP 路由的问题
一条 BGP 路由只有首先通过 IGP 或静态路由获得后才是同步的。
show ip bgp 命令的输出显示了 BGP 表中的不同步路由。
3. 排除路由没有装入 IP 路由选择表中的故障
原因:
( 1 ) IBGP 原因
。 IBGP 路由不同步
。 BGP 下一跳不可达
( 2 ) EBGP 原因
。 在多跳 EBGP 情况下 BGP 下一跳不可达
。 BGP 路由被抑制
。 多出口鉴别器( MED )值为无穷
4.BGP 下一跳不可达
解决:
。 使用静态路由或再分布经由 IGP 宣告 EBGP 下一跳
router ospf 1
network x.x.x.0 0.0.0 .255 area 0
。 使用 next-hop-self 命令将下一跳改变为一个内部对等实体地址
router bgp 109
router ospf x.x.x.x next-hop-self
4.BGP 路由被抑制
抑制( dampening )是减小本地 BGP 网络中来自 EBGP 邻居的不稳定 BGP 路由所引起的不稳定性的方法。
抑制是一种为一条翻动的 BGP 路由指派一个罚点的方法。
router bgp 109
bgp dampening
七 排除再分布故障
1.RIP 再分布问题
router rip
version 2
redistribute ospf 1 metric 1
network x.x.0.0
因为 RIP 有跳数限制。为改正到达 16 跳时会出现路由无法再分布的问题,需要在再分布时指派有效的度量标准。其实现可以使用 redistribute 命令中的 metric 或 default-metric 命令。
使用 show ip route 查看路由传播情况。
2.IGRP/EIGRP 的再分布问题
复合度量标准:宽带,延迟,可靠性,负载
CISCO 使用 100000000/ 带宽来得到该代价。
router igrp 1
redistribute ospf 1 metric 1 10000 255 1 1500
network x.x.0.0
或者
router igrp 1
redistribute ospf 1
redistribute static
default-metric 1 10000 255 1 1500
network x.x.0. 0
使用 show ip route 查看路由传播情况。
3.OSPF 的再分布问题
当 OSPF 再分布时,它成为 ASBR.
( 1 ) OSPF 没有将外部路由装入路由选择表中
原因:
。 不能通过区域内或区域间路由获知转发地址
。 ABR 滑产生类型 4 的汇总 LSA
( 2 ) ASBR 没有通告被再分布的路由
原因:
。 ASBR 的配置中缺少 subnets 关键字
。 distribute-list out 命令阻塞了这些路由
router ospf 1
redistribute rip subnets
network x.x.x.0 0.0.0.255 area 0
使用 show ip ospf database external IP 来查看
4.IS-IS 再分布问题
( 1 )将静态路由再分布入 IS-IS
router isis
redistribute static ip
使用 show run 和 show isis database 查看
( 2 )将外部静态路由加入为一个 LS 的 IS-IS LSP
router isis
redistribute static ip metric-type external
5.BGP 的再分布问题
在 AS 边界路由器上,外出路由通告影响进入的流量,而进入路由通告则影响外出流量。因此,外出和进入的通告应分开考虑。
( 1 ) BGP 发布进 eigrp 中
router eigrp 200
redistribute bgp 200 metric 10000 100 255 1 1500 passive-interface s0
network x.x.x.0
router bgp 200
network x.x.x.0
neighbor x.x.x.x remote-as 100
可以使用 show ip route 和 PING 来检测
决对不要在一个面向 internet 的路由器上使用 BGP 到 IGP 的再分布。一个完整的 internet 路由选择表由 100000 个前缀组成,一个 IGP 进程将会因处理这么多的路由而阻塞再分布一个完整的 internet 表乃至大部分的表都会不可避免的引起主网络崩溃。
( 2 )为了更多地控制被通告进入 BGP 邻居,可以使用静态路由。
向 BGP 邻居通告一条默认路由不会抑制更具体的路由。
如果只发送默认路由,路由器必须使用过滤器来抑制所有更具体的路由。
router bgp 100
network 0.0.0.0
neighbor x.x.x.x remote-as 300
neighbor x.x.x.x remote-as 200
neighbor x.x.x.x remote-as 100
neighbor x.x.x.x default-originate
neighbor x.x.x.x redistribute-list 1 out (这一句只是 BGP 路由的一种方法)
access-list 1 permit 0.0.0.0
access-list 1 deny an