首页 > 学院 > 网络通信 > 正文

OSPF一些常用命令

2019-11-05 01:14:35
字体:
来源:转载
供稿:网友
来简单描述一下常用的LSA
类型代码    描述
1        路由器lsa(本身接口ip,基本adv邻居接口状态)
2        网络lsa(p2p.p2m没有此类型.由DR产生.公告网络topo结构.只在广播网络中使用)
            以上2条可使用sh ip os data network 查看
3        网络汇总lsa描述非backbone区域.由ABR产生
4        ASBR汇总lsa 描述到达ASBR的路经. 由ABR产生
以上2条可使用 sh ip os data summary 查看
5        外部的lsa(非ospf的条目,如rip.eigrp.static.分发进来)
                可使用 sh ip os data external 查看
7                        nssa外部lsa
                可使用 sh ip os data nssa-external 查看
11        opaque lsa(AS范围)表示tag用

区 域 命 令
Area area-id stub                ABR和这个区域内的所有路由器都要被配置
配置stub区域
存在lsa 1 2 3
backbone只向其通告缺省路由和域间路由

Area area-id stub no-summary        只在ABR上配置,这个区域内的路由器仍然配置为stub
配置一个完全的stub区域
存在lsa 1 2 以及一条OIA的缺省路由
backbone只向其通告缺省路由

Area area-id nssa                ABR和这个区域内的所有路由器都要被配置
配置一个nssa区域
存在lsa 1 2 3 7
但由于这个区域中存在了ASBR.自然就产生了lsa5的外部路由.而stub区域本身不能存在这个类型的lsa. 于是nssa区域把本来stub中不答应存在的lsa5变为lsa7.所以nssa比stub多了一个lsa7.在这个lsa7到达nssa的ABR后,lsa7再变为lsa5向backbone进行通告

Area area-id nssa no-summary        只在ABR上配置,这个区域内的路由器仍然配置为nssa
配置一个完全的nssa区域
存在lsa 1 2 7
完全的nssa区域仍然把本身的N2(lsa7)条目在ABR上转为E2(lsa5)通告到backbone

Area area-id nssa no-redistribution
阻止redistribute的路由进入nssa区域
本来你配置nssa是因为你的区域中有一个和eigrp网路相连接的路由器.这时候你ASBR又宣告了一个rip的网络.backbone可以学习到,但对于nssa区域来说就没有必要了.这时候你可以使用它来阻止重分发的rip进入你的nssa区域.
仅用在ASBR上

Area area-id nssa default-infromation-originate
把一个缺省路由广播到nssa区域中
和stub区域会通告一条到达backbone的缺省路由(O*IA)不.nssa则不会自动产生
使用后不需要配置ip route .nssa就可以产生一条到达backbone的缺省路由(0*N2)
仅在ABR或ASBR上使用

Area area-id default-cost cost
设置stub区域的缺省成本   默认为1
在你的stub区域的某台路由器rack05R4上看到的O*IA的metric为65(64+1).然后你再ABR上设置cost为15.那么在返回rack05R4会看到metric为79(64+15).
仅在stub区域ABR上工作

汇聚内部路由 ( ABR 上使用 )
Area area-id range ip-add mask
Area area-id range ip-add mask advertise
这2个命令用途是一致的这儿就放在一起说明
比如你的area1中有
156.26.32.0/28  156.26.32.16/28  156.26.32.32/28  156.26.32.48/28
4个网段.你可以用area 1 range 156.26.32.0 255.255.255.192汇聚他们
这样在area0中看到的就是O IA 156.26.32.16/26一条路由而不是4条
同样你也可以从backbone(area0)向非backbone(area1)区域汇总
为了防止环路(通常在配置了缺省路由的情况下会发生)在某个被汇聚网段消失时,丢弃到这个网段的流量.建议使用ip route 156.26.32.0 255.255.255.192 null 0

Area area-id range ip-add mask not-advertise
抑制ABR广播的路由汇聚

汇聚外部路由 (可在ASBR和ABR上使用,但在ABR上使用时只能汇聚外部ospf路由)
Summary-address ip-add mask
比如你redistribute connected sbunets
156.26.32.0/28  156.26.32.16/28  156.26.32.32/28  156.26.32.48/28
4个网段.你可以用summary-address 156.26.32.0 255.255.255.192汇聚他们
这样在ospf的backbone中看到的就是O E2 156.26.32.16/26一条路由而不是4条
summary与range的区别
summary汇聚的是rip. eigrp. static重分发的路由.
Range汇聚的是ospf区域之间的路由

Summary-address ip-add mask not-advertise
阻止汇聚路由被ABR或ASBR广播
Summary-address ip-add mask tag value
在使用标记的网络中,答应给予标记值得路由策略,并且可以代替基于IP地址的路由策略
不说了,有点复杂,要配图和例子.我会做个试验说明的

