cisco路由器的双点双向路由重分布实验
最近在通信机房里完成的一个采用5台cisco路由器组网的双点双向路由重分布实验,下面是拓扑图。此实验涉及到LSA、RIP、ASBR和OSDF协议等众多知识的应用和掌握。
双点双向重分布实验
基本配置:根据拓扑图完成接口、路由协议的配置。
在R3 上双向重分布,R1 上只做RIP 重分布会不会环路?为什么?
R1(config-router)#do sh ip os da 此类路由由R3 通告(ASBR)
Type-5 AS External Link States
Link ID ADV Router Age Seq# Checksum Tag
14.1.1.0 33.1.1.1 159 0x80000001 0x00DA91 0
不会。原因在于在此类型LSA是有R3自己产生,如果要去往RIP域内路由,下一跳就是自己,路由器本身到达此网络是不会选择这条路由的,所以路由表中也就不会有到达此网络的另一个路由进程的路径。
现在在R1上做双向重分布,查看路由表:
此时,次优路径已经形成。分析一下次优路由形成的原因:
第一,刚才R3 Redistribute 后,R1、R2、R3 上立即产生type-5的lsa,说明RIP 路由条目已经进入OSPF 进程,重分布开始生效。这时ospf 会将数据库内的条目通告其他节点,并且保持ospf 相同域内的lsa 数据库相同。
有意思的地方出现了,既然ASBR 1和ASBR 2在相同的ospf域,那为什么两个点的路由表不同?不难发现,R1选择了OSPF协议,R3选择了RIP协议。RIP 路由是从R3 进来的,进来之后,又重分布进了ospf域,分布前是RIP域内路由,分布后成了OE2路由,由于OE2的AD比RIP 的AD小,最终RIP 被丢弃,OE2留下。在选择ospf 协议的一端show ip rip database可以看到数据库的具体路由条目由从哪里学到。
由于RIP的域内路由从R3进来被重分布进OSPF成了OE2路由,优先被放进路由表,不要忘了R1、R3同时做的双向重分布,换句话说,环路是由RIP产生的,如果R1 和R3 上的OE2 路由再被重分布RIP域,RIP域内路由会怎么做?被丢掉,为什么?因为这条路由的metric比直连端口的metric 要大,被丢弃,由于水平分割法则,RIP域内直连路由不会再被通告回去。
有兴趣看几遍这个就明白了。OK!不罗嗦了,进入实验环节:
方案一:使用分布列表
- R1(config)#ip access-list standard huda 命名访问列表
- R1(config-std-nacl)#deny 14.0.0.0 0.255.255.255 过滤的路由
- R1(config-std-nacl)#deny 34.0.0.0 0.255.255.255
- R1(config-std-nacl)#deny 45.0.0.0 0.255.255.255
- R1(config-std-nacl)#deny 55.0.0.0 0.255.255.255
- R1(config-std-nacl)#deny 66.0.0.0 0.255.255.255
- R1(config-std-nacl)#permit any
- R1(config)#router ospf 110
- R1(config-router)#distribute-list huda in s1/1 分发列表中调用
- R3(config)#ip access-list standard huda
- R3(config-std-nacl)#deny 14.0.0.0 0.255.255.255
- R3(config-std-nacl)#deny 34.0.0.0 0.255.255.255
- R3(config-std-nacl)#deny 45.0.0.0 0.255.255.255
- R3(config-std-nacl)#deny 55.0.0.0 0.255.255.255
- R3(config-std-nacl)#deny 66.0.0.0 0.255.255.255
- R3(config-std-nacl)#permit any
- R3(config-std-nacl)#router os 110
- R3(config-router)#distribute-list huda in s1/0
查看R1、R3 路由表:
- R1(config-router)#do sh ip ro os
- 33.0.0.0/32 is subnetted, 1 subnets
- O 33.1.1.1 [110/129] via 12.1.1.2, 00:04:09, Serial1/1
- 23.0.0.0/24 is subnetted, 1 subnets
- O 23.1.1.0 [110/128] via 12.1.1.2, 00:04:09, Serial1/1
- 22.0.0.0/32 is subnetted, 1 subnets
- O 22.1.1.1 [110/65] via 12.1.1.2, 00:04:09, Serial1/1
- R3(config-router)#do sh ip ro os
- 22.0.0.0/32 is subnetted, 1 subnets
- O 22.1.1.1 [110/65] via 23.1.1.2, 00:01:40, Serial1/0
- 11.0.0.0/32 is subnetted, 1 subnets
- O 11.1.1.1 [110/129] via 23.1.1.2, 00:01:40, Serial1/0
- 12.0.0.0/24 is subnetted, 1 subnets
- O 12.1.1.0 [110/128] via 23.1.1.2, 00:01:40, Serial1/0
- O E2 路由被过滤掉。
- distribute-list out后面根协议,过滤效果更好。表示在RIP重分布前就被过滤掉
- R1(config-router)#distribute-list huda out rip
- R3(config-router)#distribute-list huda out rip
方案二:修改AD 值,最简单最有效的方法
R1(config)#router os 110
R1(config-router)#distance 121 33.1.1.1 0.0.0.0
R3(config)#router os 110
R3(config-router)#distance 121 11.1.1.1 0.0.0.0
将OSPF对端过来的路由AD设大于120,这里121后面跟对端的Router-id
实验完成!