Cisco IOS 和 NX-OS 软件 : Layer 3 VPNs (L3VPN)

与多点GRE隧道配置示例的动态第3层VPN

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

简介

本文描述如何配置与多点通用路由封装(mGRE)通道功能的动态第3层(L3) VPN。

贡献用维诺德夏尔马, Cisco TAC工程师。

先决条件

要求

在您配置前动态L3 VPN用mGRE通道以为特色,保证您的多协议标签交换(MPLS) VPN适当地配置并且工作,并且端到端连通性为IPV4网络设立。

使用的组件

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

  • Cisco 7206VXR (NPE-G1)系列路由器用Cisco IOS软件版本15.2(4)S3
  • Cisco 7609-S系列路由器用Cisco IOS软件版本12.2(33)SRE4

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

背景信息

动态L3 VPN用mGRE通道以L3传输机制根据一个增强版mGRE隧道技术用于IP网络的提供为特色。动态L3隧道传输可能在IP网络内也用于为了传输在间服务提供商和企业网络的VPN流量和为在IP和MPLS VPN之间的信息包传输提供互通性。此功能为RFC 2547提供支持,定义了IP骨干网服务外包企业网络的。

动态L3 VPN的限制与mGRE建立隧道

这是申请动态L3 VPN用mGRE通道限制的列表:

  • 在单个网络内不支持MPLS VPN的部署与IP/GRE和MPLS封装的。
  • 每个服务商边缘路由器支持仅一个隧道配置。
  • 在面对核心被以隧道传输的标记流量的Cisco 7600系列路由器的VLAN接口必须输入不支持。它应该是主接口或子接口。
  • 使用ES-40线卡和会话初始化协议(SIP) 400线卡作为面向内核的卡的思科7600系列路由器支持在mGRE的MPLS VPN。

配置

此部分描述两配置:

  • 动态L3VPN用在IP -专用网络的mGRE通道
  • 动态L3VPN用在IP+ MPLS网络的mGRE通道

动态L3 VPN用在IP专用(非MPLS)网络的mGRE通道

网络图

配置

这些是在Router3 (R3)和Router2 (R2)的必需的配置。

这是R3的配置:

l3vpn encapsulation ip MGRE
transport ipv4 source Loopback0

route-map MGRE-NEXT-HOP permit 10
set ip next-hop encapsulate l3vpn MGRE

router bgp 65534
 !
address-family vpnv4
neighbor 192.168.2.2 route-map MGRE-NEXT-HOP in

这是R2的配置:

l3vpn encapsulation ip MGRE
transport ipv4 source Loopback0

route-map MGRE-NEXT-HOP permit 10
set ip next-hop encapsulate l3vpn MGRE

router bgp 65534
 !
address-family vpnv4
neighbor 192.168.3.3 route-map MGRE-NEXT-HOP in

验证

使用本部分可确认配置能否正常运行。

R2#show tunnel endpoints 
 
 Tunnel0 running in multi-GRE/IP mode

 Endpoint transport 192.168.3.3 Refcount 3 Base 0x1E8E1B74 Create Time 00:47:53
   overlay 192.168.3.3 Refcount 2 Parent 0x1E8E1B74 Create Time 00:47:53


R2#show l3vpn encapsulation ip MGRE

 Profile: MGRE
    transport ipv4 source Loopback0
    protocol gre
    payload mpls
    mtu default
  Tunnel Tunnel0 Created [OK]
  Tunnel Linestate [OK]
  Tunnel Transport Source Loopback0 [OK]


R2#show ip route vrf MGRE 172.16.3.3

Routing Table: MGRE
Routing entry for 172.16.3.3
  Known via "bgp 65534", distance 200, metric 0, type internal
  Last update from 192.168.3.3 on Tunnel0, 01:03:25 ago
  Routing Descriptor Blocks:
  * 192.168.3.3 (default), from 172.16.112.1, 01:03:25 ago, via Tunnel0 <points to tunnel
      Route metric is 0, traffic share count is 1
      AS Hops 0
     MPLS label: 17   <BGP vpnv4 label>
      MPLS Flags: MPLS Required

