实验环境:DynamipsGUI 2.8
实验内容:通过配置MPLS ×××,来达到192.168.1.0/24和192.168.2.0/24的内网互通实验步骤:
一、配置IP地址:
R1:
CE1(config)#int f0/0
CE1(config-if)#ip add 192.168.1.1 255.255.255.0
CE1(config-if)#no sh
CE1(config)#int lo0 // 配置环回接口用于测试
CE1(config-if)#ip add 1.1.1 .1 255.255.255.255
CE1(config-if)#no sh
R2:
PE1(config)#int f0/0
PE1(config-if)#ip add192.168.1.2 255.255.255.0
PE1(config-if)#no sh
PE1(config)#int f0/1
PE1(config-if)#ip add 100.1.1.1 255.255.255.252
PE1(config-if)#no sh
PE1(config-if)#int lo0
PE1(config-if)#ip add 2.2.2 .2 255.255.255.255
PE1(config-if)#no shut
P(config)#int f0/1
P(config-if)#ip add 100.1.1.2 255.255.255.252
P(config-if)#no sh
P(config)#int f0/0
P(config-if)#ip add 100.1.1.5 255.255.255.252
P(config-if)#no sh
P(config)#int lo0
P(config-if)#ip add 3.3.3 .3 255.255.255.255
P(config-if)#no sh
PE2(config)#int f0/0
PE2(config-if)#ip add 100.1.1.6 255.255.255.252
PE2(config-if)#no sh
PE2(config)#int f0/1
PE2(config-if)#ip add 192.168.2.1 255.255.255.0
PE2(config-if)#no sh
PE2(config)#int lo0
PE2(config-if)#ip add 4.4.4 .4 255.255.255.255
CE2(config)#int s0/1
CE2(config-if)#ip add 192.168.2.2 255.255.255.0
CE2(config-if)#no sh
CE2(config)#int lo0
CE2(config-if)#ip add 5.5.5 .5 255.255.255.255
CE2(config-if)#no sh
配置好以后,可以在特权模式下使用“ show ip interface brief ”来查看路由器的接口信息,这里本人不再演示!!
二、配置动态路由协议OSPF(在PE1、P、PE2上做):
PE1(config)#router ospf 100
PE1(config-router)#router-id 2.2.2 .2 //指定Router-ID为2.2.2.2
PE1(config-router)#net 100.1.1.0 0.0.0 .3 area 0
PE1(config-router)#net 2.2.2 .2 0.0.0.0 area 0 //配置反子网掩码时,注意不要配错了
P(config)#router ospf 100
P(config-router)#router-id 3.3.3 .3
P(config-router)#net 100.1.1.0 0.0.0 .3 area 0
P(config-router)#net 100.1.1.4 0.0.0 .3 area 0
P(config-router)#net 3.3.3 .3 0.0.0.0 area 0
PE2(config)#router ospf 100
PE2(config-router)#router-id 4.4.4 .4
PE2(config-router)#net 100.1.1.4 0.0.0 .3 area 0
PE2(config-router)#net 4.4.4 .4 0.0.0.0 area 0
配置好以后,可以在特权模式下使用“ show ip route ”来查看路由器的路由表,本人不再演示!!
可以查看R3(P)的neighbor:
三、配置MPLS(PE和P路由器)
R2:
PE1(config)#ip cef //开启快速转发功能
PE1(config)#int f0/1
PE1(config-if)#mpls ip //在int f0/0上启用MPLS
R3:
P(config)#ip cef //开启快速转发功能
P(config)#int range f0/0
P(config-if)#mpls ip
P(config)#int range f0/1
P(config-if)#mpls ip
R4:
PE2(config)#ip cef
PE2(config)#int f0/0
PE2(config-if)#mpls ip
配置配置好以后,可以在特权模式下使用“ show mpls ldp nei ”来查看(PE和P设备)配置信息,
四、创建×××实例(在PE设备上):
R2:
PE1(config)#ip vrf ***a //在PE1上创建×××实例,名为“***a ”
PE1(config-vrf)#rd 100:1
//配置RD: 用于区分不别×××使用相同的IP,在IP包头加了RD以后,IPV4就变成了×××-IPV4,例如:***a和***b都使用网段 10.0.0 .0/8,***a的RD为100:1,***b的RD为200:1,这样就能成为唯一的标识了,RD只有在不同的×××具有相同的IP时才有用,可以在同一×××的不同site配置不一样的RD,在同一台PE下,原理上不同的×××实例有不同的IP可以有相同的RD,但是厂商为了防止客户的IP变动造成与其它客户IP一致,一般都不允许不同的×××实例配置相同的RD,比如思科就会提示” % Cannot set RD, check if it's unique”.
PE1(config-vrf)#route-target both 100:1
//配置RT (通过标识来过滤不同的×××)——route-target [export|import|both]xx:xx,例如route-target both 100:1,表示只发送和接收带有100:1标识的包,不同的×××有不同的RT,同一×××不同site的RT进出标识要相互匹配
PE1(config-vrf)#int f0/0
PE1(config-if)#ip vrf forwarding ***a //将接口绑定到×××实例中
% Interface FastEthernet0/0 IP address 192.168.1.2 removed due to enabling VRF vpan
//此时系统会提示接口的IP地址(f0/0)会被删除,必需重配IP,这是因为原来的IP是属于全局路由表的,现在这个接口是属于***a实例的路由表,需要重新配置IP地址(192.168.1.2 255.255.255.0)
PE1(config-if)#ip add 192.168.1.2 255.255.255.0
PE1(config-if)#no shut
R4:
PE2(config)#ip vrf ***a //在PE2上创建×××实例,名为“***a ”
PE2(config-vrf)#rd 100:1
PE2(config-vrf)#route-target both 100:1
PE2(config-vrf)# int f0/1
PE2(config-if)#ip vrf forwarding ***a
% Interface FastEthernet0/1 IP address 192.168.2.1 removed due to enabling VRF vpan
PE2(config-if)#ip add 192.168.2.1 255.255.255.0
PE2(config-if)#no shut
五、配置CE间静态路由,在CE上配置:
R1:
CE1(config)#ip route 5.5.5 .5 255.255.255.255 192.168.1.2 //配置一条去往5.5.5.5/32的静态路由
R4: CE2:(config)#ip route 1.1.1 .1 255.255.255.255 192.168.2.1 //配置一条去往1.1.1.1/32的静态路由
六、定义VRF路由(PE路由器与CE路由器之间可以定义静态路由,也可以运行动态路由协议),在PE上配置:
R2:
PE1(config)#ip route vrf *** a 1.1.1 .1 255.255.255.255 192.168.1.1
//从这条命令可以看出它是属于***a的路由
可以在特权模式下使用“show ip route vrf ***a ”来查看***a的路由:
R4:
PE2(config)#ip route vrf *** a 5.5.5 .5 255.255.255.255 192.168.2.2
//同样的,从这条命令可以看出它是属于***a的路由
“show ip route vrf ***a ”来查看***a的路由:
七、配置PE间的iBGP协议,用来承载大量私有前缀(配置MPBGP协议。PE路由器从CE路由器学习到VRF路由后,需要通过运行MPBGP协议通告给其他PE)
R2:
PE1(config)#router bgp 100
PE1(config-router)#bgp router-id 2.2.2 .2
PE1(config-router)#neighbor 4.4.4 .4 remote-as 100
PE1(config-router)#neighbor 4.4.4 .4 update-source lo0
PE1(config-router)#no synchronization
PE1(config-router)#no auto-summary
可以在特权模式下使用“show ip bgp summary ”来查看配置信息:
R4:
PE2(config)#router bgp 100
PE2(config-router)#bgp router-id 4.4.4 .4
PE2(config-router)#neighbor 2.2.2 .2 remote-as 100
PE2(config-router)#neighbor 2.2.2 .2 update-source lo0
PE2(config-router)#no synchronization
PE2(config-router)#no auto-summary
八、启用address-family ***v4的扩展团体属性:(在PE设备上做):
R2:
PE1(config)#router bgp 100
PE1(config-router)#address-family ***v4
PE1(config-router-af)#neighbor 4.4.4 .4 activate
PE1(config-router-af)#neighbor 4.4.4 .4 send-community extended
R4:
PE2(config)#router bgp 100
PE2(config-router)#address-family ***v4
PE2(config-router-af)#neighbor 2.2.2 .2 activate
PE2(config-router-af)#neighbor 2.2.2 .2 send-community extended
九、启用address-family ipv4 vrf ***a (在PE设备上配置):
R2:
PE1(config)#router bgp 100
PE1(config-router)#address-family ipv4 vrf ***a
PE1(config-router-af)# no synchronization
PE1(config-router-af)# no auto-summary
R4:
PE2(config)#router bgp 100
PE2(config-router)#address-family ipv4 vrf ***a
PE2(config-router-af)# no synchronization
PE2(config-router-af)# no auto-summary
十、将静态路由重分布到address-family ipv4 vrf ***a中(在PE设备上配置)
R2:
PE1(config)#router bgp 100
PE1(config-router)# address-family ipv4 vrf ***a
PE1(config-router-af)#redistribute static
R4:
PE2(config)#router bgp 100
PE2(config-router)# address-family ipv4 vrf ***a
PE2(config-router-af)#redistribute static
验证:用CE1(Source address 1.1.1 .1 ) Ping CE2 (Destination 5.5.5.5)
R1:
R5:
在这里看到的只是两个内网能够互通,要想数据包的走向和封装过程,需要用到 “traceroute”,具体操作过程如下:
同样的方法在CE2上操作:
这里就不再做过多的解释
实验完成!!!
此实验在小凡模拟器上完成,需要IOS的网友可以联系本人 QQ:821972656
如果图看不清楚,可以下载附件,或联系本人!!