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