MPLS VPN实验

一、实验需求

1、拓扑图

2、实验需求

  1. 搭建 MPLS VPN 网络:利用图中的路由器设备,构建一个基于 MPLS(多协议标签交换)的 VPN(虚拟专用网络)骨干网络,实现不同客户站点之间的通信隔离与安全互联。
  2. 客户站点互联:使客户 A 的站点 1 和站点 2 能够通过 MPLS VPN 骨干网络进行通信,同时客户 B 的站点 1 和站点 2 也能通过该骨干网络通信,并且不同客户的站点之间不能直接通信。
  3. 路由协议配置:在骨干网络和客户站点边界配置合适的路由协议(如 BGP),确保路由信息的正确传递和标签交换路径(LSP)的建立。
  4. IP 地址规划与应用:按照图中给定的 IP 地址进行配置,保证网络中各设备接口 IP 地址的正确设置,实现网络层的连通性。

二、需求分析

  1. 网络拓扑结构:图中展示了一个典型的 MPLS VPN 网络拓扑,包含客户边缘路由器(CE)、提供商边缘路由器(PE)和提供商路由器(P)。需要理解各设备在网络中的角色和功能,以及它们之间的连接关系。
  2. IP 地址与子网划分:不同设备接口的 IP 地址和子网掩码已给定,需要正确配置以实现网络层可达。同时,要注意不同子网之间的路由关系。
  3. 路由协议选择:使用 BGP(边界网关协议)在 MPLS VPN 骨干网络中传递路由信息,BGP 可以处理不同自治系统(AS)之间的路由,满足实验中客户站点与骨干网络以及不同客户站点间的路由需求。
  4. MPLS 标签交换:MPLS 通过为数据包分配标签,实现快速的标签交换转发。需要在骨干网络设备上配置 MPLS 相关功能,建立 LSP,确保数据包能够沿着正确路径转发。

三、实验步骤

1、基础配置IP

bash 复制代码
CE1

system - view
interface GigabitEthernet0/0/0
ip address 172.16.0.2 30

CE2

system - view
interface GigabitEthernet0/0/0
ip address 172.16.0.6 30

CE3

system - view
interface GigabitEthernet0/0/0
ip address 192.168.0.2 30

CE4

system - view
interface GigabitEthernet0/0/0
ip address 192.168.0.6 30

PE1

system - view
interface LoopBack0
ip address 1.1.1.1 32

interface GigabitEthernet0/0/0
ip address 172.16.0.1 30

interface GigabitEthernet0/0/1
ip address 10.1.12.1 30

interface GigabitEthernet0/0/2
ip address 192.168.0.1 30

PE2

system - view
interface LoopBack0
ip address 4.4.4.4 32

interface GigabitEthernet0/0/0
ip address 172.16.0.5 30

interface GigabitEthernet0/0/1
ip address 10.1.34.2 30

interface GigabitEthernet0/0/2
ip address 192.168.0.5 30

P1

system - view
interface LoopBack0
ip address 2.2.2.2 32

interface GigabitEthernet0/0/0
ip address 10.1.12.2 30

interface GigabitEthernet0/0/1
ip address 10.1.23.1 30

P2

system - view
interface LoopBack0
ip address 3.3.3.3 32

interface GigabitEthernet0/0/0
ip address 10.1.23.2 30

interface GigabitEthernet0/0/1
ip address 10.1.34.1 30

2、IGP配置

(1)选择IGP协议

  • 这里以 OSPF 为例。在 P1、P2、PE1、PE2 设备上配置 OSPF。

    bash 复制代码
    PE1
    [PE1]ospf 100 router-id 1.1.1.1
    [PE1-ospf-100]a 0 
    [PE1-ospf-100-area-0.0.0.0]network  1.1.1.1 0.0.0.0
    [PE1-ospf-100-area-0.0.0.0]network 10.1.12.1 0.0.0.0
    
    PE2
    [PE2]ospf 100 router-id 4.4.4.4 
    [PE2-ospf-100]a 0
    [PE2-ospf-100-area-0.0.0.0]network 4.4.4.4 0.0.0.0
    [PE2-ospf-100-area-0.0.0.0]net 10.1.34.4 0.0.0.0
    
    P1
    [P1]ospf 100 router-id 2.2.2.2
    [P1-ospf-100]a 0	
    [P1-ospf-100-area-0.0.0.0]network 10.1.12.2 0.0.0.0
    [P1-ospf-100-area-0.0.0.0]network 10.1.23.2 0.0.0.0
    [P1-ospf-100-area-0.0.0.0]net 2.2.2.2 0.0.0.0
    
    P2
    [P2]ospf 100 router-id 3.3.3.3 
    [P2-ospf-100]a 0
    [P2-ospf-100-area-0.0.0.0]network 3.3.3.3 0.0.0.0
    [P2-ospf-100-area-0.0.0.0]network 10.1.23.3 0.0.0.0
    [P2-ospf-100-area-0.0.0.0]network 10.1.34.3 0.0.0.0

    3、MPLS 及 MPLS LDP 配置

