多协议标签交换 (MPLS) : MPLS

配置基本 MPLS VPN

2016 年 10 月 27 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 8 月 22 日) | 反馈


目录


简介

当边界网关协议(BGP)或路由信息协议(RIP)是存在客户站点时,本文提供多协议标签交换(MPLS) VPN的配置示例。

与 MPLS 结合使用时,该 VPN 功能允许多个站点通过一个服务提供商网络透明互联。一个服务提供商网络可以支持多个不同的 IP VPN。其中每一个 VPN 均向其用户显示为与所有其他网络分离的专用网络。在一个 VPN 内,每个站点都可以向该 VPN 的其他任何站点发送 IP 数据包。

每个 VPN 均与一个或多个 VPN 路由或转发实例 (VRF) 相关联。一个 VRF 由一个 IP 路由表、一个派生的 Cisco 快速转发 (CEF) 表和使用此转发表的一组接口组成。

路由器针对每个 VRF 维护一个单独的路由和 CEF 表。这样可以防止信息发送到 VPN 外,使相同的子网可以在多个 VPN 中使用,而不会导致 IP 地址发生重复。

使用多协议 BGP (MP-BGP) 的路由器利用 MP-BGP 扩展团体,来分配 VPN 路由信息。

有关通过 VPN 传播更新的详细信息,请参阅以下文档:

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息基于以下软件和硬件版本:

P 和 PE 路由器

  • Cisco IOSï ¿  ½软件版本12.2(6h)包括MPLS VPN功能。

  • 7200 系列或更高版本的任何 Cisco 路由器均支持 P 功能。Cisco 2691 以及任何 3640 系列或更高版本的路由器均支持 PE 功能。

C 和 CE 路由器

  • 您可以使用能与其 PE 路由器交换路由信息的任何路由器。

本文档中的信息都是基于特定实验室环境中的设备创建的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您是在真实网络上操作,请确保您在使用任何命令前已经了解其潜在影响。

相关产品

要实现 MPLS 功能,您必须有一台 Cisco 2600 或更高版本的路由器。要选择具有 MPLS 功能的所需 Cisco IOS,请使用 Software Advisor仅限注册用户)。还要检查在路由器上运行 MPLS 功能所需的其他 RAM 和闪存。可以使用 WIC-1T、WIC-2T 和串行接口。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

下面的字母表示所用的不同种类的路由器和交换机。

  • P - 提供商的核心路由器。

  • PE —供应商的边界路由器。

  • CE —客户的边界路由器。

  • C - 客户的路由器。

此图表显示了一个用于演示以上概述规则的典型配置。

/image/gif/paws/13733/mplsvpn.gif

配置

本部分提供有关如何配置本文档所述功能的信息。

注意: 有关本文档所用命令的详细信息,请使用命令查找工具仅限注册用户)。

网络图

本文档使用以下网络设置:

/image/gif/paws/13733/new_mpls_vpn_basic1.gif

配置过程

参考的MPLS虚拟专用网络欲知更多信息。

启用 ip cef

使用此步骤为了启用IP CEF为了改善性能,请使用 ip cef distributed(如有)。请完成在观点扫描器的这些步骤,在MPLS设置后(配置在接口的标记交换IP)。

  1. 使用 ip vrf <VPN 路由/转发实例名称> 命令,为每个连接的 VPN 创建一个 VRF。

    当执行此操作时:

    • 指定用于该 VPN 的正确路由区分符。这用于扩展 IP 地址,以便您可以确定它属于哪个 VPN。

      
      rd <VPN route distinguisher>
      
      
    • 设置 MP-BGP 扩展团体的导入和导出属性。这些用于过滤导入和导出进程。

      
      route-target [export|import|both] <target VPN extended community>
      
      
  2. 使用 ip vrf forwarding <VPN 路由/转发实例名称> 命令来配置各自接口的转发详细信息,并且切记在执行此操作后设置 IP 地址。

  3. 根据您使用的 PE-CE 路由协议,可在 PE 和 CE 之间配置静态路由或路由协议(RIP、开放最短路径优先 [OSPF] 或 BGP)。基于 ATM 的 MPLS 支持页上提供了详细的配置信息。

