网络技术 MPLS VPN配置

MPLS VPN(多协议标签交换虚拟专用网)是一种基于 MPLS 技术实现的 VPN 解决方案,能在公用网络中为不同用户提供隔离的私有通信通道。其核心是通过 VRF(VPN 路由转发实例)隔离不同 VPN 的路由,通过 BGP VPNv4 地址族传递跨 PE 的 VPN 路由,通过 MPLS 标签实现数据转发。

一、网络拓扑说明

假设有如下简化拓扑:
  • CE 设备:CE1(属于 VPN1,连接用户网络)、CE2(属于 VPN1,连接用户网络)
  • PE 设备:PE1(连接 CE1)、PE2(连接 CE2)
  • P 设备:P1(核心转发设备,不参与 VPN 路由)
  • 链路:CE1-PE1(10.1.1.0/24)、PE1-P1(10.2.2.0/24)、P1-PE2(10.3.3.0/24)、PE2-CE2(10.4.4.0/24)

二、配置步骤(基于 Cisco IOS)

1. 基础 IP 配置(所有设备)

先配置各接口 IP 地址,确保底层 IP 连通性。

 

CE1 配置
interface GigabitEthernet0/0
 ip address 10.1.1.1 255.255.255.0
 no shutdown
!
ip route 0.0.0.0 0.0.0.0 10.1.1.2  // 默认路由指向PE1

 

PE1 配置
interface GigabitEthernet0/0  // 连接CE1
 ip address 10.1.1.2 255.255.255.0
 no shutdown
!
interface GigabitEthernet0/1  // 连接P1
 ip address 10.2.2.1 255.255.255.0
 no shutdown
P1 配置
interface GigabitEthernet0/0  // 连接PE1
 ip address 10.2.2.2 255.255.255.0
 no shutdown
!
interface GigabitEthernet0/1  // 连接PE2
 ip address 10.3.3.1 255.255.255.0
 no shutdown
PE2 配置
interface GigabitEthernet0/0  // 连接P1
 ip address 10.3.3.2 255.255.255.0
 no shutdown
!
interface GigabitEthernet0/1  // 连接CE2
 ip address 10.4.4.2 255.255.255.0
 no shutdown
CE2 配置
interface GigabitEthernet0/0
 ip address 10.4.4.1 255.255.255.0
 no shutdown
!
ip route 0.0.0.0 0.0.0.0 10.4.4.2  // 默认路由指向PE2

2. MPLS 基础配置(PE 和 P 设备)

在 PE 和 P 的公网接口启用 MPLS LDP(标签分发协议),建立标签交换路径(LSP)。
PE1 配置
mpls ldp router-id GigabitEthernet0/1 force  // 以连接P的接口为LDP Router-ID
!
interface GigabitEthernet0/1  // 仅在公网接口启用MPLS
 mpls ip

 

P1 配置
mpls ldp router-id GigabitEthernet0/0 force
!
interface GigabitEthernet0/0  // 连接PE1的接口
 mpls ip
!
interface GigabitEthernet0/1  // 连接PE2的接口
 mpls ip
PE2 配置
mpls ldp router-id GigabitEthernet0/0 force
!
interface GigabitEthernet0/0  // 连接P的接口
 mpls ip

3. VPN 实例(VRF)配置(PE 设备)

在 PE 上创建 VRF,用于隔离 VPN1 的路由(需保证两端 PE 的 VRF 参数一致)。
PE1 配置
ip vrf VPN1  // 创建名为VPN1的VRF
 rd 100:1  // 路由区分符(RD,唯一标识VPN路由)
 route-target import 100:1  // 导入目标(接收带此RT的路由)
 route-target export 100:1  // 导出目标(本地路由添加此RT)
!
// 将连接CE1的接口加入VRF
interface GigabitEthernet0/0
 ip vrf forwarding VPN1  // 关联VRF
 ip address 10.1.1.2 255.255.255.0  // 需重新配置IP(加入VRF后原IP失效)
PE2 配置
ip vrf VPN1
 rd 100:1  // 与PE1保持一致
 route-target import 100:1
 route-target export 100:1
!
interface GigabitEthernet0/1
 ip vrf forwarding VPN1
 ip address 10.4.4.2 255.255.255.0

4. PE 与 CE 之间的路由协议(以静态路由为例)

配置 PE 与 CE 之间的路由,使 CE 的路由能进入 VRF。
PE1 配置(VRF 内静态路由)
ip route vrf VPN1 192.168.1.0 255.255.255.0 10.1.1.1  // CE1侧用户网段(假设CE1背后有192.168.1.0/24)
CE1 配置(指向 PE1 的静态路由)
ip route 192.168.2.0 255.255.255.0 10.1.1.2  // 假设CE2侧用户网段为192.168.2.0/24
PE2 配置(VRF 内静态路由)
ip route vrf VPN1 192.168.2.0 255.255.255.0 10.4.4.1  // CE2侧用户网段
CE2 配置(指向 PE2 的静态路由)
ip route 192.168.1.0 255.255.255.0 10.4.4.2  // 指向CE1侧用户网段

5. BGP VPNv4 配置(PE 设备之间)

通过 BGP VPNv4 地址族传递 VPN 路由(PE1 和 PE2 需建立 BGP 邻居关系)。
PE1 配置
router bgp 65000  // 自治系统号(PE通常属于同一AS或建立EBGP)
 neighbor 10.3.3.2 remote-as 65000  // 与PE2建立IBGP邻居(PE2的公网接口IP)
 neighbor 10.3.3.2 update-source GigabitEthernet0/1  // 用公网接口作为更新源
 !
 address-family vpnv4  // 启用VPNv4地址族
  neighbor 10.3.3.2 activate  // 激活邻居的VPNv4能力
  neighbor 10.3.3.2 send-community extended  // 传递扩展团体属性(含RT)
 !
 address-family ipv4 vrf VPN1  // 进入VRF的IPv4地址族
  redistribute static  // 重分发VRF内的静态路由到BGP
PE2 配置
router bgp 65000
 neighbor 10.2.2.1 remote-as 65000  // 与PE1建立IBGP邻居(PE1的公网接口IP)
 neighbor 10.2.2.1 update-source GigabitEthernet0/0
 !
 address-family vpnv4
  neighbor 10.2.2.1 activate
  neighbor 10.2.2.1 send-community extended
 !
 address-family ipv4 vrf VPN1
  redistribute static  // 重分发VRF内的静态路由到BGP

三、验证配置

  1. 检查 MPLS LDP 邻居
    在 PE1/P1/PE2 上执行 show mpls ldp neighbor,确认 LDP 会话已建立。
  2. 检查 VRF 路由表
    在 PE1 上执行 show ip route vrf VPN1,应能看到 CE1 侧的路由(192.168.1.0/24)和从 PE2 学习到的 CE2 侧路由(192.168.2.0/24)。
  3. 检查 BGP VPNv4 路由
    在 PE1 上执行 show ip bgp vpnv4 all,应能看到 PE2 发布的 VPN 路由(带 RT 100:1)。
  4. 测试连通性
    在 CE1 上 ping CE2 侧的 192.168.2.1,若通通则配置成功。

总结

MPLS VPN 的核心是通过 VRF 隔离路由、BGP VPNv4 传递跨 PE 路由、MPLS 标签交换数据。关键配置需注意:VRF 的 RD/RT 需两端一致,PE 间 BGP 需传递扩展团体属性,公网接口需启用 MPLS。
阅读剩余
THE END