(1)MPLS 基本配置

在 PE1、PE2、P1、P2 设备上使能 MPLS 能力

(2)MPLS LDP 配置

完成骨干网络设备间 MPLS LDP 邻居建立和标签交换路径(LSP)的创建。

bash 复制代码
PE1
[PE1]mpls lsr-id 1.1.1.1
[PE1]mpls
[PE1]mpls ldp
[PE1]interface g0/0/1
[PE1-GigabitEthernet0/0/1]mpls
[PE1-GigabitEthernet0/0/1]mpls ldp

PE2
[PE2]mpls lsr-id 4.4.4.4
[PE2] mpls
[PE2-mpls] mpls ldp
[PE2-GigabitEthernet0/0/0] mpls
[PE2-GigabitEthernet0/0/0] mpls ldp

P1
[P1]MPLS lsr-id 2.2.2.2
[P1] mpls
[P1-mpls] mpls ldp
[P1-GigabitEthernet0/0/0] mpls
[P1-GigabitEthernet0/0/0] mpls ldp
[P1-GigabitEthernet0/0/1] mpls
[P1-GigabitEthernet0/0/1] mpls ldp

P2
[P2]mpls lsr-id 3.3.3.3 
[P2] mpls
[P2-mpls] mpls ldp
[P2-GigabitEthernet0/0/0] mpls
[P2-GigabitEthernet0/0/0] mpls ldp
[P2-GigabitEthernet0/0/1] mpls
[P2-GigabitEthernet0/0/1] mpls ldp

4、BGP配置

(1)EBGP 配置(CE 与 PE 之间)

在 CE1 - CE4 上配置与对应 PE 的 EBGP 邻居关系。

CE1 、CE3、PE1

bash 复制代码
[CE1]bgp 64512
[CE1-bgp]router-id 172.16.0.2
[CE1-bgp]peer 172.16.0.1 as-number 2345
[CE1-bgp]network 172.16.10.0 2

[CE3]BGP 64513
[CE3-bgp]router-id 192.168.0.2 
[CE3-bgp]peer 192.168.0.1 as-number 2345
[CE3-bgp]net 192.168.1.0 24

进A
[PE1]bgp 2345
[PE1-bgp]ipv4-family vpn-instance A 
[PE1-bgp-A]router-id 172.16.0.1
[PE1-bgp-A]PEER 172.16.0.2 as-number 64512
进B
[PE1-bgp]ipv4-family vpn-instance B		
[PE1-bgp-B]router-id 192.168.0.1
[PE1-bgp-B]peer 192.168.0.2 as-number 64513

CE2、CE4、PE2

bash 复制代码
[CE2]ospf 1 router-id 172.16.0.6 
[CE2-ospf-1]a 0
[CE2-ospf-1-area-0.0.0.0]network 172.16.0.6 0.0.0.0
[CE2-ospf-1-area-0.0.0.0]net 172.16.2.0 0.0.0.255

[CE4]ospf 2 router-id 192.168.0.6 
[CE4-ospf-2]a 0
[CE4-ospf-2-area-0.0.0.0]network 192.168.2.0 0.0.0.255
[CE4-ospf-2-area-0.0.0.0]network 192.168.0.6 0.0.0.0

A
[PE2]ospf 1 vpn-instance A
[PE2-ospf-1]a 0	
[PE2-ospf-1-area-0.0.0.0]network 172.16.0.5 0.0.0.0

B	
[PE2]ospf 2 vpn-instance B
[PE2-ospf-2]a 0
[PE2-ospf-2-area-0.0.0.0]network 192.168.0.5 0.0.0.0

(2)IBGP 配置(PE 与 PE 之间)

PE1、PE2 上配置 IBGP 邻居关系

bash 复制代码
PE1
[PE1]bgp 2345
[PE1-bgp]router-id 1.1.1.1
[PE1-bgp]peer 4.4.4.4 as-number 2345	
[PE1-bgp]peer 4.4.4.4 connect-interface LoopBack 0	
[PE1-bgp]undo default ipv4-unicast 
[PE1-bgp]ipv4-family vpnv4 unicast 
[PE1-bgp-af-vpnv4]peer 4.4.4.4 enable 