配置 MP-BGP

在 PE 路由器之间配置 MP-BGP。有几个方式配置 BGP,例如使用路由反射器或联盟方法。这里使用的方法(直接邻居配置)是最简单和可扩展性最小的。

  1. 声明不同的邻居。

  2. 为该 PE 路由器上显示的每个 VPN 输入 address-family ipv4 vrf <VPN 路由/转发实例名称> 命令。

    根据需要执行以下一个或多个步骤:

    • 重新分配静态路由、RIP 或者 OSPF 信息。

    • 重新分配连接的路由信息。

    • 激活与 CE 路由器相邻的 BGP。

  3. 输入 address-family vpnv4 mode,并完成以下步骤:

    • 激活邻居。

    • 指定必须使用扩展团体。这是强制性的。

配置

本文档使用以下配置:

佩斯卡拉
Current configuration:
!
version 12.2
!
hostname Pescara
!
ip cef
!


!--- Customer A commands.

ip vrf Customer_A

!--- Enables the VPN routing and forwarding (VRF) routing table.
!--- This command can be used in global or 
!--- router configuration mode. 

 rd 100:110

!--- Route distinguisher creates routing and forwarding 
!--- tables for a VRF.

 route-target export 100:1000

!--- Creates lists of import and export route-target extended 
!--- communities for the specified VRF.

 route-target import 100:1000
!


!--- Customer B commands.

ip vrf Customer_B
 rd 100:120
 route-target export 100:2000
 route-target import 100:2000
!
interface Loopback0
 ip address 10.10.10.4 255.255.255.255
 ip router isis


!--- Customer A commands.

interface Loopback101
ip vrf forwarding Customer_A

!--- Associates a VRF instance with an interface or subinterface.

 ip address 200.0.4.1 255.255.255.0

!--- Loopback101 and 102 use the same IP address, 200.0.4.1. 
!--- This is allowed because they belong to two 
!--- different customers' VRFs. 

 no ip directed-broadcast
!


!--- Customer B commands.

interface Loopback102
 ip vrf forwarding Customer_B
 ip address 200.0.4.1 255.255.255.0

!--- Loopback101 and 102 use the same IP address, 200.0.4.1. 
!--- This is allowed because they belong to two 
!--- different customers' VRFs.
 
 no ip directed-broadcast
!
interface Serial2/0
 no ip address
 no ip directed-broadcast
 encapsulation frame-relay
 no fair-queue
!
interface Serial2/0.1 point-to-point
 description link to Pauillac
 bandwidth 512
 ip address 10.1.1.14 255.255.255.252
 no ip directed-broadcast
 ip router isis 
 tag-switching ip
 frame-relay interface-dlci 401   
!
router isis 
 net 49.0001.0000.0000.0004.00
 is-type level-1
!         
router bgp 100
 bgp log-neighbor-changes

!--- Enables logging of BGP neighbor resets.

 neighbor 10.10.10.6 remote-as 100

!--- Adds an entry to the BGP or multiprotocol BGP neighbor table.

 neighbor 10.10.10.6 update-source Loopback0

!--- Enables BGP sessions to use a specific operational 
!--- interface for TCP connections.

!
 

!--- Customer A and B commands.

 address-family vpnv4

!--- To enter address family configuration mode 
!--- for configuring routing sessions, such as BGP, 
!--- that use standard VPN version 4 address prefixes.

 neighbor 10.10.10.6 activate
 neighbor 10.10.10.6 send-community both
 
!--- Sends the community attribute to a BGP neighbor.

 exit-address-family
 !


!--- Customer B commands.

 address-family ipv4 vrf Customer_B

!--- To enter address family configuration mode 
!--- for configuring routing sessions, such as BGP, 
!--- that use standard VPN version 4 address prefixes.

 redistribute connected
 no auto-summary
 no synchronization
 exit-address-family
 !
 

