详解路由策略route-policy和引入路由配置

组网要求:

1. R1在RIP视图中只使用network命令激活GE0/0/0接口,而三个Loopback接口不能激活RIP,要求R2能够通过RIP学习到除了192.168.3.0/24路由之外的其他两条Loopback路由;

2. 在R2上部署路由重发布,将RIP路由注入到OSPF使得R3能够学习到192.168.1.0/24及

192.168.2.0/24这两条路由,同时要求192.168.1.0/24这条路由在R3的路由表中度量值显示10,而192.168.2.0/24这条路由在R3的路由表中度量值显示20,两条外部路由类型均为Type2。

3. 要求R3能够访问192.168.1.1及192.168.2.1。

一、eNSP详解视频:

重播 播放 00:00 / 00:00 正在直播 00:00 进入全屏 点击按住可拖动视频

二、IP设置:

R1:Loopback0:192.168.1.1/24,Loopback0:192.168.2.1/24,Loopback0:192.168.3.1/24,GE0/0/0:192.168.12.1/24

R2:GE0/0/0:192.168.12.2/24,GE0/0/1:192.168.23.2/24

R3:GE0/0/0:192.168.23.3/24

三、配置步骤:

1. 完成三台路由器的基本配置

R1的配置如下:

[R1] interface GigabitEthernet 0/0/0

[R1-GigabitEthernet0/0/0] ip address 192.168.12.1 24

[R1] interface LoopBack1

[R1-LoopBack1] ip address 192.168.1.1 24

[R1] interface LoopBack2

[R1-LoopBack2] ip address 192.168.2.1 24

[R1] interface LoopBack3

[R1-LoopBack3] ip address 192.168.3.1 24

[R1] rip 1

[R1-rip-1] version 2

#指定RIP的版本为版本2

[R1-rip-1] network 192.168.12.0

#在GE0/0/0口上激活RIP

R2的配置如下:

[R2] interface GigabitEthernet 0/0/0

[R2-GigabitEthernet0/0/0] ip address 192.168.12.2 24

[R2] interface GigabitEthernet 0/0/1

[R2-GigabitEthernet0/0/1] ip address 192.168.23.2 24

[R2] rip 1

[R2-rip-1] version 2

[R2-rip-1] network 192.168.12.0

[R2] ospf 1 router-id 2.2.2.2

[R2-ospf-1] area 0

[R2-ospf-1-area-0.0.0.0] network 192.168.23.0 0.0.0.255

R3的配置如下:

[R3] interface GigabitEthernet 0/0/0

[R3-GigabitEthernet0/0/0] ip address 192.168.23.3 24

[R3] ospf 1 router-id 3.3.3.3

[R3-ospf-1] area 0

[R3-ospf-1-area-0.0.0.0] network 192.168.23.0 0.0.0.255

2. R1上将直连路由注入RIP

R1增加的配置如下:

[R1] acl 2000

[R1-acl-basic-2000] rule deny source 192.168.3.0 0

[R1-acl-basic-2000] rule permit

[R1-acl-basic-2000] quit

[R1] route-policy 1and2 permit node 10

[R1-route-policy] if-match acl 2000

[R1-route-policy] quit

[R1] rip

[R1-rip-1] import-route direct route-policy 1and2

题目的需求是不允许在R1的Loopback接口上激活RIPv2,但又希望RIP域能学习到这些

Loopback路由,因此需在R1上部署路由重发布,将直连路由注入RIP。但是如果直接执行import-route direct命令,则R1所有的直连路由都会被注入到RIP,这显然是不满足需求的。因此我们首先在R1上定义一个ACL 2000,使用这个ACL来抓取希望注入的路由(在上面的配置中采用的思路是拒绝192.168.3.0路由,但是允许其他路由),然后再配置一个route-policy 1and2来调用这个ACL,最后在执行重发布动作时关联该route-policy。如此R1将直连路由注入到RIP时,不会注入192.168.3.0路由。

有一个细节需要注意,那就是当使用ACL来抓取路由时ACL的书写方法,例如要抓取192.168.1.0/24这条路由,ACL的规则是“rule permit source 192.168.1.0 0.0.0.0“,为什么通配符不是0.0.0.255而是0.0.0.0呢?这是因为基本ACL在匹配路由时,只能匹配路由的网络号,而无法匹配路由的掩码,因此通配符写成0.0.0.0,表示精确匹配192.168.1.0这个网络号。