Auto-cost reference-bandwidth bandwidth
全局性修改ospf各接口的成本
ospf把接口带宽分为10^8莱计算接口成本.当接口带宽大于100Mbit/s,不推荐使用缺省值(因为ospf不能区分大于100Mbit/s的接口)这是个全局性的.对于个别接口可以在接口下使用ip os cost (但不推荐)
接口类型                        接口带宽                        ospf成本
loopback                        8 000 000 000                1
serial                                56 000                                1785
T1                                        1 544 000                        64
Ethernet                        10 000 000                        10
fast Ethernet                100 000 000                        1
Gigabit Ethernet        1 000 000 000                1
OC48                                2 500 000 000                1

在同一区域中,所有的ospf路由器要配置相同的参考带宽(不同区域的参考带宽可以不同).
loopback的成本始终为1

产生缺省路由
Default-information originate
广播缺省路由到OSPF域内
假如1个ospf区域area0中有3台路由器rack05r1~r3.
而rack05r1成为了ASBR(比如连接到ISP)
那么只有rack05r1知道如何到达isp而r2和r3是不知道的
这时就需要在r1上使用Default-information originate来向r2和r3宣告如何到达
并且在r1上配置ip route 0.0.0.0 0.0.0.0 next hop
这样r2和r3会看到一条O*E2 0.0.0.0/0的缺省路由

Default-information originate always
无条件的广播缺省路由到OSPF域内
引用上面的说明.在r1上不配置ip route 0.0.0.0 0.0.0.0 next hop
r2和r3同样也会看到一条O*E2 0.0.0.0/0的缺省路由
always就是强制产生的意思

Default-information originate metric cost
Default-information originate always metric cost
假如不只一个OSPF路由器广播缺省路由.使用cost值可以用来选择最优路经.metric值越低(cost越低)越优先

Default-information originate metric-type type
Default-information originate always metric-type type
type的值有1和2两个等同于你在Default-information originate说明中R2和R3看到的是 O*E1 0.0.0.0/0还是O*E2 0.0.0.0/0
默认的是O*E2它的metric为1 不计算内部成本
也就是说你在r2和r3看到的关于O*E2 0.0.0.0/0 [110/1] 的metric为1
假如改为type1 那么你在r2和r3上看到的关于O*E1 0.0.0.0/0 [110/xxx] 那就不一定了.因为要计算内部路由的metric

Default-information originate route-map route-map-name
使用route-map有条件的广播缺省路由
假如使用了Default-information originate always 那么route-map将失效
也不好解释,我已经做好了配置演示,可以在论坛的NA版找到[ospf试验]产生缺省路由

Default-metric cost
为再分布的协议设置缺省的度量
比如在1个ospf域内有rack05r1和r2.
r1现在成为ASBR连接并重分发了一个eigrp的网络.
比如我们在r1上看到的eigrp的路由为D 3.3.3.3 [90/4046000]
那么r2上会看到0 E2 3.3.3.3 [110/20]
这时在r1上使用default-metric 55  之后r1上是不会有什么变化的
但r2上会看到0 E2 3.3.3.3 [110/55]

Distance administrative-distance
调整治理距离来影响路由的选路
1台路由器从2个以上的协议(ospf和rip)学习到同一个网络.这个时候AD就来选择最优路经.AD值低的优先选择
常见的AD
connected                0
static                        1
ebgp                        20
eigrp                        90
igrp                        100
ospf                        110
is-is                        115
rip                                120
ibgp                        200

例如1台路由器从eigrp和ospf都学到一条3.3.3.3的路由
正常情况下sh ip route出来的是D 3.3.3.3 [90/xxx]  (eigrp的AD为90<ospf的110)
但在这台路由器的ospf的进程下使用distance 80
那么再次sh ip router 则出来的是 O 3.3.3.3 [80/xxx]  (现在ospf的110变为80<eigrp)

Distance administrative-distance source-ip-add source-ip-mask
更改从IP地址/mask相匹配的的原地址学习到的路由的AD



Distance administrative-distance source-ip-add source-ip-mask acl-num
更改使用acl选定的从IP地址/mask相匹配的的原地址学习到的路由的AD

Distance ospf external/inter-area/intra-area administrative-distance


用分布列表过滤路由
Distribute-list alc in
阻止从ospf学到的路由被放置到ip路由选择表中
在一个由rack05r1,r2和r3的路由器组成的ospf域中.
r1宣告了1.1.1.1 2.2.2.2 3.3.3.3 三个网段
在r2上定义1个acl
acc 1 deny 2.2.2.2 0.0.0.255
acc 1 deny 3.3.3.3 0.0.0.255
acc 1 permit any
然后在r2的ospf进程下使用 distribute-list 1 in
这样r2只能看到1.1.1.1的路由.
但是被过滤的路由条目仍然在r2的DB中存在 r3还是可以学习到所有的路由条目
ospf只能做in方向的过滤.out方向的过滤是无效的

Distribute-list acl in interface-type interface-number
阻止通过ospf特定接口学到的路由被放置到ip路由选择表中