!--- Customer A commands.

 address-family ipv4 vrf Customer_A
 redistribute connected
 no auto-summary
 no synchronization
 exit-address-family
!
ip classless
!
end

Pesaro
Current configuration:
!
version 12.1
!
hostname Pesaro
!


!--- Customer A commands.

ip vrf Customer_A
 rd 100:110
 route-target export 100:1000
 route-target import 100:1000
!


!--- Customer B commands.

ip vrf Customer_B
 rd 100:120
 route-target export 100:2000
 route-target import 100:2000
!
ip cef

!
interface Loopback0
 ip address 10.10.10.6 255.255.255.255
 ip router isis 


!--- Customer A commands.

interface Loopback101
 ip vrf forwarding Customer_A
 ip address 200.0.6.1 255.255.255.0
!


!--- Customer B commands.

interface Loopback102
 ip vrf forwarding Customer_B
 ip address 200.0.6.1 255.255.255.0
!


!--- Customer A commands.

interface Loopback111
 ip vrf forwarding Customer_A
 ip address 200.1.6.1 255.255.255.0
!
interface Serial0/0
 no ip address
 encapsulation frame-relay
 no ip mroute-cache
 random-detect
!
interface Serial0/0.1 point-to-point
 description link to Pomerol
 bandwidth 512
 ip address 10.1.1.22 255.255.255.252
 ip router isis 
 tag-switching ip
 frame-relay interface-dlci 603   
!
router isis 
 net 49.0001.0000.0000.0006.00
 is-type level-1
!
router bgp 100
 neighbor 10.10.10.4 remote-as 100
 neighbor 10.10.10.4 update-source Loopback0
 !


!--- Customer B commands.

 address-family ipv4 vrf Customer_B
 redistribute connected
 no auto-summary
 no synchronization
 exit-address-family
 !


!--- Customer A commands.

 address-family ipv4 vrf Customer_A
 redistribute connected
 no auto-summary
 no synchronization
 exit-address-family
 !


!--- Customer A and B commands.

 address-family vpnv4
 neighbor 10.10.10.4 activate
 neighbor 10.10.10.4 send-community both
 exit-address-family
!
ip classless
!         
end

Pomerol
Current configuration:
!
version 12.0
!
hostname Pomerol
!
ip cef

!
interface Loopback0
 ip address 10.10.10.3 255.255.255.255
 ip router isis 

!
interface Serial0/1
 no ip address
 no ip directed-broadcast
 encapsulation frame-relay
 random-detect
!
interface Serial0/1.1 point-to-point
 description link to Pauillac
 ip address 10.1.1.6 255.255.255.252
 no ip directed-broadcast
 ip router isis 
 tag-switching mtu 1520
 tag-switching ip 
 frame-relay interface-dlci 301   
!
interface Serial0/1.2 point-to-point
 description link to Pulligny
 ip address 10.1.1.9 255.255.255.252
 no ip directed-broadcast
 ip router isis 
 tag-switching ip
 frame-relay interface-dlci 303   
!
interface Serial0/1.3 point-to-point
 description link to Pesaro
 ip address 10.1.1.21 255.255.255.252
 no ip directed-broadcast
 ip router isis 
 tag-switching ip

 frame-relay interface-dlci 306   
!
router isis 
 net 49.0001.0000.0000.0003.00
 is-type level-1
!
ip classless
!
end

Pulligny
Current configuration:
!
version 12.1
!
hostname Pulligny
!
!
ip cef

!
!
interface Loopback0
 ip address 10.10.10.2 255.255.255.255
!
interface Serial0/1
 no ip address
 encapsulation frame-relay
 random-detect
!
interface Serial0/1.1 point-to-point
 description link to Pauillac
 ip address 10.1.1.2 255.255.255.252
 ip router isis 
 tag-switching ip 
 frame-relay interface-dlci 201   
