华为数通HCIP-VPN技术-mpls vpn

VPN(虚拟专线网络)

作用:实现广域互联(不同地域局域网之间跨越公网进行互通);

VPN(Virtual Private Network,虚拟专用网络)指的是在一个公共网络中实现虚拟的专用网络,从而使得用户能够基于该专用网络实现通信的技术。

MPLS VPN

设备角色:

PE(运营商边界设备):

CE:VPN用户企业的边界设备

P:运营商

VPN实例

一般一个企业对应一个VPN实例,通过实例名称作为区分;

RD(路由标识符)

作用:用于区分来自不同的VPN实例的私网路由;

原理:会根据私网路由一起在公网上传递;

特点:不同的VPN实例不能配置相同的RD值;

RT(路由目标值)

作用:控制VPN路由的接收,实现VPN实例之间的访问控制;

原理:私网路由在公网上传递时,会携带对应vpn实例的出方向RT,对端PE收到后会对比路由中的出方向RT,与自身连接的VPN实例的入方向RT是否一致,一致则传递进该VPN实例,不一致则不传;

因此,在配置时,需要互通的VPN实例之间的RT值需要交叉一致;

VRF(虚拟路由转发表/VPN实例路由表)

在PE设备上,每个VPN实例都会有一张对应的VRF表,功能跟路由表一致,但是专门用于存放VPN路由;

关键信息:私网标签、vpn实例名称,下一跳/出接口,tunnel id;

display ip routing-table vpn-instance a //查看vpn实例a的路由表

控制层面工作过程:

1、CE会将需要跟对端通信的路由,以普通路由的形式传递给PE;

2、PE会将从CE收到的路由,记录进对应的VRF表项中,记为私网路由;

3、PE会为私网路由,分配一个私网标签,并且将该路由以update报文的形式传递给所有vpnv4邻居;

update报文:携带非ipv4单播路由时,通过mp-reach-NLRI字段携带路由;

NLRI:携带私网路由、掩码、私网标签;

下一跳:以自身作为下一跳;

扩展团体属性:出方向RT;

4、PE收到对端PE发送过来的VPNv4路由时,会做出以下检查:

(1)下一跳是否可达;

(2)下一跳是否存在完整的隧道;

(3)检查VPNv4路由的出方向RT与本设备连接的其他的VPN实例的RT是否一致;

当上述三个条件均满足,则该路由会被学习进VRF表项中,并且BGP VPN路由表中该路由也会显示为有效

配置:

1、CE设备与PE设备建立普通的EBGP/IGP邻居关系,并且宣告/引入需要进行广域互联的路由给PE设备;

CE1:

bgp 700

peer 10.1.17.1 as-number 100

network 8.8.8.8 32

2、PE上创建VPN实例,并且设置RD、RT值;

PE1:

ip vpn-instance a

route-distinguisher 1:1

vpn-target 1:2 export-extcommunity

vpn-target 2:1 import-extcommunity

PE2:

ip vpn-instance b

route-distinguisher 2:2

vpn-target 2:1 export-extcommunity

vpn-target 1:2 import-extcommunity

3、将VPN实例绑定到连接到对应客户的接口下

interface GigabitEthernet0/0/0

ip binding vpn-instance a

ip address 10.1.17.1 24 //绑定完成后,ip地址会清空,需要重新配置

4、在PE上与CE建立BGP/IGP的实例邻居(以BGP为例)

bgp 100

ipv4-family vpn-instance a //进入VPN实例a视图

peer 10.1.17.7 as-number 700 //peer CE设备建立邻居

5、PE1与PE2之间跨跳建立VPNv4邻居

bgp 100

peer 4.4.4.4 as-number 100

peer 4.4.4.4 connect-interface LoopBack0

ipv4-family vpnv4 //进入BGP的VPNv4协议栈

peer 4.4.4.4 enable //与4.4.4.4建立vpnv4邻居

如果想减轻设备负担,可以关闭PE之间的普通ipv4邻居:

BGP 100

ipv4-family unicast

undo peer 4.4.4.4 enable

6、在CE上将BGP引入到IGP

CE2:

isis 1

import-route bgp

display ip vpn-instance verbose //查看VPN实例的配置以及绑定情况

display bgp vpnv4 all peer //查看VPN实例邻居

display bgp vpnv4 all routing-table //查看BGP VPN路由表

display ip routing-table vpn-instance a verbose //查看VRF a详细信息,其中包含私网标签以及tunnel id;

如果PE与CE之间运行IGP(以ospf 3为例)

CE2:

ospf 3 router-id 6.6.6.6

area 0.0.0.0

network 10.1.46.0 0.0.0.255 //与PE建立普通的ospf邻居

import-route isis 1 //将需要传递给对面的私网路由引入到ospf 3

PE2:

ospf 3 router-id 4.4.4.4 vpn-instance b

area 0.0.0.0

