本次实验拓扑
备注:每个设备上各有一个Loopback0接口,IP为x.x.x.x/32,x为路由器的编号。
实验介绍
1、Site1、Site2、Site3上各有两种类型的业务,分别是视讯业务Video,语音业务Voip(用Loopback接口模拟)。
2、AR1、AR6、AR7分别是Site1、2、3的CE设备,AR2、AR3、AR4、AR5是ISP设备。
3、IP地址的规划如上图所示
4、Video业务和Voip业务需要相互隔离,PE和CE之间采用OSPF传递Video数据,PE和CE之间采用BGP传递Voip数据
5、要求实现 Video Site1和Site2、Site3之间都能相互通信,Site2和Site3之间的通信必须经过总部
6、要求实现 Voip 业务Site2可以和Site1、Site3通信,Site1和Site3的通信必须经过Site2
实验步骤
1、ISP基础的环境的搭建
PE和P设备之间使用ISIS协议完成基本的通信
PE和P设备之间建立BGP的VPNv4邻居
PE和P设备使用MPLS LDP建立LDP会话,LDP的LSR-ID为设备的Loopback0接口IP
现象展示:
使用ISIS保证Loopback接口之间相互可以通信
保证LDP会话的正常建立
设备之间建立起BGP的VPNv4邻居(因为IBGP水平分割的原因,这里要么做BGP的全互联要么做BGP的路由反射器)
2、MCE的配置
当一个私网需要根据业务或者网络划分VPN时,不同VPN用户间的业务需要完全隔离。此时,为每个VPN单独配置一台CE将增加用户的设备开支和维护成本。
具有MCE(Multi-VPN-Instance,CE多实例CE)功能的CE设备可以在MPLS VPN组网应用中承担多个VPN实例的CE功能,减少用户网络设备的投入。
1、首先配置Site2和Site3的Video业务
这里以AR6举例,在AR7的配置也是类似的
1、配置MCE
# 创建VRF
ip vpn-instance Video
ipv4-family
route-distinguisher 200:2 #其实不设置RD值也可以,这里设置RD值主要是考虑到如果PE和CE之间使用BGP协议,路由将无法发布
2、接口绑定VPN实例(要进入子接口配置,因为CE上可能有多个业务,但是CE和PE之间只有一条物理线路)
interface GigabitEthernet0/0/1.1
dot1q termination vid 1
ip binding vpn-instance Video
ip address 10.0.14.6 255.255.255.0
arp broadcast enable
interface LoopBack1
ip binding vpn-instance Video
ip address 100.0.213.2 255.255.255.0
现象:(需要额外注意的是AR4和AR6互联的子接口Dot1q的ID应该一致)
3、Video业务里 PE和CE采用OSPF通信,并将路由引入进BGP,以AR4(Site2-PE)举例
3、Hub-Spoke的配置(OSPF)
所谓的Hub-Spoke组网其实很简单就是要求Spoke站点之间的数据互访必须经过Hub节点的中转,实现Hub-Spoke最重要的地方在于RT值的规划
需求1:RT规划(Spoke)
让单个Spoke节点的Export-RT和Import RT不一致,例如Site2的Video业务的RT按如下规划<br /> Site2 Video Ex RT: 100:1<br /> Site2 Video Im RT:100:2<br /> 两个Spoke节点的Export RT一致,Import RT也一致<br /> Site3 Video Ex RT: 100:1<br /> Site3 Video Im RT:100:2<br />配置举例(AR4为例)
ip vpn-instance Video
ipv4-family
route-distinguisher 200:1
vpn-target 100:1 export-extcommunity
vpn-target 100:2 import-extcommunity
效果:Site2和Site3之间不能直接相互访问
需求2:RT规划(Hub)
将Hub节点一分为2,例如下图,创建出一个V1-AR2和V2-AR2
让V1-AR2专门接收路由,V2-AR2专门转发路由
所以V1-AR2的Video 业务RT规划只需要规划Import-RT为100:1
V2-AR2的Video 业务RT规划只需要规划Export-RT为100:2
1、Hub-PE节点(AR2)配置VPN实例
ip vpn-instance Video-IN
ipv4-family
route-distinguisher 100:1
vpn-target 100:1 import-extcommunity
interface GigabitEthernet0/0/1.1
dot1q termination vid 1
ip binding vpn-instance Video-IN
ip address 10.0.121.2 255.255.255.0
arp broadcast enable
ip vpn-instance Video-OUT
ipv4-family
route-distinguisher 100:2
vpn-target 100:2 export-extcommunity
interface GigabitEthernet0/0/1.2
dot1q termination vid 2
ip binding vpn-instance Video-OUT
ip address 10.0.122.2 255.255.255.0
arp broadcast enable
HUB-CE配置
ip vpn-instance Video
ipv4-family
route-distinguisher 100:3
interface LoopBack1
ip binding vpn-instance Video
ip address 100.0.123.1 255.255.255.0
interface GigabitEthernet0/0/1.1
dot1q termination vid 1
ip binding vpn-instance Video
ip address 10.0.121.1 255.255.255.0
arp broadcast enable
interface GigabitEthernet0/0/1.2
dot1q termination vid 2
ip binding vpn-instance Video
ip address 10.0.122.1 255.255.255.0
arp broadcast enable
2、Hub-PE和Hub-CE之间配置OSPF(配置略)
3、将CE路由引入进BGP进程当中,将来自Site2和Site3的路由引入进Site1内部
bgp 100
ipv4-family vpn-instance Video-OUT
import-route ospf 2 #实际上不能这么直接引入,要写路由策略,但是这是实验,所以就不去纠结这个问题了
ospf 1 router-id 21.21.21.21 vpn-instance Video-IN
import-route bgp #实际上不能这么直接引入,要写路由策略,但是这是实验,所以就不去纠结这个问题了
需求3:查看结果
AR2的Video-IN的路由表里面收到了Site2和Site3的Video路由
AR2的Video-IN的会将对应的LSA传递给AR1
但是AR1的路由表里面没有路由
Q:为什么?
因为只要是从OSPF的VPN实例发出来的LSA3、LSA5、LSA7都会带上DN-bit标记位
需求4:解决OSPF防环规则带来的一些问题
解决方案1:关闭DN-bit置位或者忽略对DN-bit防环的检查
dn-bit-check disable summary/ase/nssa #关闭dn-bit检查
dn-bit-set disable summary/ase/nssa #关闭dn-bit置位功能
解决方案2:一键关闭OSPF防环规则的限制
vpn-instance-capability simple
实验效果
1、在HUB-CE1(AR1)的OSPF进程下配置
2、在HUB-PE1(AR2)的出方向VPN实例OSPF进程下配置
3、在Spoke-CE上配置(因为当Spoke-PE将路由从BGP引入进OSPF的时候也是会带上DN-bit的)
Q:为什么在Spoke-CE看到的OSPF路由的Pre字段为150,OSPF在MPLS VPN里面传递LSA的特性怎么在这里失效了?
4、数据互访过程:AR7-AR5-AR3-AR2-AR1-AR2-AR3-AR4-AR6
4、Hub-Spoke的配置(BGP)
这里使用 Voip 业务Site2可以和Site1、Site3通信,Site1和Site3的通信必须经过Site2来进行模拟(相同的配置不做重复介绍)
需求1:RT规划
Site2-Voip-IN Import RT :200:2
Site2-Voip-OUT Export RT:200:1
Site1-Voip Import RT:200:1 Export RT:200:2
Site2-Voip Import RT: 200:1 Export RT:200:2
需求2:PE和CE之间配置BGP(以HUB-CE(AR6)和HUB-PE(AR4)为例)
bgp 65002
#
ipv4-family unicast
undo synchronization
#
ipv4-family vpn-instance Voip
network 101.0.213.0 255.255.255.0
peer 10.0.24.2 as-number 100
peer 10.0.34.2 as-number 100
bgp 100
ipv4-family vpn-instance Voip-IN
peer 10.0.24.6 as-number 65002
#
ipv4-family vpn-instance Voip-OUT
peer 10.0.34.6 as-number 65002
需求3:查看结果
AR4(Hub-PE)的Voip-IN里面能看到VPN实例Voip-IN的路由
AR4(Hub-PE)Voip-IN会将路由传递给AR6(Hub-CE),再由AR6传递给AR4(Hub-PE)的Voip-OUT
AR4(Hub-PE)的Voip-OUT路由表里面没有路由
这是因为AS-Num重复的问题导致的,AR4将路由给AR6打上100的AS-Num,AR6再次将路由传递回来,AR4发现AS-Num重复,将不接收
需求4:解决BGP防环规则导致的问题
bgp 100
ipv4-family vpn-instance Voip-OUT
peer 10.0.34.6 allow-as-loop
结果:AR7访问AR1经过了这样的路径:AR7-AR5-AR3-AR4-AR6-AR4-AR3-AR2-AR1
链接:MPLS VPN实验
提取码:4312