MPLS VPN跨域网络互通不会?这样配置轻松拿捏

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

晚上好,我的网工朋友。

VPN指的是在一个公共网络中实现私人网路的互联。MPLS VPN是VPN实现技术的一种,采用MPLS协议实现了VPN的转发。

MPLS VPN不仅优化了网络流量的管理,还提供了更高的服务质量和更低的运营成本。
但随着网络规模的扩大和复杂性的增加,如何在不同的自治系统之间实现有效的路由反射和VPN路由传递也难倒了不少朋友。
所以今天就来说说MPLS VPN在跨域网络中的互通配置,每一步我可都整理出来了,看过的朋友们可别再说不会了

今日文章阅读福利:《 MPLS-华为详解指南 》

876ca2bf7b4ec4ae9efc372b38229705.jpeg

私信我,发送暗号“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 实验构思

416ce6f05748da76ba7a9a2259d40cdf.jpeg

如拓扑图所示,某企业在北京设有总部R10,在深圳设有分部R9,相互通过骨干网络建立MPLS VPN实现互通。

中间经过不同的自治系统,各个AS内部又有RR(R4&R8)进行路由反射,要求利用跨域MPLS VPN实现互通。

01 方案分析 

  1. 带反射器,意味着PE有多个,所以不是让PE之间建立VPN邻居,在RR之间建立邻居
  2. RR是邻居,但最终VPN路由的发送者和接收者依旧是两边的PE设备
  3. 当PE收到VPN路由时,该PE的上一个VPN邻居是RR,该VPN路由的下一跳属性是对端的PE,流量的传输就不一定经过RR
  4. 隧道的建立是在每两个PE之间,AS内的PE间隧道由LDP建立,AS间的PE间隧道是由BGP建立
  5. RR之间起邻居,前提是RR之间的con int需要互通,RR之间也只是满足互通即可,进行路由传递。并不是必须需要建立隧道。但是PE之间是需要建立隧道
  6. 经过RR反射路由之后,PE之间也就可以互通了,互通之后PE之间才能建立隧道。
  7. 底层配置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 地址规划

  1. 各个路由器互联地址为 XY.1.1.(X/Y)/24,X以及Y为路由器编号,此地址为公网地址。

  2. 每个路由器的 Lopback0 接口的地址为 X.X.X.X/32,X 1为路由器编号。

  3. 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为例:

4eb4213eda102a24139aa7bb4a685b50.jpeg

R3因为要传输ebgp路由,指邻居要注意下一跳属性更改。

02 EBGP配置

35之间建立EBGP邻居,通告RR路由是为了和对端RR建立VPNV4邻居,通告PE的路由是为了和对端PE建立公网隧道。

d40e7a3fc7a4366ff0a2b2100c9eaa6b.jpeg

03 BGP标签交换

由于R2 R6两个P设备存在路由黑洞,所以17并不能不通。

用方式一建立隧道:在R3R5上配置B标交换,以R5为例,P1策略,为所有路由进行标签交换,P2策略,为所有已有标签的BGP路由再进行标签交换,对端RR,记得开启对端的label能力。

RR上面做好标签交换之后,还需要再次进行标签交换并分配给PE设备。

1b97677f54e312068fe2dbdcd05c07f2.jpeg

隧道建立结果:R3上产生了AS内的出标签,AS外路由的入标签:

46efd489f5b19c8b257045b6d470bb0f.jpeg

在RR上收到路由后并且收到分配的标签:

ba9896a828240615901f5f1e9813f020.jpeg

RR将该路由反射给PE设备,标签不变:

caa16591e369cfc54c97fc474091ada3.jpeg

04 建立VPNv4邻居

到此公网隧道就已经建好了,开始传递VPN路由配置,PE和RR之间是IBGP ,RR和对端RR是EBGP底层,RR收集自己本AS内的VPN路由再统一的传递给对端的RR。R1,R4起VPNV4邻居:

