目录

  • 理论
  • 前言
  • 拓扑和需求
  • 多合一的路由策略
  • 大体思路
  • 策略书写思路
  • 实验
  • 基础配置
  • 外部路由引入
  • 问题显现
  • 写路由策略(重点)
  • 写专门匹配5.5.5.5的优先级
  • 验收

理论

前言

双点双向路由引入是华为、思科IE考试时的难点,通常是做为IGP的最后一道难题出现,双点双向一道题包含了多个知识点以及这些知识点所面临的应用场景,我们大概会面临这些问题:

  • 将要面临的问题
  • 当我们面对次优路由时如何应对?用TAG ?还是用优先级?
  • 面对负载的场景,我们又如何通过开销影响选路?
  • 如何将多个需求融合到一个路由策略当中?一个进程只能使用一个策略;

拓扑和需求

路由引入正解(四)_双点双向引入(简洁版)_应用场景

  • 任务
  • 任务一:在AR2和AR4当中相互引入
  • 任务二:在AR5上将5.5.5.5引入OSPF,在AR3将3.3.3.3和172.16.0.1引入RIP
  • 任务三:AR2、AR4、AR1访问5.5.5.5不能次优、环路
  • 任务四:R1去往34和3走R4、R1去往23和172去R2

多合一的路由策略

我们知道,如果在AR2上将OSPF当中的路由引入到RIP时,必须得打上TAG,然后还得AR4上再次引入到OSPF时拒绝此标签,以防止路由回传导致环路或次优先路径,这是在AR2将OSPF引入RIP,要通过路由策略打TAG;那当AR4将RIP的路由引入到OSPF时也会打TAG,我们在AR2也要将这些TAG拒绝掉,防止RIP路由再回传到RIP,这还是在OSPF引入RIP的时候,要通过策略拒绝RIP的TAG;

  • 在AR2将OSPF的时候引入到RIP时,要做到两件事:
  1. 通过路由策略打上OSPF的TAG
  2. 通过路由策略拒绝AR3打的RIPTAG
  • 从AR4将RIP引入到OSPF时,我们要做到三件事:
  1. 通过路由策略打上RIP的TAG
  2. 通过路由策略拒绝AR2打的OSPFTAG
  3. 通过策略路由修改开销还得影响AR1的选路

以上是两个逆时针的方向,我们下面再来看一下顺时针的方向。

  • 从AR4引入OSPF时
  • 给OSPF打TAG
  • 同时拒绝AR2给RIP打的TAG
  • 从R2上引入RIP时
  • 给RIP打TAG
  • 同时拒绝AR4给OSFP打的TAG
  • 总结一下:
  1. 大部分操作都是AR1和AR4上操作
  2. 在引入的时候起码有两个需求,即要打TAG,又要拒绝TAG,还可能会有影响开销的需求,我们需要写到一个路由策略当中,因为一个方向只能调用一个路由策略。
  3. 我们需要在AR4或AR2上做两个策略,一个用于OSPF引进RIP时使用,另一个用户于RIP引入到OSPF时使用。同样的,AR2也是如此。

大体思路

大体步骤:

  1. 第一步是基础配置,RIP要关闭水平分割、关闭路由自动汇聚
  2. 第二步是AR5的5.5.5.5引入,在AR3将3.3.3.3和172.16.0.1引入
  3. 在记事本上写AR2和AR4的策略、因为在命令行当中写容易晕,而且不容易核对
  4. 在AR2和AR4当中应用所有策略
  5. 把专门针对5.5.5.5的优先级也写一下
  6. 检查

PS:我们在上一小节进行推理的时候,打TAG是直接在AR45做的,这样只能把5.5.5.5给标记上,我们在这里面直接去AR2上进行标识,这样会把OSPF域内所有的路由都能标识上。

为什么要关闭RIP水平分割?

RIP的水平分割与BGP差不多,在我们这个拓扑当中,我们需要AR3要给AR2和AR4传递路由,同时AR4和AR3也要给AR3传递路由,如果水平分割开着,因为水平分割规则使然,AR4给AR3发完路由之后,AR3不会再给AR4发,这样不行,所以要求它必须得发,所以要把水平分割关上。

策略书写思路

写策略之前我们先要定一下OSFP和RIP要分别要使用什么TAG:

  • OSPF使用TAG:111
  • RIP使用TAG:222
  • AR2上要写两个策略
  • OSPF_TO_RIP:兼顾打TAG、和拒绝TAG
  • RIP_TO_OSPF:即要兼顾打TAG、和拒绝TAG、还要兼顾开销
  • AR4上要写两个策略
  • OSPF_TO_RIP:兼顾打TAG、和拒绝TAG
  • RIP_TO_OSPF:即要兼顾打TAG、和拒绝TAG、还要兼顾开销
  • AR2和AR4的OSPF进程当中而且还要有修改5.5.5.5的优先级

实验

基础配置

记得把RIP的水平分割和自动汇总关上就行!

# AR5
# AR5注意一下,我们没有宣告5.5.5.5这个直连路由
# AR3上也没有宣告直连和静态
sys
sysn AR5
int l0
	ip add 5.5.5.5 32