完成上述配置后,先看一下R2的路由表:

[R2] display ip routing-table protocol rip

Destination/Mask Proto Pre Cost Flags NextHop Interface

192.168.1.0/24 RIP 100 1 D 192.168.12.1 GigabitEthernet0/0/0

192.168.2.0/24 RIP 100 1 D 192.168.12.1 GigabitEthernet0/0/0

我们看到,R2的路由表中只有192.168.1.0/24及192.168.2.0/24两条RIP路由,没有学习到192.168.3.0/24的路由,实现了需求。

3. 在R2上将RIP路由注入OSPF

R2的配置增加如下:

#书写两个ACL,分别抓取192.168.1.0及192.168.2.0这两条路由:

[R2] acl 2001

[R2-acl-basic-2001] rule permit source 192.168.1.0 0

[R2-acl-basic-2001] quit

[R2] acl 2002

[R2-acl-basic-2002] rule permit source 192.168.2.0 0

[R2-acl-basic-2002] quit

#创建一个route-policy,配置三个node:

[R2] route-policy r2o permit node 10

[R2-route-policy] if-match acl 2001

[R2-route-policy] apply cost 10

[R2-route-policy] apply cost-type type-2

[R2-route-policy] quit

[R2] route-policy r2o permit node 20

[R2-route-policy] if-match acl 2002

[R2-route-policy] apply cost 20

[R2-route-policy] apply cost-type type-2

[R2-route-policy] quit

[R2]route-policy r2o permit node 30

[R2] ospf 1

[R2-ospf-1] import-route rip route-policy r2o

在R2上将RIP路由注入OSPF时,如果直接执行import-route rip命令,则R2路由表中所有的RIP路由都会被注入到OSPF,并且路由在注入OSPF后的度量值是统一的一个值,而我们的需求是要对192.168.1.0/24及192.168.2.0/24这两条路由区分对待,前者的度量值设置为10,后者设置为20,这就需要在R2执行路由重发布动作时关联一个route-policy来执行策略。总体的思路是先配置一个ACL2001来抓取192.168.1.0路由,再配置一个ACL2002抓取192.168.2.0路由,然后创建一个route-policy r2o,这个route-policy有三个node,序号分别为10、20及30,序号10调用ACL2001,对满足这个ACL的路由设置度量值10,同时设置外部路由类型为type2;序号20调用ACL2002,对满足该ACL的路由设置度量值20,同时设置外部路由类型为type2。值得注意的是route-policy在所有node的末尾有一个隐含的“拒绝所有“的node,所以为了把其他的路由(例如192.168.12.0/24)放通,还需要加一个route-policy r2o permit node 30,node30的行为是permit,而且没有配置任何if-match域间,所以意思是允许所有。

完成配置后,查看一下R3的路由表:

[R3] display ip routing-table protocol ospf

Destination/Mask Proto Pre Cost Flags NextHop Interface

192.168.1.0/24 O_ASE 150 10 D 192.168.23.2 GigabitEthernet0/0/0

192.168.2.0/24 O_ASE 150 20 D 192.168.23.2 GigabitEthernet0/0/0

192.168.12.0/24 O_ASE 150 1 D 192.168.23.2 GigabitEthernet0/0/0

R3已经学习到RIP路由域中的三条路由。192.168.1.0/24及192.168.2.0/24这两条路由的Cost 值正如需求所期望。

4. 在R3上将OSPF路由注入RIP

最后,要实现R3能够访问192.168.1.1及192.168.2.1,就要实现路由的双向互通。现在R3已经学习到这两个网段的路由,而R1却还没有获知192.168.23.0/24的路由,因此还需要在R2上部署路由重发布,将OSPF路由注入RIP。

R2增加的配置如下:

[R2] rip

[R2-rip-1] import-route ospf 1

如此一来R1就能够学习到192.168.23.0/24,R3也就能访问到192.168.1.1及192.168.2.1了。

四、R1的主要配置文件:

#

sysname R1

#

router id 1.1.1.1

#

