号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部
晚上好,我的网工朋友。
VPN指的是在一个公共网络中实现私人网路的互联。MPLS VPN是VPN实现技术的一种,采用MPLS协议实现了VPN的转发。
MPLS VPN不仅优化了网络流量的管理,还提供了更高的服务质量和更低的运营成本。
但随着网络规模的扩大和复杂性的增加,如何在不同的自治系统之间实现有效的路由反射和VPN路由传递也难倒了不少朋友。
所以今天就来说说MPLS VPN在跨域网络中的互通配置,每一步我可都整理出来了,看过的朋友们可别再说不会了
今日文章阅读福利:《 MPLS-华为详解指南 》
私信我,发送暗号“MPLS”,即可获取此份内容详实的pdf。
01 MPLS VPN是什么
MPLS VPN(多协议标签交换虚拟专用网络)是一种利用MPLS技术实现的虚拟专用网络解决方案。
它为企业提供了一个安全、可靠且高效的网络连接方式,允许多个客户共享相同的物理网络基础设施,同时保持各自网络的隔离和安全性.
01 MPLS
MPLS通过在数据包上附加标签来进行路由选择,这些标签在网络中的标签交换路由器(LSR)之间传递。
MPLS支持多种路由协议,如OSPF、BGP等,使得网络设计更加灵活。
02 VPN
VPN是一种在公共网络基础设施上创建的虚拟网络,提供类似私有网络的安全和隔离性。
每个VPN实例都有独立的路由表和传输路径,确保不同客户的数据和路由信息相互隔离。
03 MPLS VPN的组成
-
PE设备:提供VPN服务的边缘设备,负责将客户的私有流量封装在MPLS标签中,并将其转发到网络中。
-
P设备:网络中的核心设备,负责处理标签交换和转发。
-
CE设备:客户的边缘设备,与PE设备相连,发送和接收VPN流量。
04 MPLS VPN的优势
-
扩展性:通过区域划分和标签交换,MPLS VPN可以支持大规模的网络扩展。
-
服务质量:MPLS VPN支持服务质量(QoS)的保证,可以为不同类型和优先级的流量提供不同的传输策略。
-
安全性:通过隔离和加密,MPLS VPN提供了高安全性的网络连接,保护客户数据不被未授权访问。
MPLS VPN不仅优化了网络流量的管理,还提供了更高的服务质量和更低的运营成本。
02 实验构思
如拓扑图所示,某企业在北京设有总部R10,在深圳设有分部R9,相互通过骨干网络建立MPLS VPN实现互通。
中间经过不同的自治系统,各个AS内部又有RR(R4&R8)进行路由反射,要求利用跨域MPLS VPN实现互通。
01 方案分析
- 带反射器,意味着PE有多个,所以不是让PE之间建立VPN邻居,在RR之间建立邻居
- RR是邻居,但最终VPN路由的发送者和接收者依旧是两边的PE设备
- 当PE收到VPN路由时,该PE的上一个VPN邻居是RR,该VPN路由的下一跳属性是对端的PE,流量的传输就不一定经过RR
- 隧道的建立是在每两个PE之间,AS内的PE间隧道由LDP建立,AS间的PE间隧道是由BGP建立
- RR之间起邻居,前提是RR之间的con int需要互通,RR之间也只是满足互通即可,进行路由传递。并不是必须需要建立隧道。但是PE之间是需要建立隧道
- 经过RR反射路由之后,PE之间也就可以互通了,互通之后PE之间才能建立隧道。
- 底层配置AS内部IGP互通,MPLS LSP建立,T标建立
总结:PE之间不建邻居,需要互通,建立隧道。RR之间需要互通,不用建立隧道,RR之间建立VPN邻居关系。
02 配置思路
1.保证AS内部的IGP路由互通,各个设备的环回口进行ping测试。
2.在各AS内部运行MPLS-LDP,保证T标隧道的建立。
——在各个设备查看mpls lsp
3.在PE-RR-ASBR1-ASBR2-RR-PE之间建立BGP公网邻居关系(ipv4-family unicast)
——反射器一般使用对等体组的方式建立邻居,减少配置。
——注意在undo default ipv4-unicast之后,需要在bgp全局下和地址族下两次加组才能激活邻居
4.在asbr上使用bgp发布本AS内的RR和PE的环回口路由。
——RR的路由是为了和对端RR将来建立vpnv4邻居,PE的路由是为了将来和对端PE建立公网隧道。
——发布完成后,检查各BGP设备是否收到公网路由。
5.在asbr上配置方式一的策略P1 P2,检查两个AS之间发布的公网bgp路由,都分配的BGP LSP。
03 进入正题
6.在PE-RR-RR-PE之间建立vpnv4邻居关系。
——此时反射器起到收集本AS内vpnv4路由的作用,然后传递给对端RR,并非反射。
7.CE和PE之间运行路由协议,发布私网路由(同单域)
8.在RR_上undo policy vpn-target不需要建立vpn实例,直接收发vpn路由。
——此时,PE收到的路由下一跳在反射器上,不是最佳路径。
9.当RR将vpn路由发送给对端RR,和发送给本AS内PE时,都需要使用不修改下一跳策略。
——使得PE收到的vpn路由,下一跳在对端PE上,从而可以递归到BGP LSP中,实现最短路径。next-hop-invariable
03 地址规划
-
各个路由器互联地址为 XY.1.1.(X/Y)/24,X以及Y为路由器编号,此地址为公网地址。
-
每个路由器的 Lopback0 接口的地址为 X.X.X.X/32,X 1为路由器编号。
-
R1-R10与 R7-R9的互联接口是私网地址,地址分别为192.168.10.0/24 以及 192.168.9.0/24。
配置好IP后,检测一遍直连通信(在现实项目中必须要有这一步,此处省略)
04 IGP配置
各个AS内部使用OSPF实现互通,配置省略,配置完成检查路由表,邻居表。
MPLS LDP配置省略,配置完成检查路径表。
05 PE互通
01 IBGP配置
配置BGP公网互通,14 34 35 58 87 BGP IPV4邻居建立,注意RR组配置的全局和地址族下的enbale和加组,注意互相之间的label能力开启。
以R4为例:
R3因为要传输ebgp路由,指邻居要注意下一跳属性更改。
02 EBGP配置
35之间建立EBGP邻居,通告RR路由是为了和对端RR建立VPNV4邻居,通告PE的路由是为了和对端PE建立公网隧道。
03 BGP标签交换
由于R2 R6两个P设备存在路由黑洞,所以17并不能不通。
用方式一建立隧道:在R3R5上配置B标交换,以R5为例,P1策略,为所有路由进行标签交换,P2策略,为所有已有标签的BGP路由再进行标签交换,对端RR,记得开启对端的label能力。
RR上面做好标签交换之后,还需要再次进行标签交换并分配给PE设备。
隧道建立结果:R3上产生了AS内的出标签,AS外路由的入标签:
在RR上收到路由后并且收到分配的标签:
RR将该路由反射给PE设备,标签不变:
04 建立VPNv4邻居
到此公网隧道就已经建好了,开始传递VPN路由配置,PE和RR之间是IBGP ,RR和对端RR是EBGP底层,RR收集自己本AS内的VPN路由再统一的传递给对端的RR。R1,R4起VPNV4邻居:
在R4也就是反射器上配置VPNV4邻居的时候,如果PE特别多的情况下用PEER组配置。
同时R4 R8建立VPNV4邻居关系。查看邻居关系:
05 私网路由传递
CE和PE之间运行路由协议发布私网路由,后续和单域配置一致,在R10上发布路由10.10.10.10,在R1上收到实例路由并转换为VPN路由。
R1会将该路由给R4,R4上面要忽略RT值接收该路由。R4收到之后将路由传递给对端的RR,也就是自己的VPN邻居,R8上同样配置忽略RT值进行接收。R8将路由传递给R7,到PE终端设备。
06 次优路径问题
此时PE收到的路由下一跳属性是在RR R8上(VPN路由会自动修改下一跳属性为本地,IPV4路由要手动配置)此时对于R7的这种转发路径来说,不是最优路径,应该希望R7的下一跳是对端PE,所有的中间设备只传递路由,不应该修改这些属性。
在R4上配置传递给R8的路由下一跳属性不更改,此时R8收到的路由下一跳属性就是1.1.1.1 ,R8将路由传递给R7时也不要修改下一跳。R8是反射器,可以配置对组策略,此时R7收到的路由下一跳就没有更改过,就是R1。
07 流量路径分析
在R1上查看VPN路由的标签V标
查看去往9.9.9.9的B标& T标
R1-R2
打上V标1027,B标下一跳递归到7.7.7.7 的1030
去往7.7.7.7递归到下一跳3.3.3.3,打上T标1024
R2-R3
T标到R3次末跳弹出
R3-R5
B标交换
R5-R6
B标次末跳弹出,进入AS200内的T标交换
R6-R7
T标次末跳弹出,只剩下V标
08 路由路径分析
R1-R4
R1自动将从CE学到的BGP路由转换为vpnv4路由,R1-R4抓包:
R4-R8
R4将10.10的vpnv4路由传递给公网邻居,R4出口:
R8入口:可以看到T标,B标的交换
R8-R7
rr默认会把收到的所有vpnv4路由转给所有PE吗?我觉得会,但问了还没回我。
06 常见问题
问题1:PE1 PE2之间没有IGP互通,怎么起MP BGP邻居
PE之间起邻居其实是公网互通之后就能起。就是BGP不同区域下的互通问题。建立EBGP需要注意多跳。
问题2:PE1 PE2之间VPN路由传递之后V标?RT?
V标不会变,中间都是T标交换流量转发,RT两边配置成对。
问题3:公网BGP路由有效前提是下一跳可达,对于VPN BGP路由传递时前提是下一跳可达并且有标签交换路径LSP,单域中,LDP协议分配T标生成LSP
问题4:PE2收到VPN路由之后,下一跳是PE1,是否可达?
可达,因为是EBGP邻居。
问题5:该PE1下一跳是否有隧道LSP?
没有隧道,PE2收到路由是BGP协议收到的,LDP并不会为BGP分配标签,默认只为IGP路由分配标签,就算强制让LDP为BGP分配标签,中间链路上存在的P设备并没有BGP路由,LSP必然中断。单域中,IGP+LDP就可以建立PE间隧道;而跨域环境下,两个PE之间没有标签转发隧道。
原创:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部