Distribute-list alc out
Distribute-list acl out interface-type interface-number
以上2条命令对于DV协议如rip eigrp,阻止被acl选定的路由广播到邻居处
ospf是LS协议,路由是通过LSA传播的,因此这2条命令和ospf一起使用是无效的

Distribute-list acl out routing-PRocess
阻止在分布到ospf的路由被放置到ip路由选择表中
在一个由rack05r1,r2和r3的路由器组成的ospf域中.
r1是一个ASBR学习到由eigrp 100网络宣告的路由D 3.3.3.3 和D 4.4.4.4
这样在r2和r3中会看到 O E2 3.3.3.3和 O E2 4.4.4.4
那么在r1中定义acl   acc 1 permit 4.4.4.0 0.0.0.255
然后再ospf进程中使用  distribute-list out eigrp 100
这样r2和r3中只能看到 O E2 4.4.4.4 同时他们的DB中也不存在3.3.3.3

Distribute-list prefic prefix-list-name in
阻止从ospf学到的路由被放置到ip路由选择表中
其实就是用前缀列表代替acl. 引用Distribute-list alc in 的topo结构
ip prefix-list filter-ospf seq deny 2.2.2.2/32
ip prefix-list filter-ospf seq deny 3.3.3.3/32
ip prefix-list filter-ospf seq deny permit 0.0.0.0/0
在ospf进程中  distribute-list prefix filter-ospf in
我们可以看到同样的效果

Distribute-list prefic prefix-list-name in interface-type interface-number
阻止通过ospf特定接口学到的路由被放置到ip路由选择表中

Distribute-list prefic prefix-list-name out
Distribute-list prefic prefix-list-name out interface-type interface-number
以上2条命令对于DV协议如rip eigrp,阻止被acl选定的路由广播到邻居处
ospf是LS协议,路由是通过LSA传播的,因此这2条命令和ospf一起使用同样是无效的

Distribute-list prefic prefix-list-name out routing-process
阻止在分布到ospf的路由被放置到ip路由选择表中
引用Distribute-list acl out routing-process 的例子
更改配置 ip prefix-list filter-eigrp seq 5 permit 4.4.4.0/24
在ospf进程中 distri prefix filter-eigrp out eigrp 100
效果是一样的

记录OSPF邻居状态的改变
Log-adjacency-changes
把ospf的邻居状态改变信息记录到控制台
Log-adjacency-changes detail
把ospf的邻居状态改变信息记录到内存中
通过 show logging 显示缓冲区的内容

最大路经配置
Maximum-paths number-of-paths
在负载均衡的情况下,答应使用几条链路.默认4条.可以配置为1-6条

被动接口
Passive-interface interface-name interface-number
使用被动接口减少协议流量
假如s0/0,s0/1和e0/0三个接口都被network包含了,而e0/0没有任何ospf邻居.
就可以使用passive-interface e0/0 在指定接口阻止ospf包

Passive-interface default
假如你有100个接口被network包含,而只有s0/1一个接口有ospf邻接. 那么这条命令用起来就很爽了
passive-interface default
no passive-interface s0/1
其实我觉得network x.x.x.x 0.0.0.0 area x  更方便起码只用敲1行就好了

路由的再次分布
Redistribute routing-process process-id
使用缺省类型和度量把主类路由再次分发到ospf中
比如你的ASBR路由器分发了eigrp的
5.5.5.5./8                145.5.5.5/16                205.5.5.5/24                classful
6.5.5.5/12                146.5.5.5./18                206.5.5.5/28                classless
那么你的ASBR只能往其他的ospf路由器宣告
5.0.0.0/8                145.5.0.0/16                205.5.5.0/24

Redistribute routing-process process-id subnets
为了让上面所有的6个条目都能被正确宣告,加上subnets就ok了

Redistribute routing-process process-id metric ospf-metric
指定再分配的路由度量或成本
默认BGP缺省度量为1 其他的协议为20 取值0~16 777 214

Redistribute routing-process process-id metric-type ospf-metric
指定再分配的路由类型
缺省为2   取值1, 2
1                O*E1                计算内部成本
2                O*E2                不计算内部成本

Redistribute routing-process process-id tag tag-value
指定再分配的路由标记
附加到再分布路由的一个32位值.ospf本身没有使用路由标记,但可以在用于指定策略的route-map中引用(就是通过下面的命令实现),比如以tag为基础制定策略再次分布路由
缺省值为0                取值范围0~4 294 967 295

        以上参数可以组合使用以满足特定需求

Redistribute routing-process process-id route-map route-map-name
基于tag来控制路由的再分配
比较繁琐,用法也比较多,配合上面的参数我会做个试验给大家看看的



ospf的命令很多比较多.比如接口配置的命令.没有在这里列举出来的原因
部分是要和其他的命名配合使用比如authentication. network. priority需和区域命令配合使用,再罗列出来会显得比较罗嗦.
还有些特性命令 demand-circuit. database-filter all out. fold-redUCtion和非凡环境下使用的 mtu-ignore .等等,
假如需要的话可以查阅 <Cisco OSPF Command and Configuration Handbook>


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表