network 10.1.46.0 0.0.0.255 //与CE设备建立VPN实例邻居

bgp 100

ipv4-family vpn-instance b

import-route ospf 3 //在BGP中创建vpn实例b视图,引入ospf3

ospf 3

import-route bgp //将bgp引入致ospf 3,使对端的路由,可以传递给CE设备;

CE2:

isis 1

import-route ospf 3 //将ospf 3引入到isis,使对端的路由,可以传递给本企业的设备;

实验二

场景

某公司有两个客户网络,分别是网络A与网络B,该公司希望两个网络内的员工能通过私网路由相互访问。该公司希望在网络边缘设备上使用BGP协议将私网路由发送给运营商网络。运营商通过MP-BGP实现私网路由在公共网络上的传递,同时使用MPLS VPN技术保证客户网络信息的安全性和私密性。

步骤一 基本配置与IP编址

(IP已经配置好,记得检查接口配置信息)

AR1

AR2

AR3

AR4

AR5

步骤二 ISP配置单区域OSPF

R1 R2 R3使用ospf router-id为环回接口 宣告10.1.12.0/24,10.1.23.0/24网段以及各自loopback 0接口(自行配置,宣告最精确的地址)

AR1

复制代码
ospf 1 router-id 1.1.1.1
area 0
network 10.1.12.0 0.0.0.255
network 1.1.1.1 0.0.0.0

AR2

复制代码
ospf 1 router-id 2.2.2.2
area 0
network 10.1.12.0 0.0.0.255
network 10.1.23.0 0.0.0.255
network 2.2.2.2 0.0.0.0

AR3

复制代码
ospf 1 router-id 3.3.3.3 
area 0.0.0.0 
network 3.3.3.3 0.0.0.0 
network 10.1.23.0 0.0.0.255 

dis ospf peer brief查看邻居关系建立情况

配置完成后,查看设备的路由表,并ISP的连通性。

<R2>dis ip routing-table (截图)

步骤三 配置运营商网络设备使用MPLS LDP协议转发客户的私网数据

R1,R2,R3 运行MPLS,并且运行MPLS LDP协议进行标签的发放

在各LSR上配置全局MPLS和LDP

复制代码
[R1]mpls lsr-id 1.1.1.1
[R1]mpls 
Info: Mpls starting, please wait... OK!
[R1-mpls]quit
[R1]mpls ldp
[R1-mpls-ldp]

R2 R3基本一样 R2 LSR ID为2.2.2.2 R3为3.3.3.3

在各LSR接口上配置MPLS和LDP

复制代码
[R1]int s1/0/0

[R1-Serial1/0/0]mpls 
[R1-Serial1/0/0]mpls ldp

R2的 S1/0/0 S3/0/0和R3的S3/0/0也一样要配置

配置完成后,在节点上执行display mpls ldp session命令,可以看到R1和R2和R3之间的本地LDP会话状态为"Operational"。