acl number 2000

rule 5 deny source 192.168.3.0 0.0.0.255

rule 10 permit

#

interface GigabitEthernet0/0/0

ip address 192.168.12.1 255.255.255.0

#

interface LoopBack0

ip address 192.168.1.1 255.255.255.0

#

interface LoopBack1

ip address 192.168.2.1 255.255.255.0

#

interface LoopBack2

ip address 192.168.3.1 255.255.255.0

#

rip 1

version 2

network 192.168.12.0

import-route direct route-policy 1and2

#

route-policy 1and2 permit node 10

if-match acl 2000

#

return

五、R2的主要配置文件:

#

sysname R2

#

router id 2.2.2.2

#

acl number 2001

rule 10 permit source 192.168.1.0 0

acl number 2002

rule 5 permit source 192.168.2.0 0

#

interface GigabitEthernet0/0/0

ip address 192.168.12.2 255.255.255.0

#

interface GigabitEthernet0/0/1

ip address 192.168.23.2 255.255.255.0

#

interface GigabitEthernet0/0/2

#

interface NULL0

#

ospf 1

import-route rip 1 route-policy r2o

area 0.0.0.0

network 192.168.23.0 0.0.0.255

#

rip 1

version 2

network 192.168.12.0

import-route ospf 1

#

route-policy r2o permit node 10

if-match acl 2001

apply cost 10

apply cost-type type-2

#

route-policy r2o permit node 20

if-match acl 2002

apply cost 20

apply cost-type type-2

#

route-policy r2o permit node 30

#

return

六、R3的主要配置文件:

#

sysname R3

#

router id 3.3.3.3

#

interface GigabitEthernet0/0/0

ip address 192.168.23.3 255.255.255.0

#

ospf 1

area 0.0.0.0

network 192.168.23.0 0.0.0.255

#

route-policy r2o permit node 20

#

return

七、验证结果

1、R3 ping 192.168.1.1和192.168.2.1是通的,ping 192.168.3.1不通。

<R3>ping 192.168.1.1

PING 192.168.1.1: 56 data bytes, press CTRL_C to break

Reply from 192.168.1.1: bytes=56 Sequence=1 ttl=254 time=200 ms

Reply from 192.168.1.1: bytes=56 Sequence=2 ttl=254 time=30 ms

Reply from 192.168.1.1: bytes=56 Sequence=3 ttl=254 time=30 ms

Reply from 192.168.1.1: bytes=56 Sequence=4 ttl=254 time=20 ms

Reply from 192.168.1.1: bytes=56 Sequence=5 ttl=254 time=30 ms

--- 192.168.1.1 ping statistics ---

5 packet(s) transmitted

5 packet(s) received

0.00% packet loss

round-trip min/avg/max = 20/62/200 ms

<R3>ping 192.168.2.1

PING 192.168.2.1: 56 data bytes, press CTRL_C to break

Reply from 192.168.2.1: bytes=56 Sequence=1 ttl=254 time=30 ms

Reply from 192.168.2.1: bytes=56 Sequence=2 ttl=254 time=30 ms

Reply from 192.168.2.1: bytes=56 Sequence=3 ttl=254 time=30 ms

Reply from 192.168.2.1: bytes=56 Sequence=4 ttl=254 time=30 ms

Reply from 192.168.2.1: bytes=56 Sequence=5 ttl=254 time=30 ms

--- 192.168.2.1 ping statistics ---

5 packet(s) transmitted

5 packet(s) received

0.00% packet loss

round-trip min/avg/max = 30/30/30 ms

<R3>ping 192.168.3.1

PING 192.168.3.1: 56 data bytes, press CTRL_C to break

Request time out

Request time out

Request time out

Request time out

Request time out

--- 192.168.3.1 ping statistics ---

5 packet(s) transmitted

0 packet(s) received

100.00% packet loss

本实验是通过华为模拟器eNSP1.3.00.100版(最新版)完成。该软件还包含CE、CX、NE40E、NE5000E、NE9000E、USG6000V的设备IOS,可完成复杂网络测试,需要该模拟器的朋友,可以转发此文关注小编,私信小编【666】即可获得。

如果需要本文章的网络拓扑和配置,请私信小编【888】即可获得。