3fca3cae38d0fd16de8ef67a862f13aa.jpeg

在R4也就是反射器上配置VPNV4邻居的时候,如果PE特别多的情况下用PEER组配置。

f7621ea7c61072605d138357a487ba69.jpeg

同时R4 R8建立VPNV4邻居关系。查看邻居关系:

f3d59ee327b8906b594cd20c2326a0f5.jpeg

05 私网路由传递

CE和PE之间运行路由协议发布私网路由,后续和单域配置一致,在R10上发布路由10.10.10.10,在R1上收到实例路由并转换为VPN路由。

86a6cfcf558c8649f97d218a170e75ab.jpeg

R1会将该路由给R4,R4上面要忽略RT值接收该路由。R4收到之后将路由传递给对端的RR,也就是自己的VPN邻居,R8上同样配置忽略RT值进行接收。R8将路由传递给R7,到PE终端设备。

06b2c372d04f532f32f9f55761cadad0.jpeg
ec41273cd5ac0a6a8c106c6f64cb9baf.jpeg

06 次优路径问题

此时PE收到的路由下一跳属性是在RR R8上(VPN路由会自动修改下一跳属性为本地,IPV4路由要手动配置)此时对于R7的这种转发路径来说,不是最优路径,应该希望R7的下一跳是对端PE,所有的中间设备只传递路由,不应该修改这些属性。

在R4上配置传递给R8的路由下一跳属性不更改,此时R8收到的路由下一跳属性就是1.1.1.1 ,R8将路由传递给R7时也不要修改下一跳。R8是反射器,可以配置对组策略,此时R7收到的路由下一跳就没有更改过,就是R1。

42543e8a305b6916f264bfcb125778f2.jpeg

07 流量路径分析

在R1上查看VPN路由的标签V标

9d78afd4e63156ac9bb2f8287762a4a6.jpeg

查看去往9.9.9.9的B标& T标

5ffc71ecd943519e13f57459060adcc7.jpeg
6a4d748fbbc305e445312825c8c7655c.jpeg

R1-R2

打上V标1027,B标下一跳递归到7.7.7.7 的1030

430f2efb879dadf651af4291ed1cbc37.jpeg

6239953391a770f5d4ee4f44ab6ade8d.jpeg

去往7.7.7.7递归到下一跳3.3.3.3,打上T标1024

b2a79333a7db3dfaf2c066000c9f538b.jpeg

R2-R3

T标到R3次末跳弹出

1ee41690f509a0433da2fe268d21da65.jpeg
9100b98f92e1dccb2ec7c033f4bff484.jpeg

R3-R5

B标交换

fa212a1088c9bb4ca37f1b0559b0c5c8.jpeg
32a5e2d786bbf3a13584f8d9b0edea23.jpeg

R5-R6

B标次末跳弹出,进入AS200内的T标交换

bec441cd923e69d2c804fda42c51a7cd.jpeg

148b283c4b5fd45173425408c979c8a1.jpeg

R6-R7

T标次末跳弹出,只剩下V标

8240afa601ae274095738ae4bc816e5e.jpeg

08 路由路径分析

R1-R4

R1自动将从CE学到的BGP路由转换为vpnv4路由,R1-R4抓包:

ad4422498dda3fb6d6c5a2ee6f421981.jpeg

6031ab5b43f26651985d362eb3e408d5.jpeg

R4-R8 

R4将10.10的vpnv4路由传递给公网邻居,R4出口:

23def8cfdacc1dc3016ffdd7b9dcbb6b.jpeg

R8入口:可以看到T标,B标的交换

48fe23ef358c8ff8fa1a4a1429ce9049.jpeg

073cb7a6f3d6c672d1b3fb22a211adaf.jpeg

R8-R7

rr默认会把收到的所有vpnv4路由转给所有PE吗?我觉得会,但问了还没回我。

8c2e67c820bc280833eb44361ca62ae0.jpeg

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年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值