R1\]display mpls ldp session 步骤四 LDP建立LSP 在配置完成后,各LSR已根据默认的LDP LSP触发策略,即所有主机路由触发建立LDP LSP。 在各LSR上执行display mpls ldp lsp命令,可以看到所有主机路由都触发建立了LDP LSP。 \[R1\]display mpls ldp lsp 步骤五 配置运营商网络边缘设备的VPN实例 在R1与R3上分别为客户A网络与客户B网络配置VPN实例。分配客户A网络的VPN实例为ClientA,RD值为100:100,Export Target与Import Target为100:200;分配给客户B网络的VPN实例为ClientB,RD值为200:200,Export Target与Import Target为100:200。 [R1]ip vpn-instance ClientA ###创建VPN实例,实例名为ClientA [R1-vpn-instance-ClientA]route-distinguisher 100:100 ###为VPN实例地址族配置路由标识RD值为100:100 [R1-vpn-instance-ClientA-af-ipv4]vpn-target 100:200 both ###配置VPN实例出入方向VPN-Target扩展团体属性为100:200 [R1]int s3/0/0 ###在CE和PE之间的接口 [R1-Serial3/0/0]ip binding vpn-instance ClientA ###将PE上的S3/0/0接口与VPN实例ClientA绑定 注意:绑定实例后IP地址需要重新配 R3配置的也一样 实例名为ClientB RD为200:200,RT为100:200,在S1/0/0接口绑定实例,记得重新配IP 配置完成后,分别在R1与R3上查看配置的VPN实例。 \[R1\]display ip vpn-instance verbose ![](https://file.jishuzhan.net/article/1685989096301793282/9b1fc6c67aa1450383c02546635c825e.png) 步骤六 配置客户网络边缘设备与运营商网络边缘设备使用BGP协议传递路由 客户A网络的AS号为100,运营商网络的AS号为200,客户B网络的AS号为300。客户网络边缘设备与运营商网络边缘设备建立BGP的邻居关系,使客户私网路由通过BGP协议通告给运营商网络边缘设备。 [R4]bgp 100 [R4-bgp]peer 10.1.14.1 as-number 200 [R4-bgp]network 192.168.10.0 24 [R1]bgp 200 [R1-bgp]ipv4-family vpn-instance ClientA [R1-bgp-ClientA]peer 10.1.14.4 as-number 100 R3与R5配置也差不多,指定VPN实例ClientB与IPv4地址族进行关联,peer指向对端建立BGP对等体邻居,通告一条172.16.10.0/24路由给ISP [R5]bgp 300 [R5-bgp]peer 10.1.35.3 as-number 200 [R5-bgp]network 172.16.10.0 24 [R3]bgp 200 [R3-bgp]ipv4-family vpn-instance ClientB [R3-bgp-ClientB]peer 10.1.35.5 as-number 300 配置完成后,分别在R1与R4,R3与R5上查看BGP邻居关系的建立情况。 \[R1\]display bgp vpnv4 vpn-instance ClientA peer (一定要Established状态) ![](https://file.jishuzhan.net/article/1685989096301793282/03581b3ee88d431eaabee718f37522b6.png) \[R4\]display bgp peer (一定要Established状态) \[R3\]display bgp vpnv4 vpn-instance ClientB peer (一定要Established状态) ![](https://file.jishuzhan.net/article/1685989096301793282/89b23a2d832546fe8cbbb6df8f4cc9a1.png) \[R5\]display bgp peer (一定要Established状态) 分别在R1与R3上查看VPN路由表学到的客户网络的私网路由 \[R1\]dis bgp vpnv4 vpn-instance ClientA routing-table(正常情况应该会有192.168.10.0/24的BGP路由) \[R3\]dis bgp vpnv4 vpn-instance ClientB routing-table(正常情况应该会有172.16.10.0/24的BGP路由) 分别在R1与R3上查看VPN路由表学到的客户网络的私网路由。 \[R1\]display ip routing-table vpn-instance ClientA(圈出EBGP路由条目) \[R3\]display ip routing-table vpn-instance ClientB(圈出EBGP路由条目) ![](https://file.jishuzhan.net/article/1685989096301793282/63319f07be38433c98f9684a00a8d256.png) 步骤七 配置运营商网络设备使用MP-BGP协议传递客户的私网路由 在R1与R3之间采用MP-BGP协议传递客户的私网路由,R2不运行BGP(MPLS可以解决路由黑洞) \[R1\]bgp 200 \[R1-bgp\] peer 3.3.3.3 as-number 200 ###peer指向R3建立BGP对等体AS号为200 \[R1-bgp\]peer 3.3.3.3 next-hop-local###指定更新源 \[R1-bgp\]ipv4-family vpn-instance ClientA ###启用BGP的IPv4地址族并进入BGP-VPNv4地址族视图 \[R1-bgp-af-vpnv4\] peer 3.3.3.3 enable ###启用指定IBGP对等体 (缺省情况下,只有BGP-IPv4单播地址族的对等体是自动使能的。即在BGP视图下配置peer as-number命令后,系统会自动配置相应的peer enable命令。其他地址族视图下都必须手动使能) R3差不多的反过来配置就行 配置完成后,分别在R1与R3上查看MP-BGP邻居关系的建立情况。 \[R1\]display bgp vpnv4 all peer (此时应该有两个BGP邻居都是Established状态) \[R3\]display bgp vpnv4 all peer (此时应该有两个BGP邻居都是Established状态)

相关推荐
DevSecOps选型指南5 小时前
2025软件供应链安全最佳实践︱证券DevSecOps下供应链与开源治理实践
网络·安全·web安全·开源·代码审计·软件供应链安全
国科安芯6 小时前
抗辐照MCU在卫星载荷电机控制器中的实践探索
网络·嵌入式硬件·硬件工程·智能硬件·空间计算
EasyDSS7 小时前
国标GB28181设备管理软件EasyGBS远程视频监控方案助力高效安全运营
网络·人工智能
玩转4G物联网7 小时前
零基础玩转物联网-串口转以太网模块如何快速实现与TCP服务器通信
服务器·网络·物联网·网络协议·tcp/ip·http·fs100p
派阿喵搞电子8 小时前
Ubuntu下有关UDP网络通信的指令
linux·服务器·网络
搬码临时工9 小时前
外网访问内网服务器常用的三种简单操作步骤方法,本地搭建网址轻松让公网连接
服务器·网络·智能路由器
Fortinet_CHINA9 小时前
引领AI安全新时代 Accelerate 2025北亚巡展·北京站成功举办
网络·安全
dustcell.10 小时前
Cisco Packer Tracer 综合实验
网络
量子-Alex11 小时前
【反无人机检测】C2FDrone:基于视觉Transformer网络的无人机间由粗到细检测
网络·transformer·无人机
三掌柜66612 小时前
HarmonyOS开发:显示图片功能详解
华为·harmonyos