Dynamic Multipoint VPN
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Contents
Dynamic Multipoint VPNLast Updated: September 30, 2012
The Dynamic Multipoint VPN (DMVPN) feature allows users to better scale large and small IP Security (IPsec) Virtual Private Networks (VPNs) by combining generic routing encapsulation (GRE) tunnels, IPsec encryption, and Next Hop Resolution Protocol (NHRP).
Finding Feature InformationYour software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module. Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required. Prerequisites for Dynamic Multipoint VPN (DMVPN)
Restrictions for Dynamic Multipoint VPN (DMVPN)
One example of a PAT configuration on a NAT interface is: ip nat inside source list nat_acl interface FastEthernet0/1 overload DMVPN Support on the Cisco 6500 and Cisco 7600Blade-to-Blade Switchover on the Cisco 6500 and Cisco 7600
Cisco 6500 or Cisco 7600 As a DMVPN Hub
Cisco 6500 or Cisco 7600 As a DMVPN Spoke
DMVPN Hub or Spoke Supervisor Engine
Encrypted Multicast with GRE
mGRE Interfaces
Tunnel Key
VRF-Aware DMVPN Scenarios
Information About Dynamic Multipoint VPN (DMVPN)
Benefits of Dynamic Multipoint VPN (DMVPN)Hub Router Configuration Reduction
Automatic IPsec Encryption Initiation
Support for Dynamically Addressed Spoke Routers
Dynamic Creation for Spoke-to-Spoke Tunnels
VRF Integrated DMVPN
Feature Design of Dynamic Multipoint VPN (DMVPN)The Dynamic Multipoint VPN (DMVPN) feature combines GRE tunnels, IPsec encryption, and NHRP routing to provide users an ease of configuration via crypto profiles--which override the requirement for defining static crypto maps--and dynamic discovery of tunnel endpoints. This feature relies on the following two Cisco enhanced standard technologies:
The topology shown in the diagram below and the corresponding bullets explain how this feature works.
IPsec ProfilesIPsec profiles abstract IPsec policy information into a single configuration entity, which can be referenced by name from other parts of the configuration. Therefore, users can configure functionality such as GRE tunnel protection with a single line of configuration. By referencing an IPsec profile, the user does not have to configure an entire crypto map configuration. An IPsec profile contains only IPsec information; that is, it does not contain any access list information or peering information. VRF Integrated DMVPNVPN Routing and Forwarding (VRF) Integrated DMVPN enables users to map DMVPN multipoint interfaces into MPLS VPNs. This mapping allows Internet service providers (ISPs) to extend their existing MPLS VPN services by mapping off-network sites (typically a branch office) to their respective MPLS VPNs. Customer equipment (CE) routers are terminated on the DMVPN PE router, and traffic is placed in the VRF instance of an MPLS VPN. DMVPN can interact with MPLS VPNs in two ways:
The ip vrf forwarding and tunnel vrf commands may be used at the same time. If they are used at the same time, the VRF name of each command may be the same or different. For information about configuring the forwarding of clear-text data IP packets into a VRF, see the section "Configuring the Forwarding of Clear-Text Data IP Packets into a VRF." For information about configuring the forwarding of encrypted tunnel packets into a VRF, see the section "Configuring the Forwarding of Encrypted Tunnel Packets into a VRF." For more information about configuring VRF, see reference in the "Related Documents" section. The diagram below illustrates a typical VRF Integrated DMVPN scenario. DMVPN--Enabling Traffic Segmentation Within DMVPNCisco IOS Release 12.4(11)T provides an enhancement that allows you to segment VPN traffic within a DMVPN tunnel. VRF instances are labeled, using MPLS, to indicate their source and destination. The diagram below and the corresponding bullets explain how traffic segmentation within DMVPN works.
An example illustrates the process:
NAT-Transparency Aware DMVPNDMVPN spokes are often situated behind a NAT router (which is often controlled by the ISP for the spoke site) with the outside interface address of the spoke router being dynamically assigned by the ISP using a private IP address (per Internet Engineering Task Force [IETF] RFC 1918). Prior to Cisco IOS Release 12.3(6) and 12.3(7)T, these spoke routers had to use IPsec tunnel mode to participate in a DMVPN network. In addition, their assigned outside interface private IP address had to be unique across the DMVPN network. Even though ISAKMP and IPsec would negotiate NAT-T and "learn" the correct NAT public address for the private IP address of this spoke, NHRP could only "see" and use the private IP address of the spoke for its mapping entries. Effective with the NAT-Transparency Aware DMVPN enhancement, NHRP can now learn and use the NAT public address for its mappings as long as IPsec transport mode is used (which is the recommend IPsec mode for DMVPN networks). The restriction that the private interface IP address of the spoke must be unique across the DMVPN network has been removed. It is recommended that all DMVPN routers be upgraded to the new code before you try to use the new functionality even though spoke routers that are not behind NAT do not need to be upgraded. In addition, you cannot convert upgraded spoke routers that are behind NAT to the new configuration (IPsec transport mode) until the hub routers have been upgraded. Also added in Cisco IOS Releases 12.3(9a) and 12.3(11)T is the capability to have the hub DMVPN router behind static NAT. This was a change in the ISAKMP NAT-T support. For this functionality to be used, all the DMVPN spoke routers and hub routers must be upgraded, and IPsec must use transport mode. For these NAT-Transparency Aware enhancements to work, you must use IPsec transport mode on the transform set. Also, even though NAT-Transparency (IKE and IPsec) can support two peers (IKE and IPsec) being translated to the same IP address (using the UDP ports to differentiate them), this functionality is not supported for DMVPN. All DMVPN spokes must have a unique IP address after they have been NAT translated. They can have the same IP address before they are NAT translated. The diagram below illustrates a NAT-Transparency Aware DMVPN scenario. Call Admission Control with DMVPNIn a DMVPN network, it is easy for a DMVPN router to become "overwhelmed" with the number of tunnels it is trying to build. Call Admission Control can be used to limit the number of tunnels that can be built at any one time, thus protecting the memory of the router and CPU resources. It is most likely that Call Admission Control will be used on a DMVPN spoke to limit the total number of ISAKMP sessions (DMVPN tunnels) that a spoke router will attempt to initiate or accept. This limiting is accomplished by configuring an IKE SA limit under Call Admission Control, which configures the router to drop new ISAKMP session requests (inbound and outbound) if the current number of ISAKMP SAs exceeds the limit. It is most likely that Call Admission Control will be used on a DMVPN hub to rate limit the number of DMVPN tunnels that are attempting to be built at the same time. The rate limiting is accomplished by configuring a system resource limit under Call Admission Control, which configures the router to drop new ISAKMP session requests (new DMVPN tunnels) when the system utilization is above a specified percentage. The dropped session requests allow the DMVPN hub router to complete the current ISAKMP session requests, and when the system utilization drops, it can process the previously dropped sessions when they are reattempted. No special configuration is required to use Call Admission Control with DMVPN. For information about configuring Call Admission Control, see the reference in the section "Related Documents." NHRP Rate-Limiting MechanismNHRP has a rate-limiting mechanism that restricts the total number of NHRP packets from any given interface. The default values, which are set using the ip nhrp max-send command, are 100 packets every 10 seconds per interface. If the limit is exceeded, you will get the following system message: %NHRP-4-QUOTA: Max-send quota of [int]pkts/[int]Sec. exceeded on [chars] For more information about this system message, see the document 12.4T System Message Guide. How to Configure Dynamic Multipoint VPN (DMVPN)To enable mGRE and IPsec tunneling for hub and spoke routers, you must configure an IPsec profile that uses a global IPsec policy template and configure your mGRE tunnel for IPsec encryption. This section contains the following procedures:
Configuring an IPsec ProfileThe IPsec profile shares most of the same commands with the crypto map configuration, but only a subset of the commands are valid in an IPsec profile. Only commands that pertain to an IPsec policy can be issued under an IPsec profile; you cannot specify the IPsec peer address or the access control list (ACL) to match the packets that are to be encrypted.
Before You Begin
SUMMARY STEPS
Before configuring an IPsec profile, you must define a transform set by using the crypto ipsec transform-set command. DETAILED STEPS Configuring the Hub for DMVPNTo configure the hub router for mGRE and IPsec integration (that is, associate the tunnel with the IPsec profile configured in the previous procedure), use the following commands: DETAILED STEPS Configuring the Spoke for DMVPNTo configure spoke routers for mGRE and IPsec integration, use the following commands.
DETAILED STEPS
Configuring the Forwarding of Clear-Text Data IP Packets into a VRFTo configure the forwarding of clear-text date IP packets into a VRF, perform the following steps. This configuration assumes that the VRF BLUE has already been configured. DETAILED STEPS
Configuring the Forwarding of Encrypted Tunnel Packets into a VRFTo configure the forwarding of encrypted tunnel packets into a VRF, perform the following steps. This configuration assumes that the VRF RED has already been configured. DETAILED STEPS
Configuring DMVPN--Traffic Segmentation Within DMVPNThere are no new commands to use for configuring traffic segmentation, but there are tasks you must complete in order to segment traffic within a DMVPN tunnel:
PrerequisitesThe tasks that follow assume that the DMVPN tunnel and the VRFs "red" and "blue" have already been configured. For information on configuring a DMVPN tunnel, see the Configuring the Hub for DMVPN task and the Configuring the Spoke for DMVPN. For details about VRF configuration, see the Configuring the Forwarding of Clear-Text Data IP Packets into a VRF task and the Configuring the Forwarding of Encrypted Tunnel Packets into a VRF task. Enabling MPLS on the VPN TunnelBecause traffic segmentation within a DMVPN tunnel depends upon MPLS, you must configure MPLS for each VRF instance in which traffic will be segmented. For detailed information about configuring MPLS, see Cisco IOS Multiprotocol Label Switching Configuration Guide, Release 12.4. DETAILED STEPS
Configuring Multiprotocol BGP on the Hub RouterYou must configure multiprotocol iBGP (MP-iBGP) to enable advertisement of VPNv4 prefixes and labels to be applied to the VPN traffic. Use BGP to configure the hub as a route reflector. To force all traffic to be routed via the hub, configure the BGP route reflector to change the next hop to itself when it advertises VPNv4 prefixes to the route reflector clients (spokes). DETAILED STEPS
Configuring Multiprotocol BGP on the Spoke RoutersMultiprotocol-iBGP (MP-iBGP) must be configured on the spoke routers and the hub. Follow the steps below for each spoke router in the DMVPN. DETAILED STEPS
Troubleshooting Dynamic Multipoint VPN (DMVPN)After configuring DMVPN, to verify that DMVPN is operating correctly, to clear DMVPN statistics or sessions, or to debug DMVPN, you may perform the following optional steps:
DETAILED STEPS
Configuration Examples for Dynamic Multipoint VPN (DMVPN) Feature
Example Hub Configuration for DMVPNIn the following example, which configures the hub router for multipoint GRE and IPsec integration, no explicit configuration lines are needed for each spoke; that is, the hub is configured with a global IPsec policy template that all spoke routers can talk to. In this example, EIGRP is configured to run over the private physical interface and the tunnel interface. crypto isakmp policy 1 encr aes authentication pre-share group 14 crypto isakmp key cisco47 address 0.0.0.0 ! crypto ipsec transform-set trans2 esp-aes esp-sha-hmac mode transport ! crypto ipsec profile vpnprof set transform-set trans2 ! interface Tunnel0 bandwidth 1000 ip address 10.0.0.1 255.255.255.0 ! Ensures longer packets are fragmented before they are encrypted; otherwise, the receiving router would have to do the reassembly. ip mtu 1400 ! The following line must match on all nodes that "want to use" this mGRE tunnel: ip nhrp authentication donttell ! Note that the next line is required only on the hub. ip nhrp map multicast dynamic ! The following line must match on all nodes that want to use this mGRE tunnel: ip nhrp network-id 99 ip nhrp holdtime 300 ! Turns off split horizon on the mGRE tunnel interface; otherwise, EIGRP will not advertise routes that are learned via the mGRE interface back out that interface. no ip split-horizon eigrp 1 ! Enables dynamic, direct spoke-to-spoke tunnels when using EIGRP. no ip next-hop-self eigrp 1 ip tcp adjust-mss 1360 delay 1000 ! Sets IPsec peer address to Ethernet interface's public address. tunnel source Ethernet0 tunnel mode gre multipoint ! The following line must match on all nodes that want to use this mGRE tunnel. tunnel key 100000 tunnel protection ipsec profile vpnprof ! interface Ethernet0 ip address 172.17.0.1 255.255.255.0 ! interface Ethernet1 ip address 192.168.0.1 255.255.255.0 ! router eigrp 1 network 10.0.0.0 0.0.0.255 network 192.168.0.0 0.0.0.255 ! For information about defining and configuring ISAKMP profiles, see the references in the "Related Documents" section. Example Spoke Configuration for DMVPNIn the following example, all spokes are configured the same except for tunnel and local interface address, thereby, reducing necessary configurations for the user: crypto isakmp policy 1 encr aes authentication pre-share group 14 crypto isakmp key cisco47 address 0.0.0.0 ! crypto ipsec transform-set trans2 esp-aes esp-sha-hmac mode transport ! crypto ipsec profile vpnprof set transform-set trans2 ! interface Tunnel0 bandwidth 1000 ip address 10.0.0.2 255.255.255.0 ip mtu 1400 ! The following line must match on all nodes that want to use this mGRE tunnel: ip nhrp authentication donttell ! Definition of NHRP server at the hub (10.0.0.1), which is permanently mapped to the static public address of the hub (172.17.0.1). ip nhrp map 10.0.0.1 172.17.0.1 ! Sends multicast packets to the hub router, and enables the use of a dynamic routing protocol between the spoke and the hub. ip nhrp map multicast 172.17.0.1 ! The following line must match on all nodes that want to use this mGRE tunnel: ip nhrp network-id 99 ip nhrp holdtime 300 ! Configures the hub router as the NHRP next-hop server. ip nhrp nhs 10.0.0.1 ip tcp adjust-mss 1360 delay 1000 tunnel source Ethernet0 tunnel mode gre multipoint ! The following line must match on all nodes that want to use this mGRE tunnel: tunnel key 100000 tunnel protection ipsec profile vpnprof ! ! This is a spoke, so the public address might be dynamically assigned via DHCP. interface Ethernet0 ip address dhcp hostname Spoke1 ! interface Ethernet1 ip address 192.168.1.1 255.255.255.0 ! ! EIGRP is configured to run over the inside physical interface and the tunnel. router eigrp 1 network 10.0.0.0 0.0.0.255 network 192.168.1.0 0.0.0.255 Example VRF Aware DMVPNWhen configuring VRF Aware DMVPN, you must create a separate DMVPN network for each VRF instance. In the following example, there are two DMVPN networks: BLUE and RED. In addition, a separate source interface has been used on the hub for each DMVPN tunnel--a must for Cisco IOS Release 12.2(18)SXE. For other Cisco IOS releases, you can configure the same tunnel source for both of the tunnel interfaces, but you must configure the tunnel keyand tunnel protection (tunnel protection ipsec profile{name} shared)commands.
Hub Configurationinterface Tunnel0 ! Note the next line. ip vrf forwarding BLUE bandwidth 1000 ip address 10.0.0.1 255.255.255.0 ip mtu 1436 ! Note the next line. ip nhrp authentication BLUE!KEY ip nhrp map multicast dynamic ! Note the next line ip nhrp network-id 100000 ip nhrp holdtime 600 no ip split-horizon eigrp 1 no ip next-hop-self eigrp 1 ip tcp adjust-mss 1360 delay 1000 ! Note the next line. tunnel source Ethernet0 tunnel mode gre multipoint tunnel protection ipsec profile vpnprof! interface Tunnel1 ! Note the next line. ip vrf forwarding RED bandwidth 1000 ip address 10.0.0.1 255.255.255.0 ip mtu 1436 ! Note the next line. ip nhrp authentication RED!KEY ip nhrp map multicast dynamic ! Note the next line. ip nhrp network-id 20000 ip nhrp holdtime 600 no ip split-horizon eigrp 1 no ip next-hop-self eigrp 1 ip tcp adjust-mss 1360 delay 1000 ! Note the next line. tunnel source Ethernet1 tunnel mode gre multipoint tunnel protection ipsec profile vpnprof! interface Ethernet0 ip address 172.17.0.1 255.255.255.0 interface Ethernet1 ip address 192.0.2.171 255.255.255.0
EIGRP Configuration on the Hubrouter eigrp 1 auto-summary ! address-family ipv4 vrf BLUE network 10.0.0.0 0.0.0.255 no auto-summary autonomous-system 1 exit-address-family ! address-family ipv4 vrf RED network 10.0.0.0 0.0.0.255 no auto-summary autonomous-system 1 exit-address-family Spoke 1:interface Tunnel0 bandwidth 1000 ip address 10.0.0.2 255.255.255.0 ip mtu 1436 ! Note the next line. ip nhrp authentication BLUE!KEY ip nhrp map 10.0.0.1 172.17.0.1 ip nhrp network-id 100000 ip nhrp holdtime 300 ip nhrp nhs 10.0.0.1 ip tcp adjust-mss 1360 delay 1000 tunnel mode gre multipoint tunnel source Ethernet0 tunnel destination 172.17.0.1 tunnel protection ipsec profile vpnprof Spoke 2:interface Tunnel0 bandwidth 1000 ip address 10.0.0.2 255.255.255.0 ip mtu 1436 ip nhrp authentication RED!KEY ip nhrp map 10.0.0.1 192.0.2.171 ip nhrp network-id 200000 ip nhrp holdtime 300 ip nhrp nhs 10.0.0.1 ip tcp adjust-mss 1360 delay 1000 tunnel source Ethernet0 tunnel destination 192.0.2.171 tunnel protection ipsec profile vpnprof! Example 2547oDMVPN with Traffic Segmentation (with BGP only)The following example show a traffic segmentation configuration in which traffic is segmented between two spokes that serve as provider edge (PE) devices. Hub Configurationhostname hub-pe1 boot-start-marker boot-end-marker no aaa new-model resource policy clock timezone EST 0 ip cef no ip domain lookup !This section refers to the forwarding table for VRF blue: ip vrf blue rd 2:2 route-target export 2:2 route-target import 2:2 !This section refers to the forwarding table for VRF red: ip vrf red rd 1:1 route-target export 1:1 route-target import 1:1 mpls label protocol ldp crypto isakmp policy 1 encr aes authentication pre-share group 14 crypto isakmp key cisco address 0.0.0.0 0.0.0.0 crypto ipsec transform-set t1 esp-aes mode transport crypto ipsec profile prof set transform-set t1 interface Tunnel1 ip address 10.9.9.1 255.255.255.0 no ip redirects ip nhrp authentication cisco ip nhrp map multicast dynamic ip nhrp network-id 1 !The command below enables MPLS on the DMVPN network: mpls ip tunnel source Ethernet0/0 tunnel mode gre multipoint tunnel protection ipsec profile prof interface Loopback0 ip address 10.0.0.1 255.255.255.255 interface Ethernet0/0 ip address 172.0.0.1 255.255.255.0 !The multiprotocol BGP route reflector (the hub) configuration changes the next-hop information to set itself as the next-hop and assigns a new VPN label for the prefixes learned from the spokes and advertises the VPN prefix: router bgp 1 no synchronization bgp log-neighbor-changes neighbor 10.0.0.11 remote-as 1 neighbor 10.0.0.11 update-source Tunnel1 neighbor 10.0.0.12 remote-as 1 neighbor 10.0.0.12 update-source Tunnel1 no auto-summary address-family vpnv4 neighbor 10.0.0.11 activate neighbor 10.0.0.11 send-community extended neighbor 10.0.0.11 route-reflector-client neighbor 10.0.0.11 route-map NEXTHOP out neighbor 10.0.0.12 activate neighbor 10.0.0.12 send-community extended neighbor 10.0.0.12 route-reflector-client neighbor 10.0.0.12 route-map NEXTHOP out exit-address-family address-family ipv4 vrf red redistribute connected no synchronization exit-address-family address-family ipv4 vrf blue redistribute connected no synchronization exit-address-family no ip http server no ip http secure-server !In this route map information, the hub sets the next hop to itself, and the VPN prefixes are advertised: route-map NEXTHOP permit 10 set ip next-hop 10.0.0.1 control-plane line con 0 logging synchronous line aux 0 line vty 0 4 no login end Spoke 2hostname spoke-pe2 boot-start-marker boot-end-marker no aaa new-model resource policy clock timezone EST 0 ip cef no ip domain lookup !This section refers to the forwarding table for VRF blue: ip vrf blue rd 2:2 route-target export 2:2 route-target import 2:2 !This section refers to the forwarding table for VRF red: ip vrf red rd 1:1 route-target export 1:1 route-target import 1:1 mpls label protocol ldp crypto isakmp policy 1 encr aes authentication pre-share group 14 crypto isakmp key cisco address 0.0.0.0 0.0.0.0 crypto ipsec transform-set t1 esp-aes mode transport crypto ipsec profile prof set transform-set t1 interface Tunnel1 ip address 10.0.0.11 255.255.255.0 no ip redirects ip nhrp authentication cisco ip nhrp map multicast dynamic ip nhrp map 10.0.0.1 172.0.0.1 ip nhrp map multicast 172.0.0.1 ip nhrp network-id 1 ip nhrp nhs 10.0.0.1 !The command below enables MPLS on the DMVPN network: mpls ip tunnel source Ethernet0/0 tunnel mode gre multipoint tunnel protection ipsec profile prof interface Loopback0 ip address 10.9.9.11 255.255.255.255 interface Ethernet0/0 ip address 172.0.0.11 255.255.255.0 ! ! interface Ethernet1/0 ip vrf forwarding red ip address 192.168.11.2 255.255.255.0 interface Ethernet2/0 ip vrf forwarding blue ip address 192.168.11.2 255.255.255.0 !The multiprotocol BGP route reflector (the hub) configuration changes the next-hop information to set itself as the next-hop and assigns a new VPN label for the prefixes learned from the spokes and advertises the VPN prefix: router bgp 1 no synchronization bgp log-neighbor-changes neighbor 10.0.0.1 remote-as 1 neighbor 10.0.0.1 update-source Tunnel1 no auto-summary address-family vpnv4 neighbor 10.0.0.1 activate neighbor 10.0.0.1 send-community extended exit-address-family ! address-family ipv4 vrf red redistribute connected no synchronization exit-address-family ! address-family ipv4 vrf blue redistribute connected no synchronization exit-address-family no ip http server no ip http secure-server control-plane line con 0 logging synchronous line aux 0 line vty 0 4 no login end Spoke 3hostname spoke-PE3 boot-start-marker boot-end-marker no aaa new-model resource policy clock timezone EST 0 ip cef no ip domain lookup !This section refers to the forwarding table for VRF blue: ip vrf blue rd 2:2 route-target export 2:2 route-target import 2:2 !This section refers to the forwarding table for VRF red: ip vrf red rd 1:1 route-target export 1:1 route-target import 1:1 mpls label protocol ldp crypto isakmp policy 1 encr aes authentication pre-share group 14 crypto isakmp key cisco address 0.0.0.0 0.0.0.0 crypto ipsec transform-set t1 esp-aes mode transport crypto ipsec profile prof set transform-set t1 interface Tunnel1 ip address 10.0.0.12 255.255.255.0 no ip redirects ip nhrp authentication cisco ip nhrp map multicast dynamic ip nhrp map 10.0.0.1 172.0.0.1 ip nhrp map multicast 172.0.0.1 ip nhrp network-id 1 ip nhrp nhs 10.0.0.1 !The command below enables MPLS on the DMVPN network: mpls ip tunnel source Ethernet0/0 tunnel mode gre multipoint tunnel protection ipsec profile prof ! interface Loopback0 ip address 10.9.9.12 255.255.255.255 interface Ethernet0/0 ip address 172.0.0.12 255.255.255.0 interface Ethernet1/0 ip vrf forwarding red ip address 192.168.12.2 255.255.255.0 interface Ethernet2/0 ip vrf forwarding blue ip address 192.168.12.2 255.255.255.0 !The multiprotocol BGP route reflector (the hub) configuration changes the next-hop information to set itself as the next-hop and assigns a new VPN label for the prefixes learned from the spokes and advertises the VPN prefix: router bgp 1 no synchronization bgp log-neighbor-changes neighbor 10.0.0.1 remote-as 1 neighbor 10.0.0.1 update-source Tunnel1 no auto-summary address-family vpnv4 neighbor 10.0.0.1 activate neighbor 10.0.0.1 send-community extended exit-address-family address-family ipv4 vrf red redistribute connected no synchronization exit-address-family address-family ipv4 vrf blue redistribute connected no synchronization exit-address-family no ip http server no ip http secure-server control-plane line con 0 logging synchronous line aux 0 line vty 0 4 no login end Example 2547oDMVPN with Traffic Segmentation (Enterprise Branch)The following example shows a configuration for segmenting traffic between two spokes located at branch offices of an enterprise. In this example, EIGRP is configured to learn routes to reach BGP neighbors within the DMVPN. Hub Configurationhostname HUB boot-start-marker boot-end-marker no aaa new-model resource policy clock timezone EST 0 ip cef no ip domain lookup !This section refers to the forwarding table for VRF blue: ip vrf blue rd 2:2 route-target export 2:2 route-target import 2:2 !This refers to the forwarding table for VRF red: ip vrf red rd 1:1 route-target export 1:1 route-target import 1:1 mpls label protocol ldp crypto isakmp policy 1 encr aes authentication pre-share group 14 crypto isakmp key cisco address 0.0.0.0 0.0.0.0 crypto ipsec transform-set t1 esp-aes mode transport crypto ipsec profile prof set transform-set t1 interface Tunnel1 ip address 10.0.0.1 255.255.255.0 no ip redirects ip nhrp authentication cisco ip nhrp map multicast dynamic ip nhrp network-id 1 !EIGRP is enabled on the DMVPN network to learn the IGP prefixes: no ip split-horizon eigrp 1 !The command below enables MPLS on the DMVPN network: mpls ip tunnel source Ethernet0/0 tunnel mode gre multipoint tunnel protection ipsec profile prof !This address is advertised by EIGRP and used as the BGP endpoint: interface Loopback0 ip address 10.9.9.1 255.255.255.255 interface Ethernet0/0 ip address 172.0.0.1 255.255.255.0 !EIGRP is configured to learn the BGP peer addresses (10.9.9.x networks) router eigrp 1 network 10.9.9.1 0.0.0.0 network 10.0.0.0 0.0.0.255 no auto-summary !The multiprotocol BGP route reflector (the hub) configuration changes the next-hop information to set itself as the next-hop and assigns a new VPN label for the prefixes learned from the spokes and advertises the VPN prefix: router bgp 1 no synchronization bgp router-id 10.9.9.1 bgp log-neighbor-changes neighbor 10.9.9.11 remote-as 1 neighbor 10.9.9.11 update-source Loopback0 neighbor 10.9.9.12 remote-as 1 neighbor 10.9.9.12 update-source Loopback0 no auto-summary address-family vpnv4 neighbor 10.9.9.11 activate neighbor 10.9.9.11 send-community extended neighbor 10.9.9.11 route-reflector-client neighbor 10.9.9.12 activate neighbor 10.9.9.12 send-community extended neighbor 10.9.9.12 route-reflector-client exit-address-family address-family ipv4 vrf red redistribute connected no synchronization exit-address-family address-family ipv4 vrf blue redistribute connected no synchronization exit-address-family no ip http server no ip http secure-server control-plane line con 0 logging synchronous line aux 0 line vty 0 4 no login end Spoke 2hostname Spoke2 boot-start-marker boot-end-marker no aaa new-model resource policy clock timezone EST 0 ip cef no ip domain lookup !This section refers to the forwarding table for VRF blue: ip vrf blue rd 2:2 route-target export 2:2 route-target import 2:2 !This section refers to the forwarding table for VRF red: ip vrf red rd 1:1 route-target export 1:1 route-target import 1:1 mpls label protocol ldp crypto isakmp policy 1 encr aes authentication pre-share group 14 crypto isakmp key cisco address 0.0.0.0 0.0.0.0 crypto ipsec transform-set t1 esp-aes mode transport crypto ipsec profile prof set transform-set t1 interface Tunnel1 ip address 10.0.0.11 255.255.255.0 no ip redirects ip nhrp authentication cisco ip nhrp map multicast dynamic ip nhrp map 10.0.0.1 172.0.0.1 ip nhrp map multicast 172.0.0.1 ip nhrp network-id 1 ip nhrp nhs 10.0.0.1 !The command below enables MPLS on the DMVPN network: mpls ip tunnel source Ethernet0/0 tunnel mode gre multipoint tunnel protection ipsec profile prof !This address is advertised by EIGRP and used as the BGP endpoint: interface Loopback0 ip address 10.9.9.11 255.255.255.255 interface Ethernet0/0 ip address 172.0.0.11 255.255.255.0 interface Ethernet1/0 ip vrf forwarding red ip address 192.168.11.2 255.255.255.0 interface Ethernet2/0 ip vrf forwarding blue ip address 192.168.11.2 255.255.255.0 !EIGRP is enabled on the DMVPN network to learn the IGP prefixes: router eigrp 1 network 10.9.9.11 0.0.0.0 network 10.0.0.0 0.0.0.255 no auto-summary !The multiprotocol BGP route reflector (the hub) configuration changes the next-hop information to set itself as the next-hop and assigns a new VPN label for the prefixes learned from the spokes and advertises the VPN prefix: router bgp 1 no synchronization bgp router-id 10.9.9.11 bgp log-neighbor-changes neighbor 10.9.9.1 remote-as 1 neighbor 10.9.9.1 update-source Loopback0 no auto-summary address-family vpnv4 neighbor 10.9.9.1 activate neighbor 10.9.9.1 send-community extended exit-address-family address-family ipv4 vrf red redistribute connected no synchronization exit-address-family address-family ipv4 vrf blue redistribute connected no synchronization exit-address-family no ip http server no ip http secure-server control-plane line con 0 logging synchronous line aux 0 line vty 0 4 no login end Spoke 3hostname Spoke3 boot-start-marker boot-end-marker no aaa new-model resource policy clock timezone EST 0 ip cef no ip domain lookup !This section refers to the forwarding table for VRF blue: ip vrf blue rd 2:2 route-target export 2:2 route-target import 2:2 !This section refers to the forwarding table for VRF red: ip vrf red rd 1:1 route-target export 1:1 route-target import 1:1 mpls label protocol ldp crypto isakmp policy 1 encr aes authentication pre-share group 14 crypto isakmp key cisco address 0.0.0.0 0.0.0.0 crypto ipsec transform-set t1 esp-aes mode transport crypto ipsec profile prof set transform-set t1 interface Tunnel1 ip address 10.0.0.12 255.255.255.0 no ip redirects ip nhrp authentication cisco ip nhrp map multicast dynamic ip nhrp map 10.0.0.1 172.0.0.1 ip nhrp map multicast 172.0.0.1 ip nhrp network-id 1 ip nhrp nhs 10.0.0.1 !The command below enables MPLS on the DMVPN network: mpls ip tunnel source Ethernet0/0 tunnel mode gre multipoint tunnel protection ipsec profile prof !This address is advertised by EIGRP and used as the BGP endpoint: interface Loopback0 ip address 10.9.9.12 255.255.255.255 interface Ethernet0/0 ip address 172.0.0.12 255.255.255.0 interface Ethernet1/0 ip vrf forwarding red ip address 192.168.12.2 255.255.255.0 interface Ethernet2/0 ip vrf forwarding blue ip address 192.168.12.2 255.255.255.0 !EIGRP is enabled on the DMVPN network to learn the IGP prefixes: router eigrp 1 network 10.9.9.12 0.0.0.0 network 10.0.0.0 0.0.0.255 no auto-summary !The multiprotocol BGP route reflector (the hub) configuration changes the next-hop information to set itself as the next-hop and assigns a new VPN label for the prefixes learned from the spokes and advertises the VPN prefix: router bgp 1 no synchronization bgp router-id 10.9.9.12 bgp log-neighbor-changes neighbor 10.9.9.1 remote-as 1 neighbor 10.9.9.1 update-source Loopback0 no auto-summary address-family vpnv4 neighbor 10.9.9.1 activate neighbor 10.9.9.1 send-community extended exit-address-family address-family ipv4 vrf red redistribute connected no synchronization exit-address-family address-family ipv4 vrf blue redistribute connected no synchronization exit-address-family no ip http server no ip http secure-server control-plane line con 0 logging synchronous line aux 0 line vty 0 4 no login end Sample Command Output: show mpls ldp bindings
Spoke2# show mpls ldp bindings
tib entry: 10.9.9.1/32, rev 8
local binding: tag: 16
remote binding: tsr: 10.9.9.1:0, tag: imp-null
tib entry: 10.9.9.11/32, rev 4
local binding: tag: imp-null
remote binding: tsr: 10.9.9.1:0, tag: 16
tib entry: 10.9.9.12/32, rev 10
local binding: tag: 17
remote binding: tsr: 10.9.9.1:0, tag: 17
tib entry: 10.0.0.0/24, rev 6
local binding: tag: imp-null
remote binding: tsr: 10.9.9.1:0, tag: imp-null
tib entry: 172.0.0.0/24, rev 3
local binding: tag: imp-null
remote binding: tsr: 10.9.9.1:0, tag: imp-null
Spoke2#
Sample Command Output: show mpls forwarding-table
Spoke2# show mpls forwarding-table
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
16 Pop tag 10.9.9.1/32 0 Tu1 10.0.0.1
17 17 10.9.9.12/32 0 Tu1 10.0.0.1
18 Aggregate 192.168.11.0/24[V] \
0
19 Aggregate 192.168.11.0/24[V] \
0
Spoke2#
Sample Command Output: show ip route vrf red
Spoke2# show ip route vrf red
Routing Table: red
Codes: C - connected, S - static, 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
i - IS-IS, su - IS-IS summary, 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
B 192.168.12.0/24 [200/0] via 10.9.9.12, 00:00:02
C 192.168.11.0/24 is directly connected, Ethernet1/0
Spoke2#
Sample Command Output: show ip route vrf blueSpoke2# show ip route vrf blue Routing Table: blue Codes: C - connected, S - static, 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 i - IS-IS, su - IS-IS summary, 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 B 192.168.12.0/24 [200/0] via 10.9.9.12, 00:00:08 C 192.168.11.0/24 is directly connected, Ethernet2/0 Spoke2# Spoke2# show ip cef vrf red 192.168.12.0 192.168.12.0/24, version 5, epoch 0 0 packets, 0 bytes tag information set local tag: VPN-route-head fast tag rewrite with Tu1, 10.0.0.1, tags imposed: {17 18} via 10.9.9.12, 0 dependencies, recursive next hop 10.0.0.1, Tunnel1 via 10.9.9.12/32 valid adjacency tag rewrite with Tu1, 10.0.0.1, tags imposed: {17 18} Spoke2# Sample Command Output: show ip bgp neighbors
Spoke2# show ip bgp neighbors
BGP neighbor is 10.9.9.1, remote AS 1, internal link
BGP version 4, remote router ID 10.9.9.1
BGP state = Established, up for 00:02:09
Last read 00:00:08, last write 00:00:08, hold time is 180, keepalive interval is 60 seconds
Neighbor capabilities:
Route refresh: advertised and received(old & new)
Address family IPv4 Unicast: advertised and received
Address family VPNv4 Unicast: advertised and received
Message statistics:
InQ depth is 0
OutQ depth is 0
Sent Rcvd
Opens: 1 1
Notifications: 0 0
Updates: 4 4
Keepalives: 4 4
Route Refresh: 0 0
Total: 9 9
Default minimum time between advertisement runs is 0 seconds
For address family: IPv4 Unicast
BGP table version 1, neighbor version 1/0
Output queue size : 0
Index 1, Offset 0, Mask 0x2
1 update-group member
Sent Rcvd
Prefix activity: ---- ----
Prefixes Current: 0 0
Prefixes Total: 0 0
Implicit Withdraw: 0 0
Explicit Withdraw: 0 0
Used as bestpath: n/a 0
Used as multipath: n/a 0
Outbound Inbound
Local Policy Denied Prefixes: -------- -------
Total: 0 0
Number of NLRIs in the update sent: max 0, min 0
For address family: VPNv4 Unicast
BGP table version 9, neighbor version 9/0
Output queue size : 0
Index 1, Offset 0, Mask 0x2
1 update-group member
Sent Rcvd
Prefix activity: ---- ----
Prefixes Current: 2 2 (Consumes 136 bytes)
Prefixes Total: 4 2
Implicit Withdraw: 2 0
Explicit Withdraw: 0 0
Used as bestpath: n/a 2
Used as multipath: n/a 0
Outbound Inbound
Local Policy Denied Prefixes: -------- -------
ORIGINATOR loop: n/a 2
Bestpath from this peer: 4 n/a
Total: 4 2
Number of NLRIs in the update sent: max 1, min 1
Connections established 1; dropped 0
Last reset never
Connection state is ESTAB, I/O status: 1, unread input bytes: 0
Connection is ECN Disabled
Local host: 10.9.9.11, Local port: 179
Foreign host: 10.9.9.1, Foreign port: 12365
Enqueued packets for retransmit: 0, input: 0 mis-ordered: 0 (0 bytes)
Event Timers (current time is 0x2D0F0):
Timer Starts Wakeups Next
Retrans 6 0 0x0
TimeWait 0 0 0x0
AckHold 7 3 0x0
SendWnd 0 0 0x0
KeepAlive 0 0 0x0
GiveUp 0 0 0x0
PmtuAger 0 0 0x0
DeadWait 0 0 0x0
iss: 3328307266 snduna: 3328307756 sndnxt: 3328307756 sndwnd: 15895
irs: 4023050141 rcvnxt: 4023050687 rcvwnd: 16384 delrcvwnd: 0
SRTT: 165 ms, RTTO: 1457 ms, RTV: 1292 ms, KRTT: 0 ms
minRTT: 0 ms, maxRTT: 300 ms, ACK hold: 200 ms
Flags: passive open, nagle, gen tcbs
IP Precedence value : 6
Datagrams (max data segment is 536 bytes):
Rcvd: 13 (out of order: 0), with data: 7, total data bytes: 545
Sent: 11 (retransmit: 0, fastretransmit: 0, partialack: 0, Second Congestion: 0), with data: 6, total data bytes: 489
Spoke2#
Additional ReferencesRelated Documents
MIBsTechnical Assistance
Feature Information for Dynamic Multipoint VPN (DMVPN)The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature. Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
GlossaryAM --aggressive mode. A mode during IKE negotiation. Compared to MM, AM eliminates several steps, making it faster but less secure than MM. Cisco IOS software will respond in aggressive mode to an IKE peer that initiates aggressive mode. GRE --generic routing encapsulation. Tunnels that provide a specific pathway across the shared WAN and encapsulate traffic with new packet headers to ensure delivery to specific destinations. The network is private because traffic can enter a tunnel only at an endpoint. Tunnels do not provide true confidentiality (encryption does) but can carry encrypted traffic. GRE tunneling can also be used to encapsulate non-IP traffic into IP and send it over the Internet or IP network. The Internet Package Exchange (IPX) and AppleTalk protocols are examples of non-IP traffic. IKE --Internet Key Exchange. A hybrid protocol that implements Oakley key exchange and Skeme key exchange inside the ISAKMP framework. Although IKE can be used with other protocols, its initial implementation is with IPsec. IKE provides authentication of the IPsec peers, negotiates IPsec keys, and negotiates IPsec security associations. IPsec --IP security. A framework of open standards developed by the Internet Engineering Task Force (IETF). IPsec provides security for transmission of sensitive information over unprotected networks such as the Internet. IPsec acts at the network layer, protecting and authenticating IP packets between participating IPsec devices ("peers"), such as Cisco routers. ISAKMP --Internet Security Association Key Management Protocol. A protocol framework that defines payload formats, the mechanics of implementing a key exchange protocol, and the negotiation of a security association. MM --main mode. Mode that is slower than aggressive mode but more secure and more flexible than aggressive mode because it can offer an IKE peer more security proposals. The default action for IKE authentication (rsa-sig, rsa-encr, or preshared) is to initiate main mode. NHRP --Next Hop Resolution Protocol. Routers, access servers, and hosts can use NHRP to discover the addresses of other routers and hosts connected to a NBMA network. The Cisco implementation of NHRP supports the IETF draft version 11 of NBMA Next Hop Resolution Protocol (NHRP). The Cisco implementation of NHRP supports IP Version 4, Internet Packet Exchange (IPX) network layers, and, at the link layer, ATM, Ethernet, SMDS, and multipoint tunnel networks. Although NHRP is available on Ethernet, NHRP need not be implemented over Ethernet media because Ethernet is capable of broadcasting. Ethernet support is unnecessary (and not provided) for IPX. PFS --Perfect Forward Secrecy. A cryptographic characteristic associated with a derived shared secret value. With PFS, if one key is compromised, previous and subsequent keys are not compromised, because subsequent keys are not derived from previous keys. SA --security association. Describes how two or more entities will utilize security services to communicate securely. For example, an IPsec SA defines the encryption algorithm (if used), the authentication algorithm, and the shared session key to be used during the IPsec connection. Both IPsec and IKE require and use SAs to identify the parameters of their connections. IKE can negotiate and establish its own SA. The IPsec SA is established either by IKE or by manual user configuration. transform --The list of operations done on a dataflow to provide data authentication, data confidentiality, and data compression. One example of a transform is ESP with the 256-bit AES encryption algorithm and the AH protocol with the HMAC-SHA authentication algorithm. VPN --Virtual Private Network. A framework that consists of multiple peers transmitting private data securely to one another over an otherwise public infrastructure. In this framework, inbound and outbound network traffic is protected using protocols that tunnel and encrypt all data. This framework permits networks to extend beyond their local topology, while remote users are provided with the appearance and functionality of a direct network connection. Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R) Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental. © 2012 Cisco Systems, Inc. All rights reserved.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||