int s4/0/0
	ip add 15.0.0.5 24
ospf 1 router-id 5.5.5.5
a 0
	network 15.0.0.5 0.0.0.0
	quit

# AR1
sys
sysn AR1
int l0
	ip add 1.1.1.1 32
int s4/0/0
	ip add 15.0.0.1 24
int g0/0/0
	ip add 12.0.0.1 24
int g0/0/1
	ip add 14.0.0.1 24
ospf 1 router-id 1.1.1.1
a 0
	network 1.1.1.1 0.0.0.0
	network 15.0.0.1 0.0.0.0
	network 12.0.0.1 0.0.0.0
	network 14.0.0.1 0.0.0.0
	quit

# AR4
sys
sysn AR4
int l0
	ip add 4.4.4.4 32
int g0/0/1
	ip add 14.0.0.4 24
int g0/0/0
	ip add 34.0.0.4 24
	undo rip split-horizon
ospf 1 router-id 4.4.4.4
a 0
	network 14.0.0.4 0.0.0.0
rip
	version 2
	undo summary
	network 34.0.0.0

# AR2
sys
sysn AR2
int l0
	ip add 2.2.2.2 32
int g0/0/1
	ip add 23.0.0.2 24
	undo rip split-horizon
int g0/0/0
	ip add 12.0.0.2 24
ospf 1 router-id 2.2.2.2
a 0
	network 12.0.0.2 0.0.0.0
rip
	version 2
	undo summary
	network 23.0.0.0
	quit

# AR3
sys
sysn AR3
int l0
	ip add 3.3.3.3 32
int g0/0/1
	ip add 34.0.0.3 24
	undo rip split-horizon
int g0/0/0
	ip add 23.0.0.3 24
	undo rip split-horizon
int l172
	ip add 172.16.0.1 24
rip 1
version 2
undo summary
	network 23.0.0.0
	network 34.0.0.0
	quit

外部路由引入

分为两个部分,AR5上的外部路由引入,和AR3上外部路由引入,都是引入直连

# AR5
ip ip-prefix wai_1 permit 5.5.5.5 32
route-policy wai_1_route permit no 10
	if-match ip-prefix wai_1
ospf
	a 0
		import-route direct route-policy wai_1
# AR3
ip ip-prefix wai_1 permit 3.3.3.3 32
ip ip-prefix wai_1 permit 172.16.0.1 24
route-policy wai_1_route permit no 10
	if-match ip-prefix wai_1
rip 1
		import-route direct route-policy wai_1

问题显现

先不做任何策略,把AR2和AR4上把RIP和OSPF相互引入

# AR2
ospf
	import-route rip
rip
	import-route ospf
# AR4
ospf
	import-route rip
rip
	import-route ospf

路由引入正解(四)_双点双向引入(简洁版)_应用场景_02

问题1:去往5.5.5.5次优

问题2:还有四个网段是负载

路由引入正解(四)_双点双向引入(简洁版)_OSPF_03

PS:AR4也是次优的

写路由策略(重点)

# AR2:ospf_to_rip
route-policy otr deny node 40
	if-match tag 999
route-policy otr permit node 50
	apply tag 111
route-policy otr permit node 100

rip
	import-route ospf route-policy otr

# AR2:rip_to_ospf
ip ip-prefix rip permit 3.3.3.3 32
ip ip-prefix rip permit 34.0.0.0 24

route-policy rto deny node 40
	if-match tag 111
route-policy rto permit node 45
	if-match ip-prefix rip
	apply cost 2
	apply tag 999
route-policy rto permit node 50
	apply tag 999
route-policy rto permit node 100
ospf
	a 0
	import-route rip route-policy rto

R4和R2的配置基本要上一模一样,就ip prefix那个地方稍微改了一下!

# AR4:ospf_to_rip
route-policy otr deny node 40
	if-match tag 999
route-policy otr permit node 50
	apply tag 111
route-policy otr permit node 100

rip
	import-route ospf route-policy otr
	quit

# AR4:rip_to_ospf
ip ip-prefix rip permit 23.0.0.0 24
ip ip-prefix rip permit 172.16.0.0 24

route-policy rto deny node 40
	if-match tag 111
route-policy rto permit node 45
	if-match ip-prefix rip
	apply cost 2
	apply tag 999
route-policy rto permit node 50
	apply tag 999
route-policy rto permit node 100
ospf
	a 0
	import-route rip route-policy rto
	quit

写专门匹配5.5.5.5的优先级

# AR2
ip ip-prefix test5 permit 5.5.5.5 32
route-policy test5 permit node 10
	if-match ip-prefix test5
	app preference 88
route-policy test5 permit node 20
ospf
preference ase route-policy test5
# AR4
ip ip-prefix test5 permit 5.5.5.5 32
route-policy test5 permit node 10
	if-match ip-prefix test5
	app preference 88
route-policy test5 permit node 20
ospf
preference ase route-policy test5

验收

路由引入正解(四)_双点双向引入(简洁版)_优先级_04

路由引入正解(四)_双点双向引入(简洁版)_优先级_05