注意:在前一个示例中,有仅两观点扫描器。然而,如果有一个大型网络用广泛PE路由器,此动态mGRE是非常容易配置,并且可扩展,因为您必须有在所有观点扫描器的相似的配置和通道自动地发现。

与mGRE的动态L3 VPN在IP+ MPLS网络建立隧道

网络图

如果有一连接是MPLS和其他的一个双重连接方案是非MPLS,您必须配置在所有PE路由器的mGRE介入。使用此拓扑,您必须配置在所有三个PE路由器的mGRE。

如果未配置在连接的mGRE R3和R1之间- MPLS链路,则子网在R3后请勿能通信与子网在R2后。

R1和R2有根据L3VPN配置文件的R3的构建隧道终点。参考在L3VPN配置文件没有配置的本文的配置, route-map给R3的边界网关协议(BGP)对等体没有应用,并且L3VPN的route-map在R1的R3的没有应用。

配置

这些是在R1、R2和R3的必需的配置。

这是R1的配置:

l3vpn encapsulation ip MGRE
transport ipv4 source Loopback0

route-map MGRE-NEXT-HOP permit 10
set ip next-hop encapsulate l3vpn MGRE

router bgp 65534
address-family vpnv4
neighbor 192.168.2.2 send-community extended
neighbor 192.168.2.2 route-map MGRE-NEXT-HOP in
neighbor 192.168.3.3 activate

这是R2的配置:

l3vpn encapsulation ip MGRE
transport ipv4 source Loopback0

route-map MGRE-NEXT-HOP permit 10
set ip next-hop encapsulate l3vpn MGRE

router bgp 65534
address-family vpnv4
neighbor 192.168.1.1 route-map MGRE-NEXT-HOP in
neighbor 192.168.1.1 activate

这是R3的配置:

router bgp 65534
address-family vpnv4
neighbor 192.168.1.1 activate

验证

现在,您能从R2 loopback1 ping到R3 loopback1 :

R2#ping vrf  MGRE  172.16.3.3 source 172.16.2.2       

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.3.3, timeout is 2 seconds:
Packet sent with a source address of 172.16.2.2
.....
Success rate is 0 percent (0/5)


R2#show ip route vrf MGRE 172.16.3.3

Routing Table: MGRE
Routing entry for 172.16.3.3/32
  Known via "bgp 65534", distance 200, metric 0, type internal
  Last update from 192.168.3.3 on Tunnel0, 00:50:23 ago
  Routing Descriptor Blocks:
  * 192.168.3.3 (default), from 192.168.1.1, 00:50:23 ago, via Tunnel0  <it is
pointed towards a tunnel>

      Route metric is 0, traffic share count is 1
      AS Hops 0
      MPLS label: 19
      MPLS Flags: MPLS Required


R2#show tunnel endpoints
 Tunnel1 running in multi-GRE/IP mode

 Tunnel0 running in multi-GRE/IP mode

 Endpoint transport 192.168.1.1 Refcount 3 Base 0x507665E4 Create Time 01:24:25
   overlay 192.168.1.1 Refcount 2 Parent 0x507665E4 Create Time 01:24:25
 Endpoint transport 192.168.3.3 Refcount 3 Base 0x507664D4 Create Time 00:50:51
   overlay 192.168.3.3 Refcount 2 Parent 0x507664D4 Create Time 00:50:51

R2创建192.168.3.3的一个动态隧道根据172.16.3.3路由的BGP下一跳。

