MPLS_微P恩
一、VPF 的概念
- 虚拟路由器:实现虚拟路由器与物理设备的隔离
二、运营商单臂路由结构
图中、R2作为PE设备,R2作为PE设备。假设:R1为京东,R7为阿里
R9与R2都是运营商设备
R2,R9配置如下:
R2#show running-config int eth0/2.12
Building configuration...
Current configuration : 91 bytes
!
interface Ethernet0/2.12
encapsulation dot1Q 12#封装dot1x
ip address 12.1.1.2 255.255.255.0
end
R2#show running-config int eth0/2.27
Building configuration...
Current configuration : 91 bytes
!
interface Ethernet0/2.27
encapsulation dot1Q 27
ip address 27.1.1.2 255.255.255.0
end
R9:
interface Ethernet0/2
switchport trunk encapsulation dot1q #与路由器对接为Trunk
switchport mode trunk
end
Switch#show running-config interface ethernet 0/0
Building configuration...
Current configuration : 80 bytes
!
interface Ethernet0/0
switchport access vlan 27
switchport mode access
end
Switch#show running-config interface ethernet 0/1
Building configuration...
Current configuration : 29 bytes
!
interface Ethernet0/1
不做隔离情况下:
当R1与R7写入默认路由指向运营商时候,京东与阿里公司能够互相通信了,这显然不是我们想要的结果。
做隔离的情况下:
ip vrf A1#创建vrf
interface Ethernet0/2.12
ip vrf forwarding A1
ip address 12.1.1.2 255.255.255.0 #创建好VRF后需要重新划分ip地址
此时 R1 能够Ping通运营商侧,Ping不通R7
在R2侧查看路由表:
R2#show ip route vrf A1
Gateway of last resort is not set
12.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 12.1.1.0/24 is directly connected, Ethernet0/2.12
L 12.1.1.2/32 is directly connected, Ethernet0/2.12
R2#
VRF 名字本地有效,一个路由器上有效。
CE与PE的集中路由协议配置
因为PE设备上存在VRF的概念,所以配置方式应该为PE的vrf 路由器与ce侧路由互联互通。
配置方法如下:
RIP:
CE端:
router rip
version 2
network 1.0.0.0
network 12.0.0.0
no auto-summary
PE端:
router rip
!
address-family ipv4 vrf A1#需要在ipv4地址簇的vrf下进行配置与宣告
network 12.0.0.0
no auto-summary
version 2
EIGRP:
CE端:
router eigrp 56
network 56.0.0.0
network 6.6.6.6
PE端:
router eigrp 100
address-family ipv4 vrf A2 autonomous-system 56#还需要创建专属于这张vrf的自治系统号
network 56.0.0.0
show ip eigrp vrf A2 neighbors#这样才能看到邻居关系
OSPF:
CE端:
router ospf 27
network 7.7.7.7 0.0.0.0 area 0
network 27.1.1.0 0.0.0.255 area 0
PE端:
router ospf 27 vrf B1#注意:vrf的特殊ospf 区域的配置,需要在进程号下携带vrf,确保此进程号与全局下的ospf 进程号不要冲突
R2(config-router)#network 27.1.1.0 0.0.0.255 a 0
BGP:
#一般情况下,与运营商PE侧是EBGP的对接方式,因为运营商的AS号码一般为固定且不可随便延深。
CE端:
router bgp 8
neighbor 58.1.1.5 remote-as 25
netwrok 8.8.8.8 mask 255.255.255.255
PE端:
ip vrf B2
rd 25:8
router bgp 25
address-family ipv4 vrf B2
neighbor 58.1.1.8 remote-as 8
运营商IBGP对等体传递路由
当用户侧ce与运营商侧pe配置好,路由可以通信时。需要通过运营商IBGP对等体邻居,P设备等打mpls标签的方式将A1用户路由送往A2,B1路由送往B2。那么会存在地址冲突问题,如何解决?
rd值:
rd值存在于vrf中、作为路由标识符。区分不同用户的相同路由,加入阿里接入运营商,网段为10.0.0.0/8 京东也为10.0.0.0/8。那么仅凭借路由网段不能区分出用户,但是vrf 中的rd 值可以区分。例如阿里分配的为 vrf A1 25:8 ,京东分配为vrf B1 25:9。路由打上标识就能知道来自于哪个vrf
RD值配置
R2(config)#ip vrf A1
R2(config-vrf)#rd 25:1
R2(config-vrf)#exi
R2(config-vrf)#exit
R2(config)#ip vrf B1
R2(config-vrf)#rd 25:7
R2(config-vrf)#end
运营商侧PE学习到CE侧内网路由
(1)重分布:
PE直接重分布CE侧内网路由
router bgp 25
address-family ipv4 vrf A1
red rip metric 1
需要注意地址簇装载:
因为这部分路由是在 vrf 下重分布的,但是这部分路由确装载了vpnv4下的地址簇下。因为PE的ipv4的BGP地址簇装不下这么长的路由字节。那么这个PE设备建立对等体链接时候,也需要建立VPNV4的IBGP对等体连接。
如果PE与CE使用BGP协议的话,会要求先配置Rd值。
运营商侧PE与PE建立对等体连接
运营商PE侧与运营商PE侧需要建立vpnv4的邻居关系,本来是ipv4 的地址簇就可以了。但是因为PE侧存在RD值的配置。那么PE侧学过来的路由会被装载到VPNV4的地址簇下,那么PE与另外的PE就需要建立VPNV4的邻居关系了。
PE建立VPNV4的邻居关系
需要在bgp下配置,vpnv4下激活。
查看到vpnv4已经激活:ipv4也激活,因为ipv4默认激活
问题:为什么PE不需要配置下一跳自我
从EBGP邻居学习到的路由会传递给我的IBGP邻居,下一跳不变,还是EBGP邻居,需要使用next-hop-self改变
因为两个 PE建立的邻居关系非IBGP邻居关系 而是VPNV4的BGP的邻居关系,所以不需要配置
下一跳自我
PE传递路由(查看是否通告路由)
show bgp vpnv4 unicast all neighbors 5.5.5.5 advertised-routes
明显查看 R2已经通告1.1.1.1 和7.7.7.7 的路由。但是此时R5路由表中:
确没有1.1.1.1 和7.7.7.7的路由,这是什么原因哪?
-------------------------------------------------------------------------------------------------------------------------------
因为R2传递的路由表过来,R5上存在多张路路由表,全局+A2+B2。你R2虽然引入了1.1.1.1 的路由和7.7.7.7的路由,但是我R5放在哪里哪?
RT
RT值控制带有vrf的路由能够装载到哪一个VRF表中
导出:export
导入:import
要将xx路由通过 mpls vpnv4的邻居关系传递给对方。则R2的VRF A1 导出1:1,则R5的 VRF B1 则要导入1:1
如果R5的路由 6.6.6.6通过 mpls vpnv4的邻居关系传递给对方 ,则导入6:6 ,R2的vrf A1 需要导入6:6
简而言之:
一端的PE设备的vrf 导入导出应该与另外一段的PE的vrf 导入导出值应该相等。
RT 配置:
R6配置默认路由指向PE,R1也是 这样R1与R6就能相互通信了