PE2
[PE2]bgp 2345
[PE2-bgp]router-id 4.4.4.4
[PE2-bgp]undo default ipv4-unicast 
[PE2-bgp]peer 1.1.1.1 as-number 2345
[PE2-bgp]peer 1.1.1.1 connect-interface LoopBack 0
[PE2-bgp]ipv4-family vpnv4 unicast 
[PE2-bgp-af-vpnv4]peer 1.1.1.1 enable 


 [PE2]bgp 2345
 [PE2-bgp]ipv4-family vpn-instance A
 [PE2-bgp-A]import-route ospf 1
 [PE2-bgp]ipv4-family vpn-instance B
 [PE2-bgp-B]import-route ospf 2
 
 [PE2]ospf 1
 [PE2-ospf-1]import-route bgp
 [PE2]ospf 2
 [PE2-ospf-2]import-route bgp

5、MPLS VPN 相关 BGP 配置

在 PE1、PE2 上创建 VPN

将接口绑定到 VPN

在 PE1、PE2 的 BGP 视图下,使能 VPNv4 地址族,并与对端 PE 建立邻居关系

bash 复制代码
PE1
A
[PE1]ip vpn-instance A	
[PE1-vpn-instance-A]route-distinguisher 64512:100	
[PE1-vpn-instance-A-af-ipv4]vpn-target 64512:1 export-extcommunity 
[PE1-vpn-instance-A-af-ipv4]vpn-target 64512:2 import-extcommunity 
 
B
[PE1]ip vpn-instance B	
[PE1-vpn-instance-B]route-distinguisher 64513:100
[PE1-vpn-instance-B-af-ipv4]vpn-target 64513:1 export-extcommunity 	
[PE1-vpn-instance-B-af-ipv4]vpn-target 64513:2 import-extcommunity 
 
[PE1-GigabitEthernet0/0/0]ip binding vpn-instance A
[PE1-GigabitEthernet0/0/0] ip address 172.16.0.1 255.255.255.252
[PE1-GigabitEthernet0/0/2]ip binding vpn-instance B
[PE1-GigabitEthernet0/0/2] ip address 192.168.0.2 255.255.255.252 
bash 复制代码
PE2
A
[PE2]ip vpn-instance A
[PE2-vpn-instance-A]route-distinguisher 64512:200	
[PE2-vpn-instance-A-af-ipv4]vpn-target 64512:2 e
[PE2-vpn-instance-A-af-ipv4]vpn-target 64512:1 import-extcommunity 

B
[PE2]ip vpn-instance B
[PE2-vpn-instance-B]route-distinguisher 64513:200
[PE2-vpn-instance-B-af-ipv4]vpn-target 64513:2 export-extcommunity 
[PE2-vpn-instance-B-af-ipv4]vpn-target 64513:1 import-extcommunity 
 
[PE2-GigabitEthernet0/0/1]ip binding vpn-instance A
[PE2-GigabitEthernet0/0/1] ip address 172.16.0.5 255.255.255.252	
[PE2-GigabitEthernet0/0/2]ip binding vpn-instance B
[PE2-GigabitEthernet0/0/2]ip address 192.168.0.6 30

四、测试与验证

1、连通性测试

  • 在 CE1 上使用 ping 命令测试到 CE2 的连通性。
  • 同理,测试 CE3 到 CE4 以及跨 VPN 站点间的连通性。

2、路由表查看

  • 在各设备上使用命令查看路由表,如在华为设备上使用 display ip routing - table 命令,检查是否学习到正确的路由条目。

3、 MPLS 标签交换路径验证

在PE1、PE2、P1、P2 上使用命令查看 MPLS LDP 邻居状态和标签交换路径。

相关推荐
Scott9999HH5 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
码智社6 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
AI云海6 小时前
python 列表、元组、集合和字典
开发语言·python
萧瑟余晖7 小时前
JDK 26 新特性详解
java·开发语言
马优晨8 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
人邮异步社区9 小时前
怎么把C语言学到精通?
c语言·开发语言
心平气和量大福大10 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf
ttwuai10 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
এ慕ོ冬℘゜10 小时前
前端基础:什么是时间戳?JS获取时间戳三种方法与实战用途
开发语言·前端·javascript
执明wa10 小时前
LayoutInflater详解: XML是如何变成View的?
android·xml·开发语言·android studio