!
interface Serial0/1.2 point-to-point
 description link to Pomerol
 ip address 10.1.1.10 255.255.255.252
 ip router isis 
 tag-switching ip 
 frame-relay interface-dlci 203   
!
router isis 
 passive-interface Loopback0
 net 49.0001.0000.0000.0002.00
 is-type level-1
!
ip classless
!
end

Pauillac
!
version 12.1
!
hostname pauillac
!
ip cef

!
interface Loopback0
 ip address 10.10.10.1 255.255.255.255
 ip router isis  
!
interface Serial0/0
 no ip address
 encapsulation frame-relay
 no ip mroute-cache
 tag-switching ip
 no fair-queue
!
interface Serial0/0.1 point-to-point
 description link to Pomerol
 bandwith 512
 ip address 10.1.1.1 255.255.255.252
 ip router isis 
 tag-switching ip 
 frame-relay interface-dlci 102   
!
interface Serial0/0.2 point-to-point
 description link to Pulligny ip address 10.1.1.5 255.255.255.252

 ip router isis 
 tag-switching ip 
 frame-relay interface-dlci 103   
!
interface Serial0/0.3 point-to-point
 description link to Pescara
 bandwidth 512
 ip address 10.1.1.13 255.255.255.252
 ip router isis 
 tag-switching ip 
 frame-relay interface-dlci 104   
!
router isis 
 net 49.0001.0000.0000.0001.00
 is-type level-1
!
ip classless
!
end

验证

本部分所提供的信息可用于确认您的配置是否正常工作。

命令输出解释程序仅限注册用户)(OIT) 支持某些 show 命令。使用 OIT 可查看对 show 命令输出的分析。

MPLS VPN Solution 故障排除技术说明中详细介绍了更多命令。

以下是 show ip vrf 命令的命令输出示例。

Pescara#show ip vrf 
  Name                             Default RD          Interfaces
  Customer_A                       100:110             Loopback101
  Customer_B                       100:120             Loopback102

以下是 show ip vrf interfaces 命令的命令输出示例。

Pesaro#show ip vrf interfaces 
Interface              IP-Address      VRF                              Protocol
Loopback101            200.0.6.1       Customer_A                       up      
Loopback111            200.1.6.1       Customer_A                       up      
Loopback102            200.0.6.1       Customer_B                       up      

以下 show ip route vrf 命令在两个输出中显示同一个前缀 200.0.6.0/24。这是因为远程 PE 为两个客户(Customer_A 和 Customer_B)提供同一个网络,这在典型的 MPLS VPN 解决方案中是允许的。

Pescara#show ip route vrf Customer_A
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR

Gateway of last resort is not set

C    200.0.4.0/24 is directly connected, Loopback101
B    200.0.6.0/24 [200/0] via 10.10.10.6, 05:10:11
B    200.1.6.0/24 [200/0] via 10.10.10.6, 04:48:11
 
Pescara#show ip route vrf Customer_B
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
	   N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
	   E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
	   i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
	   * - candidate default, U - per-user static route, o - ODR       
	   P - periodic downloaded static route
	    
Gateway of last resort is not set
C 200.0.4.0/24 is directly connected, Loopback102
 
B 200.0.6.0/24 [200/0] via 10.10.10.6, 00:03:24

通过在 Customer_A 的两个站点之间运行 traceroute,可能会看到 MPLS 网络所使用的标签栈(如果将其配置为通过 mpls ip ttl ... 执行此操作)。

Pescara#traceroute vrf Customer_A 200.0.6.1

Type escape sequence to abort.
Tracing the route to 200.0.6.1

  1 10.1.1.13 [MPLS: Labels 20/26 Exp 0] 400 msec 276 msec 264 msec
  2 10.1.1.6 [MPLS: Labels 18/26 Exp 0] 224 msec 460 msec 344 msec
  3 200.0.6.1 108 msec *  100 msec

注意: Exp 0 是用于服务质量 (QoS) 的试验字段。

故障排除

目前没有针对此配置的故障排除信息。


相关信息


Document ID: 13733