R1
Router#configure terminal Router(config)#hostname R1 R1(config)#interface g0/0/0 R1(config-if)#ip address 10.1.1.1 255.255.255.0 R1(config-if)#no shutdown R1(config)#interface loopback 0 R1(config-if)#ip address 100.1.1.1 255.255.255.0 R1(config-if)#interface loopback 1 R1(config-if)#ip address 100.1.2.1 255.255.255.0 R1(config-if)#interface loopback 2 R1(config-if)#ip address 100.1.3.1 255.255.255.0
R2
Router#configure terminal Router(config)#hostname R2 R2(config)#interface g0/0/0 R2(config-if)#ip address 10.1.1.2 255.255.255.0 R2(config-if)#no shutdown R2(config)#interface g0/0/1 R2(config-if)#ip address 20.1.1.1 255.255.255.0 R2(config-if)#no shutdown
R3
Router#configure terminal Router(config)#hostname R3 R3(config)#interface g0/0/0 R3(config-if)#ip address 20.1.1.2 255.255.255.0 R3(config-if)#no shutdown R3(config)#interface loopback 0 R3(config-if)#ip address 200.1.1.1 255.255.255.0 R3(config-if)#interface loopback 1 R3(config-if)#ip address 200.1.2.1 255.255.255.0 R3(config-if)#interface loopback 2 R3(config-if)#ip address 200.1.3.1 255.255.255.02、配置OSPF
R1
R1(config)#router ospf 10 启用一个进程为10的OSPF R1(config-router)#router-id 1.1.1.1 配置路由器ID R1(config-router)#network 10.1.1.0 0.0.0.255 area 0 在区域0中宣告10.1.1.0/24网段(后面使用的是通配符掩码) R1(config-router)#network 100.1.1.0 0.0.0.255 area 0 R1(config-router)#network 100.1.2.0 0.0.0.255 area 0 R1(config-router)#network 100.1.3.0 0.0.0.255 area 0 R1(config-router)#log-adjacency-changes 显示邻接变化状态
R2
R2(config)#router ospf 10 进程号10可以不一样 R2(config-router)#router-id 2.2.2.2 R2(config-router)#network 10.1.1.0 0.0.0.255 area 0 R2(config-router)#network 20.1.1.0 0.0.0.255 area 0 R2(config-router)#log-adjacency-changes
R3
R3(config)#router ospf 10 R3(config-router)#router-id 3.3.3.3 R3(config-router)#network 20.1.1.0 0.0.0.255 area 0 R3(config-router)#network 200.1.1.0 0.0.0.255 area 0 R3(config-router)#network 200.1.2.0 0.0.0.255 area 0 R3(config-router)#network 200.1.3.0 0.0.0.255 area 03、验证
R1#show ip route 查看路由表,获取到了R3宣告的网络
R2#show ip ospf neighbor 查看邻居表
Router#show ip ospf database 查看链路状态数据库
单区域中只有第一类LSA和第二类LSA
参数介绍
第一类LSALink ID ====产生LSA设备的Router-ID
ADV Router(Advertise Router) ==== 通告条目产生的Router-ID
Link count ==== 宣告条目的个数
Age ==== 周期更新时间。有LSA的更新,将重置Age为0。Age到达1800秒后主动更新,然后重置Age为0
Seq# ==== 更新次数。有更新就加一
Checksum ==== 校验码
Link ID ==== DR的地址
ADV Router ====通告DR信息设备的Router-ID
按上面的IP地址配置
2、配置OSPFR1
R1(config)#router ospf 10 启用一个进程为10的OSPF R1(config-router)#router-id 1.1.1.1 配置路由器ID R1(config-router)#network 10.1.1.0 0.0.0.255 area 0 在区域0中宣告10.1.1.0/24网段(后面使用的是通配符掩码) R1(config-router)#network 100.1.1.0 0.0.0.255 area 0 R1(config-router)#network 100.1.2.0 0.0.0.255 area 0 R1(config-router)#network 100.1.3.0 0.0.0.255 area 0 R1(config-router)#log-adjacency-changes 显示邻接变化状态
R2
R2(config)#router ospf 10 进程号10可以不一样 R2(config-router)#router-id 2.2.2.2 R2(config-router)#network 10.1.1.0 0.0.0.255 area 0 R2(config-router)#network 20.1.1.0 0.0.0.255 area 10 在区域10中宣告10.1.1.0/24网段 R2(config-router)#log-adjacency-changes
R3
R3(config)#router ospf 10 R3(config-router)#router-id 3.3.3.3 R3(config-router)#network 20.1.1.0 0.0.0.255 area 10 R3(config-router)#network 200.1.1.0 0.0.0.255 area 10 R3(config-router)#network 200.1.2.0 0.0.0.255 area 10 R3(config-router)#network 200.1.3.0 0.0.0.255 area 103、验证
R1#show ip route 查看路由表,路由条目中出现OIA的路由条目
OIA表示从区域外获取的路由条目。
R1#show ip ospf database 查看数据库,多了第三类的LSA
该类LAS显示的是从区域外获取的路由条目
- Link ID ==== 路由条目(可以对比上面的路由表)
- ADV Router ==== ABR路由器的Router-ID
R1
R1(config)#router ospf 10 启用一个进程为10的OSPF R1(config-router)#router-id 1.1.1.1 配置路由器ID R1(config-router)#network 10.1.1.0 0.0.0.255 area 0 在区域0中宣告10.1.1.0/24网段(后面使用的是通配符掩码) R1(config-router)#network 100.1.1.0 0.0.0.255 area 0 R1(config-router)#network 100.1.2.0 0.0.0.255 area 0 R1(config-router)#network 100.1.3.0 0.0.0.255 area 0 R1(config-router)#log-adjacency-changes 显示邻接变化状态
R2
R2(config)#router ospf 10 进程号10可以不一样 R2(config-router)#router-id 2.2.2.2 R2(config-router)#network 10.1.1.0 0.0.0.255 area 0 R2(config-router)#network 20.1.1.0 0.0.0.255 area 10 在区域10中宣告10.1.1.0/24网段 R2(config-router)#log-adjacency-changes
R3
OSPF R3(config)#router ospf 10 R3(config-router)#router-id 3.3.3.3 R3(config-router)#network 20.1.1.0 0.0.0.255 area 10 R3(config-router)#redistribute eigrp 100 subnets 重分布EIGRP EIGRP R3(config)#router eigrp 100 启用自制系统号100的EIGRP进程 R3(config-router)#no auto-summary 关闭自动汇总 R3(config-router)#network 30.1.1.0 0.0.0.255 宣告网段 R3(config-router)#redistribute ospf 10 metric 10000 100 255 255 1500 重分布OSPF
R4
EIGRP R4(config)#router eigrp 100 R4(config-router)#no auto-summary R4(config-router)#network 30.1.1.0 0.0.0.255 R4(config-router)#network 200.1.1.0 0.0.0.255 R4(config-router)#network 200.1.2.0 0.0.0.255 R4(config-router)#network 200.1.3.0 0.0.0.2553、验证
R1#show ip route 查看路由表出现了OE2的路由条目
OE2表示通过ASBR从外部网络获取到的路由
R1#show ip ospf database 查看数据库,此时数据库中出现了第四类和第五类LSA
第四类LSALink ID ==== ASBR的Router-ID
ADV Router ==== ABR的Router-ID
Link ID ==== 等同于三类,明确的明细条目
ADV Router ==== ASBR的Router-ID
Tag ==== 标签
R1
R1(config)#router ospf 10 启用一个进程为10的OSPF R1(config-router)#router-id 1.1.1.1 配置路由器ID R1(config-router)#network 10.1.1.0 0.0.0.255 area 0 在区域0中宣告10.1.1.0/24网段(后面使用的是通配符掩码) R1(config-router)#network 100.1.1.0 0.0.0.255 area 0 R1(config-router)#network 100.1.2.0 0.0.0.255 area 0 R1(config-router)#network 100.1.3.0 0.0.0.255 area 0 R1(config-router)#log-adjacency-changes 显示邻接变化状态
R2
R2(config)#router ospf 10 进程号10可以不一样 R2(config-router)#router-id 2.2.2.2 R2(config-router)#network 10.1.1.0 0.0.0.255 area 0 R2(config-router)#network 20.1.1.0 0.0.0.255 area 10 在区域10中宣告10.1.1.0/24网段 R2(config-router)#log-adjacency-changes
R3
OSPF R3(config)#router ospf 10 R3(config-router)#router-id 3.3.3.3 R3(config-router)#network 20.1.1.0 0.0.0.255 area 10 R3(config-router)#network 30.1.1.0 0.0.0.255 area 20
R4
R4(config)#router ospf 10 R4(config-router)#router-id 4.4.4.4 R4(config-router)#network 30.1.1.0 0.0.0.255 area 20 R4(config-router)#network 200.1.1.0 0.0.0.255 area 20 R4(config-router)#network 200.1.2.0 0.0.0.255 area 20 R4(config-router)#network 200.1.3.0 0.0.0.255 area 203、验证
R1#show ip route 查看路由表,发现没有获取到Area 20中的网络宣告
众所周知,多区域OSPF的常规区域必须和骨干区域相连,然而在我们这个拓扑中Area 20 没有和骨干区域(Area 0 )相连,所以R1获取不到Area 20 的路由条目。
为了解决这个问题,将采用虚链路技术,从逻辑上让Area 20 与Area 0相连接。
4、配置虚链路由于Area 20 和Area 0之间隔了一个Area 10,所以在两个ABR路由器上配置虚链路(R2,R3)
R2
R2(config)#router ospf 10 R2(config-router)#area 10 virtual-link 3.3.3.3 R3的Router-ID
R3
R3(config)#router ospf 10 R3(config-router)#area 10 virtual-link 2.2.2.2 R2的Router-ID5、再次验证
R1#show ip route 查看路由表,此时路由表中获取到了Area 20 中宣告的路由条目
注意:虚链路只需要在区域的ABR上配置,如果中间隔了多个区域,每个区域都要配置虚链路
五、OSPF下发默认路由 拓扑 1、配置IP地址 2、配置路由RT1
RT1(config)#router ospf 10 RT1(config-router)#router-id 1.1.1.1 RT1(config-router)#network 10.1.1.0 0.0.0.255 area 0 RT1(config-router)#network 192.168.1.0 0.0.0.255 area 0
方法一:
RT2
RT2(config)#router ospf 10 RT2(config-router)#router-id 2.2.2.2 RT2(config-router)#network 10.1.1.0 0.0.0.255 area 0 RT2(config-router)#default-information originate allways 总是下发默认路由
方法二:
RT2
RT2(config)#ip route 0.0.0.0 0.0.0.0 serial 0/1/0 创建一条默认路由 RT2(config)#router ospf 10 RT2(config-router)#default-information originate 只有创建了默认路由才会下发默认路由
RT3
RT3(config)#ip route 0.0.0.0 0.0.0.0 serial 0/1/0 配置默认路由3、验证
RT1#show ip route 查看路由表,有一条O*E2的默认路由
R1
R1(config)#router ospf 10 R1(config-router)#router-id 1.1.1.1 R1(config-router)#network 10.1.1.0 0.0.0.255 area 0
R2
R2(config)#router ospf 10 R2(config-router)#router-id 2.2.2.2 R2(config-router)#network 10.1.1.0 0.0.0.255 area 0 R2(config-router)#network 20.1.1.0 0.0.0.255 area 0 R2(config-router)#log-adjacency-changes
R3
OSPF R3(config)#router ospf 10 R3(config-router)#router-id 3.3.3.3 R3(config-router)#network 20.1.1.0 0.0.0.255 area 10 R3(config-router)#network 100.1.1.0 0.0.0.255 area 10 R3(config-router)#network 100.1.2.0 0.0.0.255 area 10 R3(config-router)#network 100.1.3.0 0.0.0.255 area 10 R3(config-router)#redistribute eigrp 100 subnets 重分布EIGRP EIGRP R3(config)#router eigrp 100 R3(config-router)#no auto-summary R3(config-router)#network 30.1.1.0 0.0.0.255 R3(config-router)#redistribute ospf 10 metric 10000 100 150 255 1500
R4
R4(config)#router eigrp 100 R4(config-router)#no auto-summary R4(config-router)#network 30.1.1.0 0.0.0.255 R4(config-router)#network 200.1.1.0 0.0.0.255 R4(config-router)#network 200.1.2.0 0.0.0.255 R4(config-router)#network 200.1.3.0 0.0.0.2553、汇总
没有汇总前的路由条目
R2
R2(config)#router ospf 10 R2(config-router)#area 10 range 100.1.0.0 255.255.252.0
查看路由表,此时100开头的三条已经汇总成了一条
协议间汇总 == ASBR上汇总Packet Tracer 不支持协议间汇总,我用EVE来演示一下
汇总前路由表
R3
R2(config)#router ospf 10 R2(config-router)#summary-address 200.1.0.0 255.255.252.0
汇总后的路由表
RT1
RT1(config)#router ospf 10 RT1(config-router)#router-id 1.1.1.1 RT1(config-router)#network 1.1.1.0 0.0.0.255 area 0 RT1(config-router)#network 10.1.1.0 0.0.0.255 area 0
RT2
RT2(config)#router ospf 10 RT2(config-router)#router-id 2.2.2.2 RT2(config-router)#network 10.1.1.0 0.0.0.255 area 0 RT2(config-router)#network 20.1.1.0 0.0.0.255 area 0
RT3
RT3(config)#router ospf 10 RT3(config-router)#router-id 3.3.3.3 RT3(config-router)#network 20.1.1.0 0.0.0.255 area 0 RT3(config-router)#network 2.2.2.0 0.0.0.255 area 03、接口下认证
没有认证之前是可以建立邻居的
RT1
RT1(config)#interface g0/0/0 RT1(config-if)#ip ospf authentication-key cisco 创建秘钥cisco RT1(config-if)#ip ospf authentication 启用认证
邻居以断开
RT2
RT2(config)#interface g0/0/0 RT2(config-if)#ip ospf authentication-key cisco RT2(config-if)#ip ospf authentication
邻居已重新建立
RT2
RT2(config)#interface g0/0/1 RT2(config-if)#ip ospf message-digest-key 1 md5 cisco 创建以MD5加密的密文 RT2(config-if)#ip ospf authentication message-digest 启用认证
RT3
RT3(config)#interface g0/0/0 RT3(config-if)#ip ospf message-digest-key 1 md5 cisco RT3(config-if)#ip ospf authentication message-digest4、区域间认证
删除上面配置接口下的认证
区域间认证也要在接口下创建密码,在进程中启用,只在区域内有效。
明文认证RT2
RT2(config)#interface g0/0/1 RT2(config-if)#ip ospf authentication-key cisco RT2(config-router)#area 0 authentication 在进程中启用认证
RT3
RT3(config)#interface g0/0/0 RT3(config-if)#ip ospf authentication-key cisco RT3(config)#router ospf 10 RT3(config-router)#area 0 authentication 在进程中启用认证密文认证
RT1
RT1(config)#interface g0/0/0 RT1(config-if)#ip ospf message-digest-key 1 md5 cisco RT1(config)#router ospf 10 RT1(config-router)#area 0 authentication message-digest
RT2
RT2(config)#interface g0/0/0 RT2(config-if)#ip ospf message-digest-key 1 md5 cisco 创建以MD5加密的密文 RT2(config)#router ospf 10 RT2(config-router)#area 0 authentication message-digest 在进程中启用认证5、认证排错
清除前面配置的认证
在RT2上启用debug
RT2#debug ip ospf events
RT1上配置认证
RT1(config)#interface g0/0/0 RT1(config-if)#ip ospf message-digest-key 1 md5 cisco RT1(config-if)#ip ospf authentication message-digest
查看RT2上的Debug信息
认证类型不匹配,输入数据包是类型2,我们使用的类型0
类型0表示不认证,类型1表示明文认证,类型2表示密文认证
00:38:55: OSPF: Rcv pkt from 10.1.1.1, GigabitEthernet0/0/0 : Mismatch Authentication type. Input packet specified type 2, we use type 0
检验一下密码不匹配的Debug信息
RT2
RT2(config)#interface g0/0/0 RT2(config-if)#ip ospf message-digest-key 1 md5 huawei RT1使用的密码为cisco,这里使用huawei作为密码 RT2(config-if)#ip ospf authentication message-digest
查看RT2上的Debug信息
这里提示认证秘钥不匹配
00:43:25: OSPF: Rcv pkt from 10.1.1.1, GigabitEthernet0/0/0 : Mismatch Authentication Key - Message Digest Key 1八、OSPF特殊区域 拓扑 1、末节区域(普通STUB区域)
上面的拓扑可以看出Area10 为末节区域
1)、配置IP地址
2)、配置OSPF和EIGRP
没有配置末节区域的路由表
3)、配置末节(区域内所有路由器都要配置)
R1(config)#router ospf 10 R1(config-router)#area 10 stub R2(config)#router ospf 10 R2(config-router)#area 10 stub
配置STUB后OE2的路由条目从路由表中删除,同时创建了一条默认路由
并且在数据库中删除4类和5类的LSA
对于R1来说去往外部都要从G0/0/0通过,所以OIA的路由条目对于路由器来说也是浪费资源。
配置完全STUB区域(只在ABR上配置)
R2
R2(config)#router ospf 10 R2(config-router)#area 10 stub no-summary
此时OIA的路由条目也被删除,使用一条默认路由来代替OIA的路由
同时在数据库中删除3类、4类和5类的LSA,只保留O和O*IA 3类的默认路由
注意:观察路由表,只有一条默认路由,这条默认路由不可以手工配置,因为这样无法将R1中的网段宣告出去。
3、NSSA区域 拓扑1)、配置IP地址
2)、配置OSPF和EIGRP
没有配置NSSA的路由表
没有配置NSSA的数据库
3)、配置NSSA区域
将Area 10 配置为NSSA区域
R2(config)#router ospf 10 R2(config-router)#area 10 nssa R3(config)#router ospf 10 R3(config-router)#area 10 nssa R4(config)#router ospf 10 R4(config-router)#area 10 nssa
查看路由表,从ASBR传过来的OE2的路由条目转为ON2的路由条目,然而从ABR R2传递过来的路由条目被删除,因此这个路由表是不完美的(缺少路由条目)。
数据库中5类的LSA转换为7类的LSA
R2上配置一条NSSA默认路由
R2(config)#router ospf 10 R2(config-router)#area 10 nssa default-information-originate
配置完成之后,路由表中多了一条NSSA的默认路由
结论:
- 普通NSSA将4类和5类 的LSA从LSDB中删除
- 普通NSSA将ASBR传过来的5类LSA转换为7类LSA
- 普通NSSA将路由表中的OE2转换为ON2
- 创建一条NASS默认路由
上图路由表中还有一条OIA的路由条目,为了减小路由表
将area 10 nssa default-information-originate替换为area 10 nssa no-summary
R2(config)#router ospf 10 R2(config-router)#area 10 nssa no-summary
查看路由表,OIA的条目转换为了O*IA的默认
结论:
- 删除了3类、4类和5类的LSA
- 创建了一条3类的默认路由
注意:一般使用完全STUB和完全NSSA