R2#show ip bgp vpnv4 vrf  MGRE 172.16.3.3
BGP routing table entry for 43984:300:172.16.3.3/32, version 29
Paths: (1 available, best #1, table MGRE)
  Advertised to update-groups:
     1         
  Local, imported path from 300:300:172.16.3.3/32
    192.168.3.3 (metric 3) (via Tunnel0) from 192.168.1.1 (192.168.1.1)
      Origin incomplete, metric 0, localpref 100, valid, internal, best
      Extended Community: RT:43984:300
      Originator: 192.168.3.3, Cluster list: 192.168.1.1
      mpls labels in/out nolabel/19

它在R1验证,并且也创建两个PE路由器的隧道终点:

R1#show tunnel endpoints 
 Tunnel1 running in multi-GRE/IP mode

 Tunnel0 running in multi-GRE/IP mode

 Endpoint transport 192.168.2.2 Refcount 3 Base 0x1E8EE7B0 Create Time 01:36:41
   overlay 192.168.2.2 Refcount 2 Parent 0x1E8EE7B0 Create Time 01:36:41
 Endpoint transport 192.168.3.3 Refcount 3 Base 0x1E8EE590 Create Time 00:59:34
   overlay 192.168.3.3 Refcount 2 Parent 0x1E8EE590 Create Time 00:59:34

在R3,隧道终点没有创建:

R3#show tunnel endpoints

这是R2子网的路由,产生ping :

R3#show ip route vrf  MGRE  172.16.2.2

Routing Table: MGRE
Routing entry for 172.16.2.2/32
  Known via "bgp 65534", distance 200, metric 0, type internal
  Last update from 192.168.2.2 01:01:57 ago
  Routing Descriptor Blocks:
  * 192.168.2.2 (default), from 192.168.1.1, 01:01:57 ago
      Route metric is 0, traffic share count is 1
      AS Hops 0
      MPLS label: 17
      MPLS Flags: MPLS Required

因此,数据包在往R3的GRE发送封装。因为R3没有通道,不接受GRE数据包,并且丢弃它。

所以,您必须配置mGRE端到端在路径为了使它工作。这是mGRE的配置在R3,是必要的:

l3vpn encapsulation ip MGRE
transport ipv4 source Loopback0

route-map MGRE-NEXT-HOP permit 10
set ip next-hop encapsulate l3vpn MGRE

当您创建L3VPN配置文件,隧道终点创建,并且您收到丢弃前的流量。然而,回程数据流是而不是MPLS GRE,直到您应用在BGP对等体的配置文件。该流量在R1丢弃,因为R1没有R2的任何标签信息,运行仅IP。

R3#show tunnel endpoints 
 Tunnel0 running in multi-GRE/IP mode

 Endpoint transport 192.168.1.1 Refcount 3 Base 0x2B79FBD4 Create Time 00:00:02
   overlay 192.168.1.1 Refcount 2 Parent 0x2B79FBD4 Create Time 00:00:02
 Endpoint transport 192.168.2.2 Refcount 3 Base 0x2B79FAC4 Create Time 00:00:02
   overlay 192.168.2.2 Refcount 2 Parent 0x2B79FAC4 Create Time 00:00:02


R3#show ip cef vrf  MGRE  172.16.2.2
172.16.2.2/32
  nexthop 192.168.13.1 GigabitEthernet0/0.1503 label 21 17

  router bgp 65534
address-family vpnv4
neighbor 192.168.1.1 route-map MGRE-NEXT-HOP in


R3#show ip cef vrf  MGRE  172.16.2.2
172.16.2.2/32
  nexthop 192.168.2.2 Tunnel0 label 17 <exit interface is tunnel and only vpnv4 label is left>


R2#ping vrf  MGRE 172.16.3.3 source  172.16.2.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.3.3, timeout is 2 seconds:
Packet sent with a source address of 172.16.2.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms

场景 3

假设在R5后的子网,需要与R3联络,不要使用mGRE。然后,使用L3VPN配置文件为了设置下一跳和呼叫前缀列表的您能使用route-map和只允许需要mGRE通道的前缀。

这是R1的配置:

route-map MGRE-NEXT-HOP permit 10
 match ip address prefix-list test
 set ip next-hop encapsulate l3vpn MGRE
route-map MGRE-NEXT-HOP permit 20

您能允许需要mGRE通道在前缀列表测验的前缀,并且一切别的东西没有一个通道,因为退出接口并且跟随常规路由。因为R3和R5有端到端, MPLS的连接此配置工作。

故障排除

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

相关信息



Document ID: 116725