组网要求:
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详解视频:
视频加载中...二、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不通。
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
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
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】即可获得。