DMVPN PDF
DMVPN PDF
Americas Headquarters
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
USA
[Link]
Tel: 408 526-4000
800 553-NETS (6387)
Fax: 408 527-0883
THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE WITHOUT NOTICE. ALL STATEMENTS,
INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE PRESENTED WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED. USERS MUST TAKE FULL RESPONSIBILITY FOR THEIR APPLICATION OF ANY PRODUCTS.
THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT SHIPPED WITH
THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE OR LIMITED WARRANTY,
CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY.
The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCB's public domain version
of the UNIX operating system. All rights reserved. Copyright © 1981, Regents of the University of California.
NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED “AS IS" WITH ALL FAULTS.
CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THOSE OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE PRACTICE.
IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING, WITHOUT
LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF CISCO OR ITS SUPPLIERS
HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
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.
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: http://
[Link]/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)
Verifying the DMVPN-Tunnel Health Monitoring and Recovery Backup NHS Feature 96
Configuration Examples for DMVPN-Tunnel Health Monitoring and Recovery Backup
NHS 98
Example Configuring Maximum Connections for an NHS Cluster 98
Example Configuring NHS Fallback Time 98
Example Configuring NHS Priority and Group Values 99
Additional References 99
Feature Information for DMVPN-Tunnel Health Monitoring and Recovery Backup NHS 100
CHAPTER 10 DMVPN Dynamic Tunnels Between Spokes Behind a NAT Device 137
Finding Feature Information 137
Restrictions for DMVPN Dynamic Tunnels Between Spokes Behind a NAT Device 137
Information About DMVPN Dynamic Tunnels Between Spokes Behind a NAT Device 138
DMVPN Spoke-to-Spoke Tunneling Limited to Spokes Not Behind a NAT Device 138
NHRP Registration 139
NHRP Resolution 140
NHRP Spoke-to-Spoke Tunnel with a NAT Device 140
NHRP Registration Process 141
NHRP Resolution and Purge Process 141
Additional References 142
Feature Information for DMVPN Dynamic Tunnels Between Spokes Behind a NAT
Device 144
Feature Information
Use Cisco Feature Navigator to find information about feature support, platform support, and Cisco software
image support. An account on [Link] is not required.
Related References
• Cisco IOS Command References, All Releases
Note Security threats, as well as the cryptographic technologies to help protect against them, are constantly
changing. For more information about the latest Cisco cryptographic recommendations, see the Next
Generation Encryption (NGE) white paper.
Note It is highly recommended that you do not use wildcard preshared keys because an attacker
will have access to the VPN if one spoke router is compromised.
• GRE tunnel keepalives (that is, the keepalive command under a GRE interface) are not supported on
point-to-point or multipoint GRE tunnels in a DMVPN network.
• If one spoke is behind one Network Address Translation (NAT) device and a different spoke is behind
another NAT device, and Port Address Translation (PAT) is the type of NAT used on both NAT devices,
then a session initiated between the two spokes cannot be established.
One example of a PAT configuration on a NAT interface is:
ip nat inside source list nat_acl interface FastEthernet0/0/1 overload
• When using OSPF point-to-multipoint, you must block the OSPF /32 routes. Add the following on all
hub and spoke routers to block these host routes:
router ospf <#>
...
distribute-list prefix-list Block-32 out //block OSPF/32 connected routes//
ip prefix-list Block-32 deny <tunnel-subnet> <mask> ge 32
ip prefix-list Block-32 permit any le 32
SSO Restrictions
• The Cisco ASR 1000 Series Routers support stateful IPSec sessions on Embedded Services Processor
(ESP) switchover. During ESP switchover, all IPSec sessions will stay up and no user intervention is
needed to maintain IPSec sessions.
• For an ESP reload (no standby ESP), the SA sequence number restarts from 0. The peer router drops
packets that do not have the expected sequence number. You may need to explicitly reestablish IPSec
sessions to work around this issue for systems that have a single ESP after an ESP reload. Traffic
disruption might happen over the IPSec sessions in such cases for the duration of the reload.
• The Cisco ASR 1000 Series Router currently does not support Stateful Switchover (SSO) IPSec sessions
on Route Processors (RPs). The IPSec sessions will go down on initiation of the switchover, but will
come back up when the new RP becomes active. No user intervention is needed. Traffic disruption might
happen over the IPSec sessions for the duration of the switchover, until the sessions are back up.
• The Cisco ASR 1000 Series Router does not support stateful ISSU for IPSec sessions. Before performing
an ISSU, you must explicitly terminate all existing IPSec sessions or tunnels prior to the operation and
reestablish them post ISSU. Specifically, ensure that there are no half-open or half-established IPSec
tunnels present before performing ISSU. To do this, we recommend a interface shutdown in the case of
interfaces that may initiate a tunnel setup, such as a routing protocol initiating a tunnel setup, or interfaces
that have keepalive enabled, or where there is an auto trigger for an IPSec session. Traffic disruption
over the IPSec sessions during ISSU is obvious in this case.
• NHRP--A client and server protocol where the hub is the server and the spokes are the clients. The hub
maintains an NHRP database of the public interface addresses of each spoke. Each spoke registers its
real address when it boots and queries the NHRP database for real addresses of the destination spokes
to build direct tunnels.
• mGRE tunnel interface --Allows a single GRE interface to support multiple IPsec tunnels and simplifies
the size and complexity of the configuration.
The topology shown in the figure below and the corresponding bullets explain how this feature works.
• Each spoke has a permanent IPsec tunnel to the hub, not to the other spokes within the network. Each
spoke registers as clients of the NHRP server.
• When a spoke needs to send a packet to a destination (private) subnet on another spoke, it queries the
NHRP server for the real (outside) address of the destination (target) spoke.
• After the originating spoke “learns” the peer address of the target spoke, it can initiate a dynamic IPsec
tunnel to the target spoke.
• The spoke-to-spoke tunnel is built over the multipoint GRE interface.
• The spoke-to-spoke links are established on demand whenever there is traffic between the spokes.
Thereafter, packets can bypass the hub and use the spoke-to-spoke tunnel.
Note After a preconfigured amount of inactivity on the spoke-to-spoke tunnels, the router will tear down those
tunnels to save resources (IPsec security associations [SAs]).
IPsec Profiles
IPsec 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 need not 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.
• The hub shown in the diagram is a WAN-PE and a Route Reflector, and the spokes (PE routers) are
clients.
• There are three VRFs, designated “red,” “green,” and “blue.”
• Each spoke has both a neighbor relationship with the hub (multiprotocol internal Border Gateway
Protocol [MP-iBGP] peering) and a GRE tunnel to the hub.
• Each spoke advertises its routes and VPN-IPv4 (VPNv4) prefixes to the hub.
• The hub sets its own IP address as the next-hop route for all the VPNv4 addresses it learns from the
spokes and assigns a local MPLS label for each VPN when it advertises routes back to the spokes. As
a result, traffic from Spoke A to Spoke B is routed via the hub.
Note DMVPN spokes behind NAT will participate in dynamic direct spoke-to-spoke tunnels. The spokes must
be behind NAT boxes that are preforming NAT, not PAT. The NAT box must translate the spoke to the
same outside NAT IP address for the spoke-to-spoke connections as the NAT box does for the spoke-to-hub
connection. If there is more than one DMVPN spoke behind the same NAT box, the NAT box must
translate the DMVPN spokes to different outside NAT IP addresses. It is also likely that you may not be
able to build a direct spoke-to-spoke tunnel between these spokes. If a spoke-to-spoke tunnel fails to form,
the spoke-to-spoke packets will continue to be forwarded via the spoke-to-hub-spoke path.
Note Security threats, as well as the cryptographic technologies to help protect against them, are constantly
changing. For more information about the latest Cisco cryptographic recommendations, see the Next
Generation Encryption (NGE) white paper.
SUMMARY STEPS
1. enable
2. configure terminal
3. crypto ipsec profile name
4. set transform-set transform-set-name
5. set identity
6. set security association lifetime {seconds seconds | kilobytes kilobytes}
7. set pfs [group1 | group2]
DETAILED STEPS
Example:
Router# configure terminal
Step 3 crypto ipsec profile name Defines the IPsec parameters that are to be used for IPsec encryption
between “spoke and hub” and “spoke and spoke” routers.
Example:
• This command enters crypto map configuration mode.
Router(config)#
crypto ipsec profile vpnprof • The name argument specifies the name of the IPsec profile.
Step 4 set transform-set transform-set-name Specifies which transform sets can be used with the IPsec profile.
• The transform-set-name argument specifies the name of the
Example: transform set.
Router(config-crypto-map)# set
transform-set trans2
Step 5 set identity (Optional) Specifies identity restrictions to be used with the IPsec profile.
Example:
Router(config-crypto-map)# set
identity
Step 6 set security association lifetime {seconds (Optional) Overrides the global lifetime value for the IPsec profile.
seconds | kilobytes kilobytes}
• The seconds seconds option specifies the number of seconds a
security association will live before expiring; the kilobytes
Example: kilobytesoption specifies the volume of traffic (in kilobytes) that
Router(config-crypto-map)# set can pass between IPsec peers using a given security association
security association lifetime seconds before that security association expires.
1800
• The default for the seconds argument is 3600 seconds.
Step 7 set pfs [group1 | group2] (Optional) Specifies that IPsec should ask for perfect forward secrecy
(PFS) when requesting new security associations for this IPsec profile.
Example: • If this command is not specified, the default (group1) is enabled.
Router(config-crypto-map)# set pfs
group2 • The group1 keyword specifies that IPsec should use the 768-bit
Diffie-Hellman (DH) prime modulus group when performing the
Note NHRP network IDs are locally significant and can be different. It makes sense from a deployment and
maintenance perspective to use unique network IDnumbers (using the ip nhrp network-id command)
across all routers in a DMVPN network, but it is not necessary that they be the same.
SUMMARY STEPS
1. enable
2. configure terminal
3. interface tunnel number
4. ip address ip-address mask secondary
5. ip mtu bytes
6. ip nhrp authentication string
7. ip nhrp map multicast dynamic
8. ip nhrp network-id number
9. tunnel source {ip-address | type number}
10. tunnel key key-number
11. tunnel mode gre multipoint
12. Do one of the following:
• tunnel protection ipsec profile name
• tunnel protection psk key
DETAILED STEPS
Example:
Router# configure terminal
Step 3 interface tunnel number Configures a tunnel interface and enters interface configuration mode
• The number argument specifies the number of the tunnel interface
Example: that you want to create or configure. There is no limit on the number
Router(config)# of tunnel interfaces you can create.
interface tunnel 5
Step 4 ip address ip-address mask secondary Sets a primary or secondary IP address for the tunnel interface.
Note All hubs and spokes that are in the same DMVPN network must
Example: be addressed in the same IP subnet.
Router(config-if)# ip address [Link]
[Link]
Step 5 ip mtu bytes Sets the maximum transmission unit (MTU) size, in bytes, of IP packets
sent on an interface.
Example:
Router(config-if)# ip mtu 1400
Step 6 ip nhrp authentication string Configures the authentication string for an interface using NHRP.
Note The NHRP authentication string must be set to the same value
Example: on all hubs and spokes that are in the same DMVPN network.
Router(config-if)# ip nhrp
authentication donttell
Step 7 ip nhrp map multicast dynamic Allows NHRP to automatically add spoke routers to the multicast NHRP
mappings.
Example: Note Effective with Cisco IOS XE Denali 16.3 ip nhrp map
Router(config-if)# ip nhrp map multicast dynamic is enabled by default.
multicast dynamic
Example:
Router(config-if)# tunnel source
Gigabitethernet 0/0/0
Step 10 tunnel key key-number (Optional) Enables an ID key for a tunnel interface.
• The key-number argument specifies a number from 0 to
Example: 4,294,967,295 that identifies the tunnel key.
Router(config-if)# tunnel key 100000
Note The key number must be set to the same value on all hubs and
spokes that are in the same DMVPN network.
Step 11 tunnel mode gre multipoint Sets the encapsulation mode to mGRE for the tunnel interface.
Example:
Router(config-if)#
tunnel mode gre multipoint
Step 12 Do one of the following: Associates a tunnel interface with an IPsec profile.
• tunnel protection ipsec profile name • The name argument specifies the name of the IPsec profile; this
value must match the name specified in the crypto ipsec profile
• tunnel protection psk key
namecommand.
or
Example:
Simplifies the tunnel protection configuration for pre-shared key (PSK)
Router(config-if)# by creating a default IPsec profile.
tunnel protection ipsec profile
vpnprof
Example:
Router(config-if)#
tunnel protection psk test1
Step 13 bandwidth kbps Sets the current bandwidth value for an interface to higher-level protocols.
• The kbps argument specifies the bandwidth in kilobits per second.
Example: The default value is 9. The recommended bandwidth value is 1000
Router(config-if)# bandwidth 1000 or greater.
• Setting the bandwidth value to at least 1000 is critical if EIGRP is
used over the tunnel interface. Higher bandwidth values may be
necessary depending on the number of spokes supported by a hub.
Step 15 ip nhrp holdtime seconds Changes the number of seconds that NHRP NBMA addresses are
advertised as valid in authoritative NHRP responses.
Example: • The seconds argument specifies the time in seconds that NBMA
Router(config-if)# ip nhrp holdtime addresses are advertised as valid in positive authoritative NHRP
450 responses. The recommended value ranges from 300 seconds to
600 seconds.
Step 16 delay number (Optional) Changes the EIGRP routing metric for routes learned over the
tunnel interface.
Example: • The number argument specifies the delay time in seconds. The
Router(config-if)# delay 1000 recommended value is 1000.
Note NHRP network IDs are locally significant and can be different. It makes sense from a deployment and
maintenance perspective to use unique network IDnumbers (using the ip nhrp network-id command)
across all routers in a DMVPN network, but it is not necessary that they be the same.
SUMMARY STEPS
1. enable
2. configure terminal
3. interface tunnel number
4. ip address ip-address mask secondary
5. ip mtu bytes
6. ip nhrp authentication string
7. ip nhrp map hub-tunnel-ip-address hub-physical-ip-address
8. ip nhrp map multicast hub-physical-ip-address
9. ip nhrp nhs hub-tunnel-ip-address
10. ip nhrp network-id number
11. tunnel source {ip-address | type number}
12. tunnel key key-number
13. Do one of the following:
• tunnel mode gre multipoint
• tunnel destination hub-physical-ip-address
DETAILED STEPS
Example:
Router# configure terminal
Step 3 interface tunnel number Configures a tunnel interface and enters interface configuration mode.
Step 4 ip address ip-address mask secondary Sets a primary or secondary IP address for the tunnel interface.
Note All hubs and spokes that are in the same DMVPN network
Example: must be addressed in the same IP subnet.
Router(config-if)# ip address [Link]
[Link]
Step 5 ip mtu bytes Sets the MTU size, in bytes, of IP packets sent on an interface.
Example:
Router(config-if)# ip mtu 1400
Step 6 ip nhrp authentication string Configures the authentication string for an interface using NHRP.
Note The NHRP authentication string must be set to the same value
Example: on all hubs and spokes that are in the same DMVPN network.
Router(config-if)# ip nhrp
authentication donttell
Step 7 ip nhrp map hub-tunnel-ip-address Statically configures the IP-to-NBMA address mapping of IP
hub-physical-ip-address destinations connected to an NBMA network.
• hub-tunnel-ip-address --Defines the NHRP server at the hub,
Example: which is permanently mapped to the static public IP address of
Router(config-if)# ip nhrp map [Link] the hub.
[Link]
• hub-physical-ip-address --Defines the static public IP address of
the hub.
Step 8 ip nhrp map multicast Enables the use of a dynamic routing protocol between the spoke and
hub-physical-ip-address hub, and sends multicast packets to the hub router.
Example:
Router(config-if)# ip nhrp map multicast
[Link]
Step 9 ip nhrp nhs hub-tunnel-ip-address Configures the hub router as the NHRP next-hop server.
Example:
Router(config-if)# ip nhrp nhs [Link]
Example:
Router(config-if)# tunnel source
Gigabitethernet 0/0/0
Step 12 tunnel key key-number (Optional) Enables an ID key for a tunnel interface.
• The key-number argument specifies a number from 0 to
Example: 4,294,967,295 that identifies the tunnel key.
Router(config-if)# tunnel key 100000
• The key number must be set to the same value on all hubs and
spokes that are in the same DMVPN network.
Step 13 Do one of the following: Sets the encapsulation mode to mGRE for the tunnel interface.
• tunnel mode gre multipoint • Use this command if data traffic can use dynamic spoke-to-spoke
traffic.
• tunnel destination
hub-physical-ip-address
Specifies the destination for a tunnel interface.
• Use this command if data traffic can use hub-and-spoke tunnels.
Example:
Router(config-if)# tunnel mode gre
multipoint
Example:
Router(config-if)# tunnel destination
[Link]
Step 14 Do one of the following: Associates a tunnel interface with an IPsec profile.
• tunnel protection ipsec profile name • The name argument specifies the name of the IPsec profile; this
value must match the name specified in the crypto ipsec profile
• tunnel protection psk key
namecommand.
or
Example:
Simplifies the tunnel protection configuration for pre-shared key (PSK)
Router(config-if)# tunnel protection by creating a default IPsec profile.
ipsec profile vpnprof
Example:
Router(config-if)#
tunnel protection psk test1
Step 15 bandwidth kbps Sets the current bandwidth value for an interface to higher-level
protocols.
Example: • The kbps argument specifies the bandwidth in kilobits per second.
Router(config-if)# bandwidth 1000 The default value is 9. The recommended bandwidth value is 1000
or greater.
• The bandwidth setting for the spoke need not equal the bandwidth
setting for the DMVPN hub. It is usually easier if all of the spokes
use the same or similar value.
Step 16 ip tcp adjust-mss max-segment-size Adjusts the MSS value of TCP packets going through a router.
• The max-segment-size argument specifies the maximum segment
Example: size, in bytes. The range is from 500 to 1460.
Router(config-if)# ip tcp adjust-mss
1360 • The recommended number value is 1360 when the number of IP
MTU bytes is set to 1400. With these recommended settings, TCP
sessions quickly scale back to 1400-byte IP packets so the packets
will “fit” in the tunnel.
Step 17 ip nhrp holdtime seconds Changes the number of seconds that NHRP NBMA addresses are
advertised as valid in authoritative NHRP responses.
Example: • The seconds argument specifies the time in seconds that NBMA
Router(config-if)# ip nhrp holdtime 450 addresses are advertised as valid in positive authoritative NHRP
responses. The recommended value ranges from 300 seconds to
600 seconds.
Step 18 delay number (Optional) Changes the EIGRP routing metric for routes learned over
the tunnel interface.
Example: • The number argument specifies the delay time in seconds. The
Router(config-if)# delay 1000 recommended value is 1000.
Note To configure VRF Blue, use the ip vrf vrf-name command in global configuration mode.
SUMMARY STEPS
1. enable
2. configure terminal
3. interface type number
4. ip vrf forwarding vrf-name
DETAILED STEPS
Example:
Router# configure terminal
Step 3 interface type number Configures an interface type and enters interface
configuration mode.
Example:
Router(config)# interface tunnel 0
Step 4 ip vrf forwarding vrf-name Allows the forwarding of clear-text data IP packets into
a VRF.
Example:
Router(config-if)# ip vrf forwarding Blue
Note To configure VRF Red, use the ip vrf vrf-name command in global configuration mode.
SUMMARY STEPS
1. enable
2. configure terminal
3. interface type number
4. tunnel vrf vrf-name
DETAILED STEPS
Example:
Router# configure terminal
Step 3 interface type number Configures an interface type and enters interface configuration
mode.
Example:
Router(config)# interface tunnel 0
Step 4 tunnel vrf vrf-name Associates a VPN VRF instance with a specific tunnel
destination, interface, or subinterface and allows the forwarding
Example: of encrypted tunnel packets into a VRF.
Prerequisites
The tasks that follow assume that the DMVPN tunnel and the VRFs Red and Blue have already been configured.
To configure VRF Red or Blue, use the ip vrf vrf-name command in global configuration mode.
For information on configuring a DMVPN tunnel, see the Configuring the Hub for DMVPN, on page 12
and the Configuring the Spoke for DMVPN, on page 15. For details about VRF configuration, see the
Configuring the Forwarding of Clear-Text Data IP Packets into a VRF, on page 19 and the Configuring the
Forwarding of Encrypted Tunnel Packets into a VRF, on page 20.
Note On the Cisco ASR 1000 Series Aggregation Services Routers, only distributed switching is supported.
Use the following commands for distributed switching: ip multicast-routing [vrf vrf-name] [distributed],
debug ip bgp vpnv4 unicast, and ip cef distributed.
SUMMARY STEPS
1. enable
2. configure terminal
3. interface type number
4. mpls ip
DETAILED STEPS
Example:
Router# configure terminal
Step 3 interface type number Configures an interface type and enters interface
configuration mode.
Example:
Router(config)# interface tunnel 0
SUMMARY STEPS
1. enable
2. configure terminal
3. router bgp autonomous-system-number
4. neighbor ipaddress remote-as as - number
5. neighbor ipaddress update-source interface
6. address-family vpnv4
7. neighbor ipaddress activate
8. neighbor ipaddress send-community extended
9. neighbor ipaddress route-reflector-client
10. neighbor ipaddress route-map nexthop out
11. exit
12. address-family ipv4 vrf-name
13. redistribute connected
14. route-map map-tag [permit| deny] [sequence-number]
15. set ip next-hop ipaddress
DETAILED STEPS
Example:
Router# configure terminal
Example:
Router(config)# router bgp 1
Step 4 neighbor ipaddress remote-as as - number Adds an entry to the BGP or multiprotocol BGP neighbor
table.
Example:
Router(config-router)# neighbor [Link]
remote-as 1
Step 5 neighbor ipaddress update-source interface Configures the Cisco IOS XE software to allow BGP
sessions to use any operational interface for TCP
Example: connections.
Step 7 neighbor ipaddress activate Enables the exchange of information with a BGP
neighbor.
Example:
Router(config-router-af)# neighbor [Link]
activate
Step 8 neighbor ipaddress send-community extended Specifies that extended community attributes should be
sent to a BGP neighbor.
Example:
Router(config-router-af)# neighbor [Link]
send-community extended
Step 9 neighbor ipaddress route-reflector-client Configures the router as a BGP Route Reflector and
configures the specified neighbor as its client.
Example:
Router(config-router-af)# neighbor [Link]
route-reflector-client
Step 10 neighbor ipaddress route-map nexthop out Forces all traffic to be routed via the hub.
Example:
Router(config-router-af)# neighbor [Link]
route-map nexthop out
Example:
Router(config-router-af)# exit
Step 12 address-family ipv4 vrf-name Enters address family configuration mode to configure
a routing session using standard IPv4 address prefixes.
Example:
Router(config)# address-family ipv4 red
Step 14 route-map map-tag [permit| deny] [sequence-number] Enters route map configuration mode to configure the
next-hop that will be advertised to the spokes.
Example:
Router(config-router-af)# route-map cisco permit
10
Step 15 set ip next-hop ipaddress Sets the next hop to be the hub.
Example:
Router(config-route-map)# set ip next-hop [Link]
SUMMARY STEPS
1. enable
2. configure terminal
3. router bgp autonomous-system-number
4. neighbor ipaddress remote-as as - number
5. neighbor ipaddress update-source interface
6. address-family vpnv4
7. neighbor ipaddress activate
8. neighbor ipaddress send-community extended
9. exit
10. address-family ipv4 vrf-name
11. redistribute connected
12. exit
DETAILED STEPS
Example:
Router# configure terminal
Example:
Router(config)# router bgp 1
Step 4 neighbor ipaddress remote-as as - number Adds an entry to the BGP or multiprotocol BGP neighbor
table.
Example:
Router(config-router)# neighbor [Link]
remote-as 1
Step 5 neighbor ipaddress update-source interface Configures the Cisco IOS XE software to allow BGP
sessions to use any operational interface for TCP
Example: connections.
Step 7 neighbor ipaddress activate Enables the exchange of information with a BGP neighbor.
Example:
Router(config-router-af)# neighbor [Link]
activate
Step 8 neighbor ipaddress send-community extended Specifies that extended community attributes should be
sent to a BGP neighbor.
Example:
Router(config-router-af)# neighbor [Link]
send-community extended
Example:
Router(config-router-af)# exit
Step 10 address-family ipv4 vrf-name Enters address family configuration mode to configure a
routing session using standard IPv4 address prefixes.
Example:
Router(config)# address-family ipv4 red
Note Security threats, as well as the cryptographic technologies to help protect against them, are constantly
changing. For more information about the latest Cisco cryptographic recommendations, see the Next
Generation Encryption (NGE) white paper.
SUMMARY STEPS
DETAILED STEPS
Example:
Router# clear dmvpn session interface tunnel 5
The following example clears all DMVPN sessions, both static and dynamic, for the specified tunnel:
Example:
Router# clear dmvpn session interface tunnel 5 static
Example:
Router#
clear dmvpn statistics interface tunnel 5
This command is used to debug DMVPN sessions. You can enable or disable DMVPN debugging based on a specific
condition. There are three levels of DMVPN debugging, listed in the order of details from lowest to highest:
• Error level
• Detail level
• Packet level
The following example shows how to enable conditional DMVPN debugging that displays all error debugs for NHRP,
sockets, tunnel protection, and crypto information:
Example:
Router# debug dmvpn error all
Example:
Router# debug dmvpn condition interface tunnel 5
Example:
Router#
debug nhrp condition
Example:
Router#
debug nhrp error
Example:
Router(config)#
logging dmvpn rate-limit 20
The following example shows a sample system log with DMVPN messages:
Example:
%DMVPN-7-CRYPTO_SS: Tunnel101-[Link] socket is UP
%DMVPN-5-NHRP_NHS: Tunnel101 [Link] is UP
%DMVPN-5-NHRP_CACHE: Client [Link] on Tunnel1 Registered.
%DMVPN-5-NHRP_CACHE: Client [Link] on Tunnel101 came UP.
%DMVPN-3-NHRP_ERROR: Registration Request failed for [Link] on Tunnel101
Example:
Router#
show crypto ipsec sa active
interface: gigabitethernet0/0/0
Crypto map tag: to-peer-outside, local addr [Link]
protected vrf: (none
local ident (addr/mask/prot/port): ([Link]/[Link]/0/0)
remote ident (addr/mask/prot/port): ([Link]/[Link]/0/0)
current_peer [Link] port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 3, #pkts encrypt: 3, #pkts digest: 3
#pkts decaps: 4, #pkts decrypt: 4, #pkts verify: 4
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 0, #recv errors 0
local crypto endpt.: [Link], remote crypto endpt.: [Link]
path mtu 1500, media mtu 1500
current outbound spi: 0xD42904F0(3559458032)
inbound esp sas:
spi: 0xD3E9ABD0(3555306448)
transform: esp-3des ,
in use settings ={Tunnel, }
conn id: 2006, flow_id: 6, crypto map: to-peer-outside
sa timing: remaining key lifetime (k/sec): (4586265/3542)
HA last key lifetime sent(k): (4586267)
ike_cookies: 9263635C CA4B4E99 C14E908E 8EE2D79C
IV size: 8 bytes
replay detection support: Y
Status: ACTIVE
Example:
Router# show crypto isakmp sa
dst src state conn-id slot
[Link] [Link] QM_IDLE 2 0
[Link] [Link] QM_IDLE 1 0
[Link] [Link] QM_IDLE 3 0
Example:
Router# show crypto map
Crypto Map "Tunnel5-head-0" 10 ipsec-isakmp
Profile name: vpnprof
Security association lifetime: 4608000 kilobytes/3600 seconds
PFS (Y/N): N
Transform sets={trans2, }
Crypto Map "Tunnel5-head-0" 20 ipsec-isakmp
Map is a PROFILE INSTANCE.
Peer = [Link]
Extended IP access list
access-list permit gre host [Link] host [Link]
Current peer: [Link]
Security association lifetime: 4608000 kilobytes/3600 seconds
PFS (Y/N): N
Transform sets={trans2, }
Crypto Map "Tunnel5-head-0" 30 ipsec-isakmp
Map is a PROFILE INSTANCE.
Peer = [Link]
Extended IP access list
access-list permit gre host [Link] host [Link]
Current peer: [Link]
Security association lifetime: 4608000 kilobytes/3600 seconds
PFS (Y/N): N
Transform sets={trans2, }
Crypto Map "Tunnel5-head-0" 40 ipsec-isakmp
Map is a PROFILE INSTANCE.
Peer = [Link]
Extended IP access list
access-list permit gre host [Link] host [Link]
Current peer: [Link]
Security association lifetime: 4608000 kilobytes/3600 seconds
PFS (Y/N): N
Transform sets={trans2, }
Interfaces using crypto map Tunnel5-head-0:
Tunnel5
Example:
Router# show dmvpn
Legend: Attrb --> S - Static, D - Dynamic, I - Incomplete
N - NATed, L - Local, X - No Socket
# Ent --> Number of NHRP entries with same NBMA peer
! The line below indicates that the sessions are being displayed for Tunnel1.
! Tunnel1 is acting as a spoke and is a peer with three other NBMA peers.
Tunnel1, Type: Spoke, NBMA Peers: 3,
# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb
----- --------------- --------------- ----- -------- -----
2 [Link] [Link] IKE 3w0d D
1 [Link] [Link] NHRP 02:40:51 S
1 [Link] [Link] UP 3w0d S
Tunnel2, Type: Spoke, NBMA Peers: 1,
# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb
----- --------------- --------------- ----- -------- -----
1 [Link] [Link] IKE never S
Example:
Router# s
how ip nhrp traffic interface tunnel7
Tunnel7: Max-send limit:10000Pkts/10Sec, Usage:0%
Sent: Total 79
18 Resolution Request 10 Resolution Reply 42 Registration Request
0 Registration Reply 3 Purge Request 6 Purge Reply
0 Error Indication 0 Traffic Indication
Rcvd: Total 69
10 Resolution Request 15 Resolution Reply 0 Registration Request
36 Registration Reply 6 Purge Request 2 Purge Reply
0 Error Indication 0 Traffic Indication
What to Do Next
Proceed to the following sections “Configuring the Hub for DMVPN” and “Configuring the Spoke for DMVPN.”
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 Gigabitethernet 0/0/0
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 FastEthernet0/0/0
ip address [Link] [Link]
!
interface FastEthernet0/0/1
ip address [Link] [Link]
!
router eigrp 1
network [Link] [Link]
network [Link] [Link]
!
For information about defining and configuring ISAKMP profiles, see the “ Certificate to ISAKMP Profile
Mapping ” module in the Cisco IOS XE Security Configuration Guide: Secure Connectivity .
interface FastEthernet0/0/1
ip address [Link] [Link]
!
! EIGRP is configured to run over the inside physical interface and the tunnel.
router eigrp 1
network [Link] [Link]
network [Link] [Link]
Hub Configuration
hostname 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
authentication pre-share
crypto isakmp key cisco address [Link] [Link]
crypto ipsec transform-set t1 esp-des
mode transport
crypto ipsec profile prof
set transform-set t1
interface Tunnel1
ip address [Link] [Link]
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 Gigabitethernet 0/0/0
tunnel mode gre multipoint
tunnel protection ipsec profile prof
interface Loopback0
ip address [Link] [Link]
interface Ethernet0/0/0
ip address [Link] [Link]
!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 [Link] remote-as 1
neighbor [Link] update-source Tunnel1
neighbor [Link] remote-as 1
neighbor [Link] update-source Tunnel1
no auto-summary
address-family vpnv4
neighbor [Link] activate
neighbor [Link] send-community extended
neighbor [Link] route-reflector-client
neighbor [Link] route-map nexthop out
neighbor [Link] activate
neighbor [Link] send-community extended
neighbor [Link] route-reflector-client
neighbor [Link] route-map nexthop out
exit
address-family ipv4 vrf red
redistribute connected
no synchronization
exit
address-family ipv4 vrf blue
redistribute connected
no synchronization
exit
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 cisco permit 10
set ip next-hop [Link]
control-plane
line con 0
logging synchronous
line aux 0
line vty 0 4
no login
end
Spoke Configurations
Spoke 2
hostname 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
authentication pre-share
crypto isakmp key cisco address [Link] [Link]
crypto ipsec transform-set t1 esp-des
mode transport
crypto ipsec profile prof
set transform-set t1
interface Tunnel1
ip address [Link] [Link]
no ip redirects
ip nhrp authentication cisco
ip nhrp map multicast dynamic
ip nhrp map [Link] [Link]
ip nhrp map multicast [Link]
ip nhrp network-id 1
Spoke 3
hostname 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
Hub Configuration
hostname 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
authentication pre-share
crypto isakmp key cisco address [Link] [Link]
crypto ipsec transform-set t1 esp-des
mode transport
crypto ipsec profile prof
set transform-set t1
interface Tunnel1
ip address [Link] [Link]
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 Gigabitethernet 0/0/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 [Link] [Link]
interface FastEthernet0/0/0
ip address [Link] [Link]
!EIGRP is configured to learn the BGP peer addresses (10.9.9.x networks)
router eigrp 1
network [Link] [Link]
network [Link] [Link]
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 [Link]
bgp log-neighbor-changes
neighbor [Link] remote-as 1
neighbor [Link] update-source Loopback0
neighbor [Link] remote-as 1
neighbor [Link] update-source Loopback0
no auto-summary
address-family vpnv4
neighbor [Link] activate
neighbor [Link] send-community extended
neighbor [Link] route-reflector-client
neighbor [Link] activate
neighbor [Link] send-community extended
neighbor [Link] route-reflector-client
exit
address-family ipv4 vrf red
redistribute connected
no synchronization
exit
address-family ipv4 vrf blue
redistribute connected
no synchronization
exit
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 Configurations
Spoke 2
hostname 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
authentication pre-share
crypto isakmp key cisco address [Link] [Link]
crypto ipsec transform-set t1 esp-des
mode transport
crypto ipsec profile prof
set transform-set t1
interface Tunnel1
ip address [Link] [Link]
no ip redirects
ip nhrp authentication cisco
ip nhrp map multicast dynamic
ip nhrp map [Link] [Link]
ip nhrp map multicast [Link]
ip nhrp network-id 1
ip nhrp nhs [Link]
!The command below enables MPLS on the DMVPN network:
mpls ip
tunnel source Gigabitethernet 0/0/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 [Link] [Link]
interface FastEthernet0/0/0
ip address [Link] [Link]
interface FastEthernet1/0/0
ip vrf forwarding red
ip address [Link] [Link]
interface FastEthernet2/0/0
Spoke 3
hostname 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
authentication pre-share
crypto isakmp key cisco address [Link] [Link]
crypto ipsec transform-set t1 esp-des
mode transport
crypto ipsec profile prof
set transform-set t1
interface Tunnel1
ip address [Link] [Link]
no ip redirects
ip nhrp authentication cisco
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: [Link], Local port: 179
Foreign host: [Link], 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#
IKE configuration tasks such as defining an IKE Configuring Internet Key Exchange for IPSec VPNs
policy
RFCs
RFCs Title
RFC 2547 BGP/MPLS VPNs
DMVPN--Enabling Traffic Cisco IOS XE Release 2.5 The 2547oDMVPN feature allows
Segmentation Within DMVPN users to segment VPN traffic
within a DMVPN tunnel by
applying MPLS labels to VRF
instances to indicate the source and
destination of each VRF.
Glossary
AM --aggressive mode. A mode during IKE negotiation. Compared to MM, AM eliminates several steps,
making it faster but less secure than MM. Cisco IOS XE 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 an 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, FastEthernet, SMDS, and multipoint tunnel networks. Although NHRP is available
on FastEthernet, NHRP need not be implemented over FastEthernet media because FastEthernet is capable
of broadcasting. FastEthernet 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 data flow to provide data authentication, data confidentiality, and
data compression. For example, one transform is the ESP protocol with the HMAC-MD5 authentication
algorithm; another transform is the AH protocol with the 56-bit DES encryption algorithm and the ESP 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.
Note Security threats, as well as the cryptographic technologies to help protect against them, are constantly
changing. For more information about the latest Cisco cryptographic recommendations, see the Next
Generation Encryption (NGE) white paper.
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.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support.
To access Cisco Feature Navigator, go to [Link]/go/cfn. An account on [Link] is not required.
In DMVPN for IPv6, the public network (the Internet) is a pure IPv4 network, and the private network (the
intranet) is IPv6 capable. The intranets could be a mix of IPv4 or IPv6 clouds connected to each other using
DMVPN technologies, with the underlying carrier being a traditional IPv4 network.
NHRP Routing
The NHRP protocol resolves a given intranet address (IPv4 or IPv6) to an Internet address (IPv4 nonbroadcast
multiaccess [NBMA] address).
In the figure below, the intranets that are connected over the DMVPN network are IPv6 clouds, and the Internet
is a pure IPv4 cloud. Spokes S1 and S2 are connected to Hub H over the Internet using a statically configured
tunnel. The address of the tunnel itself is the IPv6 domain, because it is another node on the intranet. The
source and destinations address of the tunnel (the mGRE endpoints), however, are always in IPv4, in the
Internet domain. The mGRE tunnel is aware of the IPv6 network because the GRE passenger protocol is an
IPv6 packet, and the GRE transport (or carrier) protocol is an IPv4 packet.
When an IPv6 host in LAN L1 sends a packet destined to an IPv6 host in LAN L2, the packet is first routed
to the gateway (which is Spoke S1) in LAN L1. Spoke S1 is a dual-stack device, which means both IPv4 and
IPv6 are configured on it. The IPv6 routing table in S1 points to a next hop, which is the IPv6 address of the
tunnel on Spoke S2. This is a VPN address that must be mapped to an NBMA address, triggering NHRP.
IPv6 Routing
NHRP is automatically invoked for mGRE tunnels carrying the IPv6 passenger protocol. When a packet is
routed and sent to the switching path, NHRP looks up the given next hop and, if required, initiates an NHRP
resolution query. If the resolution is successful, NHRP populates the tunnel endpoint database, which in turn
populates the Cisco Express Forwarding adjacency table. The subsequent packets are Cisco Express Forwarding
switched if Cisco Express Forwarding is enabled.
Note Security threats, as well as the cryptographic technologies to help protect against them, are constantly
changing. For more information about the latest Cisco cryptographic recommendations, see the Next
Generation Encryption (NGE) white paper.
The IPsec profile shares most 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.
SUMMARY STEPS
1. enable
2. configure terminal
3. crypto identity name
4. exit
5. crypto ipsec profile name
6. set transform-set transform-set-name
7. set identity
8. set security-association lifetime seconds seconds | kilobytes kilobytes
9. set pfs [group1 | group14 | group15 | group16 | group19 | group2 | group20 | group24 | group5]
10. end
DETAILED STEPS
Example:
Device# configure terminal
Step 3 crypto identity name Configures the identity of the device with a given list of
distinguished names (DNs) in the certificate of the device.
Example:
Device(config)# crypto identity device1
Step 4 exit Exits crypto identity configuration mode and enters global
configuration mode.
Example:
Device(config-crypto-identity)# exit
Step 5 crypto ipsec profile name Defines the IPsec parameters that are to be used for IPsec encryption
between "spoke and hub" and "spoke and spoke" routers.
Example: This command places the device in crypto map configuration mode.
Device(config)# crypto ipsec profile
example1
Example:
Device(config-crypto-map)# set
transform-set example-set
Step 7 set identity (Optional) Specifies identity restrictions to be used with the IPsec
profile.
Example:
Device(config-crypto-map)# set identity
router1
Step 8 set security-association lifetime seconds (Optional) Overrides the global lifetime value for the IPsec profile.
seconds | kilobytes kilobytes
Example:
Device(config-crypto-map)# set
security-association lifetime seconds 1800
Step 9 set pfs [group1 | group14 | group15 | group16 (Optional) Specifies that IPsec should ask for perfect forward
| group19 | group2 | group20 | group24 | group5] secrecy (PFS) when requesting new security associations for this
IPsec profile. If this command is not specified, the default
Example: Diffie-Hellman (DH) group, group1 will be enabled.
Step 10 end Exits crypto map configuration mode and returns to privileged
EXEC mode.
Example:
Device(config-crypto-map)# end
SUMMARY STEPS
1. enable
2. configure terminal
3. interface tunnel number
4. ipv6 address {ipv6-address / prefix-length | prefix-name sub-bits / prefix-length
5. ipv6 address ipv6-address / prefix-length link-local
6. ipv6 mtu bytes
7. ipv6 nhrp authentication string
8. ipv6 nhrp map multicast dynamic
9. ipv6 nhrp network-id network-id
10. tunnel source ip-address | ipv6-address | interface-type interface-number
11. tunnel mode {aurp | cayman | dvmrp | eon | gre| gre multipoint[ipv6] | gre ipv6 | ipip decapsulate-any]
| ipsec ipv4 | iptalk | ipv6| ipsec ipv6 | mpls | nos | rbscp
12. Do one of the following:
• tunnel protection ipsec profile name [shared]
• tunnel protection psk key
DETAILED STEPS
Example:
Device# configure terminal
Step 4 ipv6 address {ipv6-address / prefix-length | Configures an IPv6 address based on an IPv6 general prefix and
prefix-name sub-bits / prefix-length enables IPv6 processing on an interface.
Example:
Device(config-if)# ipv6 address
2001:DB8:1:1::72/64
Step 5 ipv6 address ipv6-address / prefix-length Configures an IPv6 link-local address for an interface and
link-local enables IPv6 processing on the interface.
• A unique IPv6 link-local address (across all DMVPN nodes
Example: in a DMVPN network) must be configured.
Device(config-if)# ipv6 address fe80::2001
link-local
Step 6 ipv6 mtu bytes Sets the maximum transmission unit (MTU) size of IPv6 packets
sent on an interface.
Example:
Device(config-if)# ipv6 mtu 1400
Step 7 ipv6 nhrp authentication string Configures the authentication string for an interface using the
NHRP.
Example: Note The NHRP authentication string must be set to the same
Device(config-if)# ipv6 nhrp authentication value on all hubs and spokes that are in the same
examplexx DMVPN network.
Step 8 ipv6 nhrp map multicast dynamic Allows NHRP to automatically add routers to the multicast
NHRP mappings.
Example: Note Effective with Cisco IOS XE Denali 16.3 ipv6 nhrp
Device(config-if)# ipv6 nhrp map multicast map multicast dynamic is enabled by default.
dynamic
Step 10 tunnel source ip-address | ipv6-address | Sets the source address for a tunnel interface.
interface-type interface-number
Example:
Device(config-if)# tunnel source ethernet 0
Step 11 tunnel mode {aurp | cayman | dvmrp | eon | gre| Sets the encapsulation mode to mGRE for the tunnel interface.
gre multipoint[ipv6] | gre ipv6 | ipip
decapsulate-any] | ipsec ipv4 | iptalk | ipv6| ipsec
ipv6 | mpls | nos | rbscp
Example:
Device(config-if)# tunnel mode gre multipoint
Step 12 Do one of the following: Associates a tunnel interface with an IPsec profile.
• tunnel protection ipsec profile name • The name argument specifies the name of the IPsec profile;
[shared] this value must match the name specified in the crypto
ipsec profile namecommand.
• tunnel protection psk key
or
Example:
Router(config-if)#
tunnel protection psk test1
Step 13 bandwidth {kbps | inherit [kbps] | receive [kbps]} Sets the current bandwidth value for an interface to higher-level
protocols.
Example: • The bandwidth-size argument specifies the bandwidth in
Device(config-if)# bandwidth 1200 kilobits per second. The default value is 9. The
recommended bandwidth value is 1000 or greater.
Step 14 ipv6 nhrp holdtime seconds Changes the number of seconds that NHRP NBMA addresses
are advertised as valid in authoritative NHRP responses.
Example:
Device(config-if)# ipv6 nhrp holdtime 3600
1. enable
2. configure terminal
3. interface tunnel number
4. ipv6 address {ipv6-address / prefix-length | prefix-name sub-bits / prefix-length
5. Do one of the following:
• ipv6 nhrp redirect [ timeout seconds ]
• ipv6 nhrp redirect [interest acl]
DETAILED STEPS
Example:
Device# configure terminal
Step 3 interface tunnel number Configures a tunnel interface and enters interface configuration
mode.
Example: • The number argument specifies the number of the tunnel
Device(config)# interface tunnel 5 interfaces that you want to create or configure. There is no
limit on the number of tunnel interfaces you can create.
Step 4 ipv6 address {ipv6-address / prefix-length | Configures an IPv6 address based on an IPv6 general prefix and
prefix-name sub-bits / prefix-length enables IPv6 processing on an interface.
Example:
Device(config-if)# ipv6 address
2001:DB8:1:1::72/64
• ipv6 nhrp redirect [interest acl] Enables the user to specify an ACL.
Note You must configure the ipv6 nhrp redirect command
on a hub.
Example:
Device(config-if)# ipv6 nhrp redirect
Example:
Device(config-if)# ipv6 nhrp redirect
interest
SUMMARY STEPS
1. enable
2. configure terminal
3. interface tunnel number
4. ipv6 address {ipv6-address / prefix-length | prefix-name sub-bits / prefix-length
5. ipv6 address ipv6-address / prefix-length link-local
6. ipv6 mtu bytes
7. ipv6 nhrp authentication string
8. ipv6 nhrp map ipv6-address nbma-address
9. ipv6 nhrp map multicast ipv4-nbma-address
10. ipv6 nhrp nhs ipv6- nhs-address
11. ipv6 nhrp network-id network-id
12. tunnel source ip-address | ipv6-address | interface-type interface-number
13. Do one of the following:
• tunnel mode {aurp | cayman | dvmrp | eon | gre| gre multipoint [ipv6] | gre ipv6 | ipip
decapsulate-any] | ipsec ipv4 | iptalk | ipv6| ipsec ipv6 | mpls | nos | rbscp
• tunnel destination {host-name | ip-address | ipv6-address}
DETAILED STEPS
Example:
Device# configure terminal
Step 4 ipv6 address {ipv6-address / prefix-length | Configures an IPv6 address based on an IPv6 general prefix and
prefix-name sub-bits / prefix-length enables IPv6 processing on an interface.
Example:
Device(config-if) ipv6 address
2001:DB8:1:1::72/64
Step 5 ipv6 address ipv6-address / prefix-length Configures an IPv6 link-local address for an interface and
link-local enables IPv6 processing on the interface.
• A unique IPv6 link-local address (across all DMVPN nodes
Example: in a DMVPN network) must be configured.
Device(config-if)# ipv6 address fe80::2001
link-local
Step 6 ipv6 mtu bytes Sets the MTU size of IPv6 packets sent on an interface.
Example:
Device(config-if)# ipv6 mtu 1400
Step 7 ipv6 nhrp authentication string Configures the authentication string for an interface using the
NHRP.
Example: Note The NHRP authentication string must be set to the same
Device(config-if)# ipv6 nhrp authentication value on all hubs and spokes that are in the same
examplexx DMVPN network.
Step 8 ipv6 nhrp map ipv6-address nbma-address Statically configures the IPv6-to-NBMA address mapping of
IPv6 destinations connected to an NBMA network.
Example: Note Only IPv4 NBMA addresses are supported, not ATM
Device(config-if)# ipv6 nhrp map or Ethernet addresses.
2001:DB8:3333:4::5 [Link]
Step 9 ipv6 nhrp map multicast ipv4-nbma-address Maps destination IPv6 addresses to IPv4 NBMA addresses.
Example:
Device(config-if)# ipv6 nhrp map multicast
[Link]
Example:
Device(config-if)# ipv6 nhrp nhs
2001:0DB8:3333:4::5 2001:0DB8::/64
Step 12 tunnel source ip-address | ipv6-address | Sets the source address for a tunnel interface.
interface-type interface-number
Example:
Device(config-if)# tunnel source ethernet 0
Step 13 Do one of the following: Sets the encapsulation mode to mGRE for the tunnel interface.
• tunnel mode {aurp | cayman | dvmrp | eon | • Use the tunnel mode command if data traffic can use
gre| gre multipoint [ipv6] | gre ipv6 | ipip dynamic spoke-to-spoke traffic.
decapsulate-any] | ipsec ipv4 | iptalk | ipv6|
ipsec ipv6 | mpls | nos | rbscp or
• tunnel destination {host-name | ip-address | Specifies the destination for a tunnel interface.
ipv6-address}
• Use the tunnel destination command if data traffic can
use hub-and-spoke tunnels.
Example:
Device(config-if)# tunnel mode gre multipoint
Example:
Device(config-if)# tunnel destination [Link]
Step 14 Do one of the following: Associates a tunnel interface with an IPsec profile.
• tunnel protection ipsec profile name [shared] • The name argument specifies the name of the IPsec profile;
this value must match the name specified in the crypto
• tunnel protection psk key
ipsec profile namecommand.
or
Example:
Simplifies the tunnel protection configuration for pre-shared
Router(config-if)# tunnel protection ipsec key (PSK) by creating a default IPsec profile.
profile vpnprof
Example:
Router(config-if)#
tunnel protection psk test1
Step 15 bandwidth {interzone | total | session} {default | Sets the current bandwidth value for an interface to higher-level
zone zone-name} bandwidth-size protocols.
• The bandwidth-size argument specifies the bandwidth in
Example: kilobits per second. The default value is 9. The
Device(config-if)# bandwidth total 1200 recommended bandwidth value is 1000 or greater.
• The bandwidth setting for the spoke need not equal the
bandwidth setting for the DMVPN hub. It is usually easier
if all of the spokes use the same or similar value.
Step 16 ipv6 nhrp holdtime seconds Changes the number of seconds that NHRP NBMA addresses
are advertised as valid in authoritative NHRP responses.
Example:
Device(config-if)# ipv6 nhrp holdtime 3600
1. enable
2. show dmvpn [ipv4 [vrf vrf-name] | ipv6 [vrf vrf-name]] [debug-condition | [interface tunnel number
| peer {nbma ip-address | network network-mask | tunnel ip-address}] [static] [detail]]
3. show ipv6 nhrp [dynamic [ipv6-address] | incomplete | static] [address | interface ] [brief | detail]
[purge]
4. show ipv6 nhrp multicast [ipv4-address | interface | ipv6-address]
5. show ip nhrp multicast [nbma-address | interface]
6. show ipv6 nhrp summary
7. show ipv6 nhrp traffic [ interfacetunnel number
8. show ip nhrp shortcut
9. show ip route
10. show ipv6 route
11. show nhrp debug-condition
DETAILED STEPS
Step 2 show dmvpn [ipv4 [vrf vrf-name] | ipv6 [vrf vrf-name]] Displays DMVPN-specific session information.
[debug-condition | [interface tunnel number | peer {nbma
ip-address | network network-mask | tunnel ip-address}] [static]
[detail]]
Example:
Device# show dmvpn 2001:0db8:1:1::72/64
Step 3 show ipv6 nhrp [dynamic [ipv6-address] | incomplete | static] Displays NHRP mapping information.
[address | interface ] [brief | detail] [purge]
Example:
Device# show ipv6 nhrp
Step 4 show ipv6 nhrp multicast [ipv4-address | interface | Displays NHRP multicast mapping information.
ipv6-address]
Example:
Device# show ipv6 nhrp multicast
Step 5 show ip nhrp multicast [nbma-address | interface] Displays NHRP multicast mapping information.
Example:
Step 6 show ipv6 nhrp summary Displays NHRP mapping summary information.
Example:
Device# show ipv6 nhrp summary
Step 7 show ipv6 nhrp traffic [ interfacetunnel number Displays NHRP traffic statistics information.
Example:
Device# show ipv6 nhrp traffic
Example:
Device# show ip nhrp shortcut
Step 9 show ip route Displays the current state of the IPv4 routing
table.
Example:
Device# show ip route
Step 10 show ipv6 route Displays the current contents of the IPv6 routing
table.
Example:
Device# show ipv6 route
1. enable
2. clear dmvpn session [interface tunnel number | peer {ipv4-address | fqdn-string | ipv6-address} | vrf
vrf-name] [static]
3. clear ipv6 nhrp [ipv6-address | counters
4. debug dmvpn {all | error | detail | packet} {all | debug-type}
5. debug nhrp [cache | extension | packet | rate]
6. debug nhrp condition [interface tunnel number | peer {nbma {ipv4-address | fqdn-string | ipv6-address}
| tunnel {ip-address | ipv6-address}} | vrf vrf-name]
7. debug nhrp error
DETAILED STEPS
Step 2 clear dmvpn session [interface tunnel number | peer Clears DMVPN sessions.
{ipv4-address | fqdn-string | ipv6-address} | vrf vrf-name] [static]
Example:
Device# clear dmvpn session
Step 3 clear ipv6 nhrp [ipv6-address | counters Clears all dynamic entries from the NHRP
cache.
Example:
Device# clear ipv6 nhrp
Step 4 debug dmvpn {all | error | detail | packet} {all | debug-type} Displays debug DMVPN session information.
Example:
Device# debug dmvpn
Step 5 debug nhrp [cache | extension | packet | rate] Enables NHRP debugging.
Example:
Device# debug nhrp ipv6
Example:
Device# debug nhrp condition
Examples
Interface: Tunnel1
IKE SA: local [Link]/500 remote [Link]/500 Active
Crypto Session Status: UP-ACTIVE
fvrf: (none), Phase1_id: [Link]
IPSEC FLOW: permit 47 host [Link] host [Link]
Active SAs: 2, origin: crypto map
Outbound SPI : 0x BB0ED02, transform : esp-aes esp-sha-hmac
Socket State: Open
Interface: Tunnel1
IKE SA: local [Link]/500 remote [Link]/500 Active
Crypto Session Status: UP-ACTIVE
fvrf: (none), Phase1_id: [Link]
IPSEC FLOW: permit 47 host [Link] host [Link]
Interface: Tunnel1
IKE SA: local [Link]/500 remote [Link]/500 Active
Crypto Session Status: UP-ACTIVE
fvrf: (none), Phase1_id: [Link]
IPSEC FLOW: permit 47 host [Link] host [Link]
Active SAs: 2, origin: crypto map
Outbound SPI : 0x6F75C431, transform : esp-aes esp-sha-hmac
Socket State: Open
Example: Configuring the NHRP Redirect and Shortcut Features on the Hub
Device(config)# interface tunnel 5
Device(config-if)# ipv6 address 2001:DB8:1:1::72/64
2001::8/128
Tunnel1 created 00:00:13, expire 00:02:51
Type: incomplete, Flags: negative
Cache hits: 2
2001::/112 via 2001::6
Additional References
Related Documents
Standard/RFC Title
RFCs for IPv6 IPv6 RFcs
Technical Assistance
Description Link
The Cisco Support and Documentation website [Link]
provides online resources to download documentation,
software, and tools. Use these resources to install and
configure the software and to troubleshoot and resolve
technical issues with Cisco products and technologies.
Access to most tools on the Cisco Support and
Documentation website requires a [Link] user ID
and password.
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.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support.
To access Cisco Feature Navigator, go to [Link]/go/cfn. An account on [Link] is not required.
DNS Functionality
A Domain Name System (DNS) client communicates with a DNS server to translate a hostname to an IP
address.
The intermediate DNS server or the DNS client on the route enters the FQDN DNS reply from the DNS server
into the cache for a lifetime. If the DNS client receives another query before the lifetime expires, the DNS
client uses the entry information from the cache. If the cache expires, the DNS client queries the DNS server.
If the NBMA address of the NHS changes frequently, the DNS entry lifetime must be short, otherwise the
spokes may take some time before they start using the new NBMA address for the NHS.
SUMMARY STEPS
1. enable
2. configure terminal
3. ip name-server ip-address
4. exit
DETAILED STEPS
Example:
Router# configure terminal
Example:
Router(config)# ip name-server [Link]
Example:
Router(config)# exit
SUMMARY STEPS
1. enable
2. configure terminal
3. ip dns server
4. ip host hostname ip-address
5. exit
DETAILED STEPS
Example:
Router# configure terminal
Example:
Router(config)# ip dns server
Step 4 ip host hostname ip-address Maps a FQDN (hostname) with the IP address in the DNS hostname
cache for a DNS view.
Example: Note Configure the ip host command on a DNS server if you
Router(config)# ip host [Link] have configured a DNS server on the spoke and configure
[Link] the command on the spoke if you have not configured a
DNS server on the spoke. See the Configuring a DNS
Server on a Spoke task.
Step 5 exit Exits global configuration mode.
Example:
Router(config)# exit
SUMMARY STEPS
1. enable
2. configure terminal
3. interface tunnel number
4. ip nhrp nhs nhs-address [nbma {nbma-address | FQDN-string}] [multicast] [priority value] [cluster
number]
5. end
DETAILED STEPS
Example:
Router# configure terminal
Example:
Router(config)# interface tunnel 1
Note You can use the ipv6 nhrp nhs protocol-ipaddress [nbma
{nhs-ipaddress | FQDN-string}] [multicast] [priority value]
[cluster number] command for registering IPv6 address.
SUMMARY STEPS
1. enable
2. configure terminal
3. interface tunnel number
4. ip nhrp nhs dynamic nbma {nbma-address | FQDN-string} [multicast] [priority value] [cluster
value]
5. end
DETAILED STEPS
Example:
Router# configure terminal
Example:
Router(config)# interface tunnel 1
Note You can use the ipv6 nhrp nhs dynamic nbma
{nbma-address | FQDN-string} [multicast] [priority value]
[cluster value] command for registering IPv6 address.
Step 5 end Exits interface configuration mode and returns to privileged EXEC
mode.
Example:
Router(config-if)# end
SUMMARY STEPS
1. enable
2. show dmvpn
3. show ip nhrp nhs
4. show running-config interface tunnel tunnel-number
5. show ip nhrp multicast
DETAILED STEPS
Step 1 enable
Enables privileged EXEC mode. Enter your password if prompted.
Example:
Router# enable
Example:
Router# show dmvpn
Legend: Attrb --> S - Static, D - Dynamic, I - Incomplete
N - NATed, L - Local, X - No Socket
# Ent --> Number of NHRP entries with same NBMA peer
NHS Status: E --> Expecting Replies, R --> Responding, W --> Waiting
UpDn Time --> Up or Down Time for a Tunnel
==========================================================================
Interface: Tunnel1, IPv4 NHRP Details
Type:Spoke, NHRP Peers:1,
# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb
----- --------------- --------------- ----- -------- -----
1 [Link] [Link] UP 00:00:12 S
([Link])
Example:
Router# show ip nhrp nhs
IPv4 Registration Timer: 10 seconds
Legend: E=Expecting replies, R=Responding, W=Waiting
Tunnel1:
[Link] RE NBMA Address: [Link] ([Link]) priority = 0 cluster = 0
Example:
Router# show running-config interface tunnel 1
Building configuration...
Current configuration : 462 bytes
!
interface Tunnel1
ip address [Link] [Link]
no ip redirects
ip mtu 1440
ip nhrp authentication testing
ip nhrp group spoke_group2
ip nhrp network-id 123
ip nhrp holdtime 150
ip nhrp nhs dynamic nbma [Link] multicast
ip nhrp registration unique
ip nhrp registration timeout 10
ip nhrp shortcut
no ip route-cache cef
tunnel source Ethernet0/0
tunnel mode gre multipoint
tunnel key 1001
tunnel protection ipsec profile DMVPN
end
Example:
Route# show ip nhrp multicast
enable
configure terminal
ip host [Link] [Link]
On a spoke
enable
configure terminal
ip name-server [Link]
On a DNS Server
enable
configure terminal
ip dns server
ip host [Link] [Link]
enable
configure terminal
interface tunnel 1
ip nhrp nhs [Link] nbma [Link]
enable
configure terminal
interface tunnel 1
ip nhrp nhs [Link] nbma [Link]
enable
configure terminal
interface tunnel 1
ip nhrp nhs dynamic nbma [Link]
enable
configure terminal
interface tunnel 1
ip nhrp nhs dynamic nbma [Link]
Additional References
Related Documents
DMVPN complete command syntax, command mode, Cisco IOS Security Command Reference
defaults, usage guidelines, and examples
Standards
Standard Title
No new or modified standards are supported by this --
feature and support for existing standards has not been
modified by this feature.
MIBs
RFCs
RFC Title
RFC 2332 NBMA Next Hop Resolution Protocol (NHRP)
Technical Assistance
Description Link
The Cisco Support and Documentation website [Link]
provides online resources to download documentation,
software, and tools. Use these resources to install and
configure the software and to troubleshoot and resolve
technical issues with Cisco products and technologies.
Access to most tools on the Cisco Support and
Documentation website requires a [Link] user ID
and password.
NHS States
An NHS attains different states while associating with the hubs to from a spoke-to-hub tunnel. The table below
describes different NHS states.
State Description
DOWN NHS is waiting to get scheduled.
NHS Priorities
NHS priority is a numerical value assigned to a hub that controls the order in which spokes select hubs to
establish a spoke-to-hub tunnel. The priority value ranges from 0 to 255, where 0 is the highest and 255 is the
lowest priority.
You can assign hub priorities in the following ways:
• Unique priorities to all NHS.
• Same priority level to a group of NHS.
• Unspecified priority (value 0) for an NHS, a group of NHSs, or all NHSs.
NHS A1 1 UP UP
NHS B1 1 UP PROBE
NHS C1 1 UP UP
NHS A2 2 DOWN UP
Consider a scenario with three data centers A, B, and C. Each data center consists of two NHSs: NHSs A1
and A2 comprise one data center, NHS B1 and B2 another, and C1 and C3 another.
Although two NHSs are available for each data center, the spoke is connected to only one NHS of each data
center at any point in time. Hence, the maximum connection value is set to 3. That is, three spoke-to-hub
tunnels are established. If any one NHS, for example, NHS B1, becomes inactive, the spoke-to-hub tunnel
associated with NHS B1 goes down. Based on the priority model, NHS A2 has the next priority value and
the next available NHS in the queue, so it forms the spoke-to-hub tunnel and goes up. However, this does not
meet the requirement that a hub from data center B be associated with the spoke to form a tunnel. Hence, no
connection is made to data center B.
This problem can be addressed by placing NHSs into different groups. Each group can be configured with a
group specific maximum connection value. NHSs that are not assigned to any groups belong to the default
group.
NHS Clusters
The table below presents an example of cluster functionality. NHSs corresponding to different data centers
are grouped to form clusters. NHS A1 and NHS A2 with priority 1 and 2, respectively, are grouped as cluster1,
NHS B1 and NHS B2 with prirority 1 and 2, respectively, are grouped as cluster2, and NHS C1 and NHS C2
with prirority 1 and 2, respectively, are grouped as cluster3. NHS 7, NHS 8, and NHS 9 are part of the default
cluster. The maximum cluster value is set to 1 for each cluster so that at least one spoke-to-hub tunnel is
continuously established with all the four clusters.
In scenario 1, NHS A1, NHS B1, and NHS C1 with the highest priority in each cluster are in the UP state. In
scenario 2, the connection between the spoke and NHS A1 breaks, and a connection is established between
the spoke and NHS A2 (hub from the same cluster). NHS A1 with the highest priority attains the PROBE
state. In this way, at any point in time a connection is established to all the three data centers.
NHS A2 2 DOWN UP
NHS B1 1 2 1 UP UP
NHS C1 1 3 1 UP UP
NHS 7 1 UP DOWN
Default 2
NHS 8 2 UP UP
NHS 9 0 PROBE UP
In scenario 1, NHS 5 with the lowest priority value is connected to the spoke to form a tunnel. All the other
NHSs having higher priorities than NHS 5 are in the PROBE state.
In scenario 2, when NHS 4 becomes active, the spoke breaks connection with the existing tunnel and establishes
a new connection with NHS 4. In scenario 3 and scenario 4, the spoke breaks the existing connections as soon
as an NHS with a higher priority becomes active and establishes a new tunnel. In scenario 5, as the NHS with
the highest priority (NHS 1) becomes active, the spoke connects to it to form a tunnel and continues with it
until the NHS becomes inactive. Because NHS 1 is having the highest priority, no other NHS is in the PROBE
state.
The table below shows how to avoid the excessive flapping by configuring the fallback time. The maximum
number of connection is one. A fallback time period of 30 seconds is configured on the spoke. In scenario 2,
when an NHS with a higher priority than the NHS associated with the spoke becomes active, the spoke does
not break the existing tunnel connection until the fallback time. Hence, although NHS 4 becomes active, it
does not form a tunnel and attain the UP state. NHS 4 remains active but does not form a tunnel untill the
fallback time elapses. Once the fallback time elapses, the spoke connects to the NHS having the highest priority
among the active NHSs.
This way, the flaps that occur as soon as an NHS of higher priority becomes active are avoided.
Four NHSs belonging to cluster 1 and cluster 3 and two NHSs belonging to the default cluster are available
for setting up spoke-to-hub tunnels. All NHSs have different priorities. The maxmum number of connections
is set to 1 for all the three clusters. That is, at any point in time, at least one NHS from each cluster must be
connected to the spoke to form a tunnel.
In scenario 1, NHS A1 from cluster 1, NHS B1 from cluster 3, and NHS 9 from the default cluster are UP.
They establish a contact with the spoke to form different spoke-to-hub tunnels. In scenario 2, NHS A1 and
NHS B1 with the highest priority in their respective clusters become inactive. Hence a tunnel is established
from the spoke to NHS A2 and NHS B2, which have the next highest priority values. However, the spoke
continues to probe NHS A1 and NHS B1 because they have the highest priority. Hence, NHS A1 and NHS
B1 remain in the PROBE state.
In scenario 3, NHS A2, NHS B2, and NHS 9 become inactive. The spoke checks if the NHSs in PROBE state
have turned active. If yes, then the spoke establishes a connection to the NHS that has turned active. However,
as shown in scenario 3, because none of the NHSs in the PROBE state is active, the spoke connects to NHS
A3 of cluster 1 and NHS B3 of cluster 2. NHS A1 and NHS B1 continue to be in the PROBE state until they
associate themselves with the spoke to form a tunnel and attain the UP state.
The table below presents NHS recovery functionality. Four NHSs belonging to cluster 1 and cluster 3 and
two NHSs belonging to the default cluster are available for setting up spoke-to-hub tunnels. All NHSes have
different priorities. The maximum connection value is set to 1. In scenario 1, NHS A4, NHS B4, and NHS
10 with the least priority in their respective clusters associate with the spoke in establishing a tunnel. The
spoke continues to probe NHSs of higher prirority to establish a connection with the NHS having the highest
priority value. Hence, in scenario 1, NHSs having the highest priority value in their respective clusters are in
the PROBE state. In scenario 2, NHS A1 is ACTIVE, forms a tunnel with the spoke, and attains the UP state.
Because NHS A1 has the highest priority, the spoke does not probe any other NHS in the cluster. Hence, all
the other NHSs in cluster1 are in the DOWN state.
When the connection with NHS B4 breaks, the spoke connects to NHS B3, which has the next higher priority
value, because NHS B1 of cluster 3 is not active. In scenario 3, NHS A1 continues to be in the UP state and
NHS B1 with the highest priority in cluster 2 becomes active, forms a tunnel, and attains the UP state. Hence,
no other NHSs in cluster 2 are in the PROBE state. However, because NHS 10 having the lowest priority
value in the default cluster is in the UP state, the spoke continues to probe NHS 9 having the highest priority
in the cluster.
In scenario 4, NHS A1 and NHS B1 continue to be in the UP state and NHS 9 having the highest priority in
the default cluster attains the UP state. Hence, because the spoke is associated with the NHSs having the
highest priority in all the clusters, none of the NHSs are in the PROBE state.
SUMMARY STEPS
1. enable
2. configure terminal
3. interface tunnel number
4. ip nhrp nhs cluster cluster-number max-connections value
DETAILED STEPS
Example:
Router# configure terminal
Example:
Router(config)# interface tunnel 1
Step 4 ip nhrp nhs cluster cluster-number max-connections Configures the desired maximum number of connections.
value Note Use the ipv6 nhrp nhs cluster cluster-number
max-connections value command for IPv6
Example: configuration.
Router(config-if)# ip nhrp nhs cluster 5
max-connections 100
SUMMARY STEPS
1. enable
2. configure terminal
3. interface tunnel number
4. ip nhrp nhs fallback fallback-time
DETAILED STEPS
Example:
Router# configure terminal
Example:
Router(config)# interface tunnel 1
SUMMARY STEPS
1. enable
2. configure terminal
3. interface tunnel number
4. ip nhrp nhs nhs-address priority nhs-priority cluster cluster-number
DETAILED STEPS
Example:
Router# configure terminal
Example:
Router(config)# interface tunnel 1
Step 4 ip nhrp nhs nhs-address priority nhs-priority Configures the desired priority and cluster values.
cluster cluster-number Note Use the ipv6 nhrp nhs nhs-address priority
nhs-priority cluster cluster-number command for
Example: IPv6 configuration.
Router(config-if)# ip nhrp nhs [Link]
priority 1 cluster 2
SUMMARY STEPS
1. enable
2. show ip nhrp nhs
3. show ip nhrp nhs redundancy
4. show ipv6 nhrp nhs
5. show ipv6 nhrp nhs redundancy
DETAILED STEPS
Step 1 enable
Enables privileged EXEC mode. Enter your password if prompted.
Example:
Router# enable
Example:
Router# show ip nhrp nhs
Legend: E=Expecting replies, R=Responding, W=Waiting
Tunnel0:
[Link] RE priority = 0 cluster = 0
Example:
Router# show ip nhrp nhs redundancy
Legend: E=Expecting replies, R=Responding, W=Waiting
No. Interface Cluster NHS Priority Cur-State Cur-Queue Prev-State Prev-Queue
1 Tunnel0 0 [Link] 3 RE Running E Running
2 Tunnel0 0 [Link] 2 RE Running E Running
3 Tunnel0 0 [Link] 1 RE Running E Running
No. Interface Cluster Status Max-Con Total-NHS Responding Expecting Waiting Fallback
1 Tunnel0 0 Enable 3 3 3 0 0 0
Example:
Router# show ipv6 nhrp nhs
Legend: E=Expecting replies, R=Responding, W=Waiting
Tunnel0:
2001::101 RE priority = 1 cluster = 5
Example:
Router# show ipv6 nhrp nhs redundancy
Legend: E=Expecting replies, R=Responding, W=Waiting
No. Interface Cluster NHS Priority Cur-State Cur-Queue Prev-State Prev-Queue
1 Tunnel0 5 2001::101 1 E Running RE Running
No. Interface Cluster Status Max-Con Total-NHS Responding Expecting Waiting Fallback
1 Tunnel0 5 Disable Not Set 1 0 1 0 0
interface tunnel 0
bandwidth 1000
ip address [Link] [Link]
no ip redirects
ip mtu 1400
ip nhrp authentication test
ip nhrp map multicast [Link]
ip nhrp map [Link] [Link]
ip nhrp map multicast [Link]
ip nhrp map [Link] [Link]
ip nhrp map multicast [Link]
ip nhrp map [Link] [Link]
ip nhrp network-id 100000
ip nhrp holdtime 300
ip nhrp nhs [Link] priority 2
ip nhrp nhs [Link] priority 1
ip nhrp nhs [Link] priority 3
ip nhrp nhs cluster 0 max-connections 3
ip nhrp shortcut
delay 100
tunnel source Ethernet0/0
tunnel mode gre multipoint
tunnel key 100000
tunnel protection ipsec profile vpnprof
!
!
configure terminal
interface tunnel 1
ip nhrp nhs fallback 25
Configure terminal
interface tunnel 0
ip nhrp nhs [Link] priority 1 cluster 1
ip nhrp map [Link] [Link]
ip nhrp map multicast [Link]
end
configure terminal
interface tunnel 0
ip nhrp nhs [Link] priority 2 cluster 2
ip nhrp map [Link] [Link]
ip nhrp map multicast [Link]
end
configure terminal
interface tunnel 0
ip nhrp nhs [Link] priority 3 cluster 3
ip nhrp map [Link] [Link]
ip nhrp map multicast [Link]
end
configure terminal
interface tunnel 0
ip nhrp nhs cluster 1 max 1
ip nhrp nhs cluster 2 max 1
ip nhrp nhs cluster 3 max 1
end
Additional References
Related Documents
DMVPN complete command syntax, command mode, Cisco IOS Security Command Reference
defaults, usage guidelines, and examples
Standards
Standard Title
No new or modified standards are supported by this --
feature and support for existing standards has not been
modified by this feature.
MIBs
RFCs
RFC Title
No new or modified RFCs are supported by this --
feature.
Technical Assistance
Description Link
The Cisco Support and Documentation website [Link]
provides online resources to download documentation,
software, and tools. Use these resources to install and
configure the software and to troubleshoot and resolve
technical issues with Cisco products and technologies.
Access to most tools on the Cisco Support and
Documentation website requires a [Link] user ID
and password.
Table 11: Feature Information for DMVPN-Tunnel Health Monitoring and Recovery Backup NHS
DHCP Overview
DHCP is based on the Bootstrap Protocol (BOOTP), which provides the framework for passing configuration
information to hosts on a TCP/IP network. DHCP adds the capability to automatically allocate reusable network
addresses and configuration options to Internet hosts. DHCP consists of two components: a protocol for
delivering host-specific configuration parameters from a DHCP server to a host and a mechanism for allocating
network addresses to hosts. DHCP is built on a client/server model, where designated DHCP server hosts
allocate network addresses and deliver configuration parameters to dynamically configured hosts. See the
“DHCP” section of the Cisco IOS IP Addressing Configuration Guide for more information.
Note The NHRP registration sent by the spoke is suppressed until DHCP obtains an address for the GRE tunnel
interface. Hence allows reliable exchange of standard DHCP messages.
DMVPN Topologies
you must configure the DHCP relay agent to unicast the DHCP messages for the DHCP to be functional in a
DMVPN environment.
SUMMARY STEPS
1. enable
2. configure terminal
3. ip dhcp support tunnel unicast
4. exit
DETAILED STEPS
Example:
Router# configure terminal
Step 3 ip dhcp support tunnel unicast Configures a spoke-to-hub tunnel to unicast DHCP replies
over the DMVPN network.
Example:
Router(config)# ip dhcp support tunnel unicast
Example:
Router(config)# exit
SUMMARY STEPS
1. enable
2. configure terminal
3. interface tunnel number
4. ip dhcp client broadcast-flag clear
5. exit
DETAILED STEPS
Example:
Router# configure terminal
Step 3 interface tunnel number Configures a tunnel interface and enters interface
configuration mode.
Example:
Router(config)# interface tunnel 1
Step 4 ip dhcp client broadcast-flag clear Configures the DHCP client to clear the broadcast flag.
Example:
Router(config-if)# ip dhcp client
broadcast-flag clear
Additional References
Related Documents
Cisco IOS IP addressing configuration tasks Cisco IOS IP Addressing Configuration Guide
Cisco IOS IP addressing services commands Cisco IOS IP Addressing Services Command
Reference
Standards
Standard Title
-- No new or modified standards are supported by this
feature, and support for existing standards has not
been modified by this feature.
MIBs
RFCs
RFC Title
RFC 2131 Dynamic Host Configuration Protocol
Technical Assistance
Description Link
The Cisco Support and Documentation website [Link]
provides online resources to download documentation,
software, and tools. Use these resources to install and
configure the software and to troubleshoot and resolve
technical issues with Cisco products and technologies.
Access to most tools on the Cisco Support and
Documentation website requires a [Link] user ID
and password.
The agent implementation of the MIB provides a means to enable and disable specific traps, from either the
network management system or the CLI.
state, NHRP can change the interface state to down. However, if NHRP detects that any one of the NHSs
configured on the interface is up, then it can change the state of the interface to up.
When the NHRP changes the interface state, other Cisco services can react to the state change, for example:
• If the interface state changes, the generic routing and encapsulation (GRE) interface generates IF-MIB
notifications (traps) that report a LinkUp or LinkDown message. The system uses these traps to monitor
the connectivity to the DMVPN cloud.
• If the interface state changes to down, the Cisco IOS backup interface feature can be initiated to allow
the system to use another interface to provide an alternative path to the failed primary path.
• If the interface state changes to down, the system generates an update that is sent to all dynamic routing
protocols. The Interface State Control feature a failover mechanism for dynamic routing when the
multipoint GRE (mGRE) interface is down.
• If the interface state changes to down, the system clears any static routes that use the mGRE interface
as the next hop. The Interface State Control feature provides a failover mechanism for routing when the
mGRE interface is down.
The interface state control feature works on both point-to-point and mGRE interfaces.
SUMMARY STEPS
1. enable
2. configure terminal
3. snmp-server community string rw
4. snmp-server enable traps nhrp nhs
5. snmp-server enable traps nhrp nhc
6. snmp-server enable traps nhrp nhp
7. snmp-server enable traps nhrp quota-exceeded
8. snmp-server host ip-address version snmpversion community-string
9. end
DETAILED STEPS
Example:
Device# configure terminal
Step 3 snmp-server community string rw Configures the community access string to permit access
to the SNMP.
Example:
Device(config)# snmp-server community public rw
Step 4 snmp-server enable traps nhrp nhs Enables NHRP NHS notifications.
Example:
Device(config)# snmp-server enable traps nhrp nhc
Step 5 snmp-server enable traps nhrp nhc Enables NHRP NHC notifications.
Example:
Device(config)# snmp-server enable traps nhrp nhc
Step 6 snmp-server enable traps nhrp nhp Enables NHRP NHP notifications.
Example:
Device(config)# snmp-server enable traps nhrp nhc
Step 7 snmp-server enable traps nhrp quota-exceeded Enables notifications for when the rate limit set on the
NHRP packets is exceeded on the interface.
Example:
Device(config)# snmp-server enable traps nhrp
quota-exceeded
Step 8 snmp-server host ip-address version snmpversion Specifies the recipient of an SNMP notification operation.
community-string
• By default, SNMP notifications are sent as traps.
Example: • All NHRP traps are sent to the notification receiver
with the IP address [Link] using the
Device(config)# snmp-server host [Link]
version 2c public community string public.
Troubleshooting Tips
Use the debug snmp mib nhrp command to troubleshoot SNMP NHRP notifications.
SUMMARY STEPS
1. enable
2. configure terminal
3. interface type number
4. if-state nhrp
5. end
DETAILED STEPS
Example:
Device# configure terminal
Step 4 if-state nhrp Enables NHRP to control the state of the tunnel interface.
Example:
Device(config-if)# if-state nhrp
interface Tunnel 1
ip address [Link] [Link]
no ip redirects
ip nhrp authentication cisco
ip nhrp map [Link] [Link]
ip nhrp map [Link] [Link]
ip nhrp map multicast [Link]
ip nhrp map multicast [Link]
ip nhrp network-id 1
ip nhrp holdtime 90
Dynamic Multipoint VPN information “Dynamic Multipoint VPN (DMVPN)” module in the
Cisco IOS Security Configuration Guide: Secure
Connectivity
IKE configuration tasks such as defining an IKE “Configuring Internet Key Exchange for IPsec VPNs”
policy module in the Cisco IOS Security Configuration
Guide: Secure Connectivity
IPsec configuration tasks “Configuring Security for VPNs with IPsec” module
in the Cisco IOS Security Configuration Guide:
Secure Connectivity
Standard/RFC Title
RFC 2332 NBMA Next Hop Resolution Protocol (NHRP)
MIBs
Technical Assistance
Description Link
The Cisco Support and Documentation website [Link]
provides online resources to download documentation,
software, and tools. Use these resources to install and
configure the software and to troubleshoot and resolve
technical issues with Cisco products and technologies.
Access to most tools on the Cisco Support and
Documentation website requires a [Link] user ID
and password.
Table 13: Feature Information for Tunnel Health Monitoring and Recovery
SUMMARY STEPS
1. enable
2. monitor event-trace dmvpn {nhrp {error | event | exception} | tunnel} {clear | continuous [cancel]
| disable | enable | one-shot} | tunnel}
DETAILED STEPS
Step 2 monitor event-trace dmvpn {nhrp {error | event | exception} | Monitors and controls DMVPM traces.
tunnel} {clear | continuous [cancel] | disable | enable | one-shot}
| tunnel}
Example:
Router# monitor event-trace dmvpn nhrp error enable
SUMMARY STEPS
1. enable
2. configure terminal
3. monitor event-trace dmvpn {dump-file url | {nhrp {error | event | exception} | tunnel} {disable |
dump-file url | enable | size | stacktrace value}}
4. exit
DETAILED STEPS
Example:
Router# configure terminal
Step 3 monitor event-trace dmvpn {dump-file url | {nhrp {error | Monitors and controls DMVPM traces.
event | exception} | tunnel} {disable | dump-file url | enable |
size | stacktrace value}}
Example:
Router(config)# monitor event-trace dmvpn nhrp error
enable
Example:
Router(config)# exit
Router> enable
Router# monitor event-trace dmvpn nhrp error enable
Router> enable
Router# configure terminal
Router(config)# monitor event-trace dmvpn nhrp error enable
Additional References
Related Documents
Standards
Standard Title
None --
MIBs
RFCs
RFC Title
None --
Technical Assistance
Description Link
The Cisco Support and Documentation website [Link]
provides online resources to download documentation,
software, and tools. Use these resources to install and
configure the software and to troubleshoot and resolve
technical issues with Cisco products and technologies.
Access to most tools on the Cisco Support and
Documentation website requires a [Link] user ID
and password.
Note Security threats, as well as the cryptographic technologies to help protect against them, are constantly
changing. For more information about the latest Cisco cryptographic recommendations, see the Next
Generation Encryption (NGE) white paper.
CISCO-NHRP-MIB
CISCO-NHRP-MIB provides NHRP MIB information on managed objects relating to clients only, servers
only, and clients and servers.
The NHRP MIB module contains ten tables of objects as follows:
• NHRP Cache Table
• NHRP Purge Request Table
• NHRP Client Table
• NHRP Client Registration Table
• NHRP Client NHS Table
• NHRP Client Statistics Table
• NHRP Server Table
• NHRP Server Cache Table
• NHRP Server NHC Table
• NHRP Server Statistics Table
The Cisco implementation supports all of the tables except the NHRP Purge Request Table.
RFC-2677
RFC-2677 - Definitions of Managed Objects for the NBMA Next Hop Resolution Protocol (NHRP), describes
managed objects that can be used to remotely monitor NHRP using SNMP and provide management information
on the performance of NHRP.
SUMMARY STEPS
1. enable
2. show snmp mib nhrp status
DETAILED STEPS
Step 2 show snmp mib nhrp status Displays the status of the NHRP MIB.
Example:
Router# show snmp mib nhrp status
The “Enabled” status of “NHRP-SNMP Agent Feature:” indicates that the NHRP MIB is enabled. If the NHRP
MIB was disabled, it would display “Disabled.” “ListEnqueue Count” and “Node Malloc Counts” counts are
internal counts. “ListEnqueue Count” indicates how many nodes are queued for freeing. “Node Malloc Counts”
displays how many nodes are allocated.
ip vrf Vrf1
rd 198102
! Name of the SNMP VPN context
context Vrf1-context
!
crypto isakmp policy 1
authentication pre-share
crypto isakmp key cisco47 address [Link]
!
crypto ipsec transform-set trans2 esp-des esp-md5-hmac
!
crypto ipsec profile vpnprof
set transform-set trans2
!
interface Tunnel0
bandwidth 1000
! DMVPN tunnel for Vrf1 VPN
ip vrf forwarding Vrf1
ip address [Link] [Link]
ip mtu 1400
ip nhrp authentication sample
ip nhrp map multicast dynamic
ip nhrp network-id 99
ip nhrp holdtime 300
no ip split-horizon eigrp 1
ip tcp adjust-mss 1360
delay 1000
tunnel source Ethernet0
tunnel mode gre multipoint
tunnel key 100000
tunnel protection ipsec profile vpnprof
!
interface Ethernet0
ip address [Link] [Link]
!
interface Ethernet1
ip address [Link] [Link]
!
router eigrp 1
address-family ipv4 vrf Vrf1
network [Link] [Link]
network [Link] [Link]
no auto-summary
autonomous-system 1
exit-address-family
!
! V2C Community ABC for VRF Vrf1
snmp-server group abc v2c context V3red_context read view_V3
snmp-server view view_V3 iso included
snmp-server community abc RO
snmp-server community public RO
snmp-server context Vrf1_context
!
!
snmp mib community-map abc context Vrf1-context
Spoke Configuration for DMVPN Example
crypto isakmp policy 1
authentication pre-share
Additional References
Related Documents
Description of SNMP, SNMP MIBs, and how to “Configuring SNMP Support” chapter in the Cisco
configure SNMP on Cisco devices IOS Network Management Configuration Guide
Standards
Standard Title
None --
MIBs
RFCs
RFC Title
RFC 2677 Definitions of Managed Objects for the NBMA Next
Hop Resolution Protocol (NHRP)
Technical Assistance
Description Link
The Cisco Support and Documentation website [Link]
provides online resources to download documentation,
software, and tools. Use these resources to install and
configure the software and to troubleshoot and resolve
technical issues with Cisco products and technologies.
Access to most tools on the Cisco Support and
Documentation website requires a [Link] user ID
and password.
• Multiple NAT translations --A packet can go across multiple NAT devices in a nonbroadcast multiaccess
(NBMA) DMVPN cloud and make several (unimportant) translations before it reaches its destination.
The last translation is the important translation because it is used to create the NAT translation for all
devices that reach a spoke through the last NAT device.
• Hub or spoke can be reached through pre-NAT addresses --It is possible for two or more spokes to
be behind the same NAT device, which can be reached through a pre-NAT IP address. Only the post-NAT
IP address is relied on even if it means that a tunnel may take a less desirable path. If both spokes use
NAT through the same device, then a packet may not travel inside-out or outside-in as expected by the
NAT device and translations may not occur correctly.
• Interoperability between NAT and non-NAT capable devices --In networks that are deployed with
DMVPN, it is important that a device with NHRP NAT functionality operate together with non-NAT
supported devices. A capability bit in the NHRP packet header indicates to any receiver whether a
sending device understands a NAT extension.
• Same NAT translation --A spoke’s post-NAT IP address must be the same when the spoke is
communicating with its hubs and when it is communicating with other spokes. For example, a spoke
must have the same post-NAT IP address no matter where it is sending tunnel packets within the DMVPN
network.
• If one spoke is behind one NAT device and another different spoke is behind another NAT device, and
Peer Address Translation (PAT) is the type of NAT used on both NAT devices, then a session initiated
between the two spokes cannot be established.
The figure below and the following sections describe how DMVPN works when spoke-to-spoke tunneling is
limited to spokes that are not behind a NAT device.
Figure 6: Implementation of DMVPN Spoke-to-Spoke Tunneling Limited to Spokes Not Behind a NAT Device
NHRP Registration
When an NHRP registration is received, the hub checks the source IP address on the encapsulating GRE/IP
header of the NHRP packet with the source NBMA IP address, which is contained in the NHRP registration
packet. If these IP addresses are different, then NHRP knows that NAT is changing the outer IP header source
address. The hub preserves both the pre- and post-NAT address of the registered spoke.
Note If encryption is used, then IPsec transport mode must be used to enable NHRP.
The following show ip nhrp command output example shows the source IP address of the NHRP packet and
tunnel information for Spoke B in the figure above:
Note The NBMA (post-NAT) address for Spoke B is [Link] (the claimed NBMA (pre-NAT) source address
is [Link]).
NHRP Resolution
The following describes the NHRP resolution process between Spoke A and Spoke B shown in the figure
above, where Spoke B is behind a NAT device with pre-NAT address of [Link] and a post-NAT address
of [Link]:
• The NHRP table entry for Spoke B on the hub contains both the post-NAT and pre-NAT addresses.
When the hub receives an NHRP resolution request for the VPN address (tunnel address) of Spoke B,
it answers with its own NBMA address instead of Spoke B’s NBMA address.
• When the hub receives an NHRP resolution request sourced from Spoke B for any other spoke, the hub
also answers with its own NBMA address. This ensures that any attempt to build a spoke-to-spoke tunnel
with Spoke B results in the data packets being sent through the hub rather than through a spoke-to-spoke
tunnel.
For example:
• • Data traffic from source IP address [Link] (behind Spoke A) to destination IP address
[Link] (behind Spoke B) triggers Spoke A to send a resolution request for Spoke B ([Link])
to the next hop router (hub).
• The hub receives the resolution request and finds a mapping entry for Spoke B ([Link]). Because
Spoke B is behind a NAT device, it acts as a proxy and replies with its own NBMA address
([Link]).
• The hub also receives a resolution request from Spoke B for Spoke A ([Link]). Because Spoke
B is behind a NAT device, it acts as a proxy and replies with its own NBMA address ([Link]).
This restricts any spoke-to-spoke traffic to or from Spoke B to travel through the hub router, which
is done rather than having a tunnel between the spokes.
Note The spoke-to-spoke tunnel may fail to come up, but it is detected and the data traffic flows through the
hub, rather than being lost (black-holed).
The figure below shows how the NHRP spoke-to-spoke tunnel works with NAT.
1 When a spoke is behind a NAT device, it includes a NAT NHRP extension when it sends NHRP resolution
requests.
2 The hub receives the resolution request. If the spoke is behind a NAT device and there is no NAT extension,
then the hub adds a NAT extension before forwarding this extension to the next node (spoke or next hop
server) along the path. However, if the hub is forwarding the request to a non-NAT extension capable
node, it rewrites the source-NBMA inside the packet to be the post-NAT IP address for the requesting
spoke rather than its pre-NAT IP address.
3 The receiver (spoke) uses a NAT NHRP extension record (NAT capable) or the source NBMA address
(non-NAT capable information) to build the tunnel. This spoke’s reply includes its own NAT extension
if it is behind a NAT device.
Note Hubs do not answer NHRP resolution requests on behalf of spokes. Hubs always forward NHRP resolution
requests to the end spoke that has the requested tunnel IP address or services the requested data from the
host IP address.
The following describes the NHRP resolution process between Spoke A and Spoke B shown in the figure
above, where Spoke B is behind a NAT device with pre-NAT address [Link] and post-NAT address of
[Link]:
• Data traffic to the [Link]/24 network from hosts behind Spoke A triggers an NHRP resolution
request for Spoke B’s tunnel IP address ([Link]) to be sent through the hub. The hub receives a
resolution request and forwards it to Spoke B. Spoke B creates a dynamic spoke-to-spoke tunnel using
the source NBMA IP address for Spoke A from the NHRP resolution request and sends an NHRP
resolution reply directly to Spoke A. It includes its post-NAT address in the NAT NHRP-extension
header.
• Alternatively, traffic to the192.168.1.0/24 network from hosts behind the NAT device on Spoke B
triggers an NHRP resolution request for Spoke A’s tunnel IP address ([Link]). Spoke B adds its own
post-NAT IP address in the NHRP NAT-extension in the resolution request. The hub receives a resolution
request and forwards it to Spoke A. Spoke A parses the NHRP NAT-extension and builds a tunnel using
Spoke B’s post-NAT address and replies directly to Spoke B.
Additional References
Related Documents
NHRP commands: complete command syntax, Cisco IOS IP Addressing Services Command
command mode, command history, defaults, usage Reference
guidelines, and examples
Standards
Standard Title
No new or modified standards are supported by this --
feature, and support for existing standards has not
been modified by this feature.
MIBs
RFCs
RFC Title
No new or modified RFCs are supported by this --
release.
Technical Assistance
Description Link
The Cisco Support and Documentation website [Link]
provides online resources to download documentation,
software, and tools. Use these resources to install and
configure the software and to troubleshoot and resolve
technical issues with Cisco products and technologies.
Access to most tools on the Cisco Support and
Documentation website requires a [Link] user ID
and password.
Table 17: Feature Information for DMVPN Dynamic Tunnels Between Spokes Behind a NAT Device
Note Security threats, as well as the cryptographic technologies to help protect against them, are constantly
changing. For more information about the latest Cisco cryptographic recommendations, see the Next
Generation Encryption (NGE) white paper.
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.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support.
To access Cisco Feature Navigator, go to [Link]/go/cfn. An account on [Link] is not required.
Note The tunnel source, tunnel destination, and tunnel key (triplet) must be unique for all tunnel interfaces on
a router. For a multipoint GRE (mGRE) interface where the tunnel destination is not configured, the pair
(tunnel source and tunnel key) must be unique. Incoming GRE packets are also matched to P2P GRE
tunnels first; if there is no match, then they are matched to mGRE tunnels.
SUMMARY STEPS
1. enable
2. configure terminal
3. interface tunnel number
4. tunnel source {ip-address | interface-type interface-number}
5. tunnel protection ipsec profile name [shared]
6. exit
7. exit
DETAILED STEPS
Example:
Router# configure terminal
Step 3 interface tunnel number Configures a tunnel interface and enters interface configuration mode.
• The number argument specifies the number of the tunnel interface
Example: that you want to create or configure. There is no limit on the
Router(config)# interface tunnel 5 number of tunnel interfaces you can create.
Step 4 tunnel source {ip-address | interface-type Sets the source IP address or source interface type number for a tunnel
interface-number} interface.
• When you are using the tunnel protection ipsec profile
Example: command, you must specify an interface, not an IP address for
Router(config-if)# tunnel source the tunnel source.
GigabitEthernet 0
Step 5 tunnel protection ipsec profile name Associates a tunnel interface with an IPsec profile.
[shared]
• The name argument specifies the name of the IPsec profile; this
value must match the name specified in the crypto ipsec profile
Example: name command.
Router(config-if)# tunnel protection
ipsec profile vpnprof shared • The shared keyword allows IPsec sessions to be shared between
multiple tunnel interfaces configured with the same tunnel source
IP.
Step 7 exit Exits global configuration mode and enters privileged EXEC mode.
Example:
Router(config)# exit
• Each mGRE tunnel interface is configured with the same tunnel source IP address and uses shared tunnel
protection between them.
!
hostname Hub1
!
!
hostname Hub2
!
crypto isakmp policy 1
authentication pre-share
crypto isakmp key cisco47 address [Link] [Link]
!
crypto ipsec transform-set trans2 esp-des esp-md5-hmac
mode transport
!
crypto ipsec profile vpnprof
set transform-set trans2
!
interface Tunnel 5
bandwidth 1000
ip address [Link] [Link]
ip mtu 1400
no ip next-hop-self eigrp 1
ip nhrp authentication test
ip nhrp map multicast dynamic
ip nhrp network-id 100001
ip nhrp holdtime 600
no ip split-horizon eigrp 1
ip tcp adjust-mss 1360
delay 1000
tunnel source GigabitEthernet 0/0/0
tunnel mode gre multipoint
tunnel key 100001
tunnel protection ipsec profile vpnprof
!
interface GigabitEthernet 0/0/0
ip address [Link] [Link]
!
interface GigabitEthernet 0/0/1
ip address [Link] [Link]
!
router eigrp 1
network [Link] [Link]
network [Link] [Link]
no auto-summary
!
!
hostname Spoke1
!
crypto isakmp policy 1
authentication pre-share
crypto isakmp key cisco47 address [Link] [Link]
!
crypto ipsec transform-set trans2 esp-des esp-md5-hmac
mode transport
!
crypto ipsec profile vpnprof
set transform-set trans2
!
interface Tunnel 5
bandwidth 1000
.
.
.
ip nhrp authentication test
ip nhrp map [Link] [Link]
ip nhrp map multicast [Link]
ip nhrp network-id 100000
ip nhrp holdtime 300|
ip nhrp nhs [Link]
ip tcp adjust-mss 1360
delay 1000
.
.
.
tunnel protection ipsec profile vpnprof shared
!
interface Tunnel 5
bandwidth 1000
.
.
.
ip nhrp authentication test
ip nhrp map [Link] [Link]
ip nhrp map multicast [Link]
ip nhrp network-id 100001
ip nhrp holdtime 300
!
hostname Spoke2
!
crypto isakmp policy 1
authentication pre-share
crypto isakmp key cisco47 address [Link] [Link]
!
crypto ipsec transform-set trans2 esp-des esp-md5-hmac
mode transport
!
crypto ipsec profile vpnprof
set transform-set trans2
!
interface Tunnel 5
bandwidth 1000
.
.
.
ip nhrp authentication test
ip nhrp map [Link] [Link]
ip nhrp map multicast [Link]
ip nhrp network-id 100000
ip nhrp holdtime 300|
ip nhrp nhs [Link]
ip tcp adjust-mss 1360
delay 1000
.
.
.
tunnel protection ipsec profile vpnprof shared
!
interface Tunnel 5
bandwidth 1000
.
.
.
ip nhrp authentication test
ip nhrp map [Link] [Link]
ip nhrp map multicast [Link]
ip nhrp network-id 100001
ip nhrp holdtime 300
ip nhrp nhs [Link]
ip tcp adjust-mss 1360
delay 1000
.
.
.
tunnel protection ipsec profile vpnprof shared
!
interface GigabitEthernet 0/0/0
ip address dhcp hostname Spoke2
!
interface GigabitEthernet 0/0/1
ip address [Link] [Link]
!
router eigrp 1
network [Link] [Link]
network [Link] [Link]
network [Link] [Link]
no auto-summary
!
Note There are only three crypto connections ([Link], [Link] and [Link]). The two NHRP sessions
([Link], Tunnel 0) and ([Link], Tunnel 1) represent the same IPsec session because they both have
the same nonbroadcast multiaccess (NBMA) IPsec peer address.
Note The three crypto sessions are shown under both tunnel interface (three entries, twice) in the show crypto
ipsec sa output because both interfaces are mapped to the same IPsec SADB, which has three entries.
This duplication of output is expected in this case.
interface: Tunnel 0
Crypto map tag: vpnprof-head-1, local addr [Link]
protected vrf: (none)
local ident (addr/mask/prot/port): ([Link]/[Link]/47/0)
remote ident (addr/mask/prot/port): ([Link]/[Link]/47/0)
current_peer [Link] port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 134, #pkts encrypt: 134, #pkts digest: 134
#pkts decaps: 118, #pkts decrypt: 118, #pkts verify: 118
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
Additional References
Related Documents
Standard/RFC Title
RFCs for IPv6 IPv6 RFcs
Technical Assistance
Description Link
The Cisco Support and Documentation website [Link]
provides online resources to download documentation,
software, and tools. Use these resources to install and
configure the software and to troubleshoot and resolve
technical issues with Cisco products and technologies.
Access to most tools on the Cisco Support and
Documentation website requires a [Link] user ID
and password.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support.
To access Cisco Feature Navigator, go to [Link]/go/cfn. An account on [Link] is not required.
Table 18: Feature Information for Sharing IPsec with Tunnel Protection
Glossary
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 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 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.
NHRP—Next Hop Resolution Protocol. Protocol that routers, access servers, and hosts can use to discover
the addresses of other routers and hosts connected to an NBMA network.
The Cisco implementation of NHRP supports the IETF draft version 11 of NBMA NHRP.
The Cisco implementation of NHRP supports IP Version 4, 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.
SA—security association. Describes how two or more entities use 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—List of operations performed on a data flow to provide data authentication, data confidentiality,
and data compression. For example, one transform is the Encapsulating Security Payload (ESP) protocol with
the Hash-based Message Authentication Code (HMAC)-Message Digest Algorithm (MD5) authentication
algorithm; another transform is the Authentication Header (AH) protocol with the 56-bit DES encryption
algorithm and the ESP protocol with the HMAC-Secure Hash Algorithm (SHA) authentication algorithm.
tunnel—A secure communication path between two peers, such as two routers. It does not refer to using IPsec
in tunnel mode.
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.
Note Security threats, as well as the cryptographic technologies to help protect against them, are constantly
changing. For more information about the latest Cisco cryptographic recommendations, see the Next
Generation Encryption (NGE) white paper.
• Before you can configure an Next Hop Resolution Protocol (NHRP) group on a spoke and map the
NHRP group to a QoS policy on a hub, the spoke and the hub must already be configured for DMVPN
without the per-tunnel QoS.
• For a given DMPVN tunnel interface, one transport protocol, either IPv4 or IPv6, can only be used.
However, different DMVPN tunnel interfaces on the same device may use IPv4 or IPv6 transport protocol
at the same time. Per-tunnel QoS can be configured for IPv4 and IPv6 DMVPN passenger traffic packets
and be associated with an outbound physical interface that is either IPv4, IPv6 or both. This DMPVN
tunnel traffic may be mixed with non-DMVPN IPv4 and IPv6 traffic, or both, on the outbound physical
interface with its own QoS policy with restrictions.
• The Per-Tunnel QoS for DMVPN feature does not support the following:
◦Per-Tunnel QoS for IPv4 or IPv6 or Multiprotocol Label Switching (MPLS) VPN over DMVPN
with Layer 2 Tunnel Protocol (L2TP) transport.
◦Per-Tunnel QoS for IPv4 or IPv6 or MPLS VPN over DMVPN.
• Per-Tunnel QoS service policies are only supported in the egress direction.
• This feature does not support adding the capability of user configurable queuing and schedules before
the crypto engine.
• Fair queueing should not be used in a per-tunnel QoS for DMVPN policy map because the outer header
with nonchanging IP addresses is used for individual flow queue selection. This results in the same
queue being selected for all traffic flowing through the class with fair queueing.
• A QoS service policy is supported on the main interface or subinterface that the tunnel is sourced from
in conjunction with a per-tunnel QoS service policy on the DMVPN tunnel interface. However, there
are certain restrictions for the main or subinterface service policy, which are as follows:
◦A service policy is supported on either the main interface or the subinterface, but not both, in
conjunction with the per-tunnel QoS service policy.
◦The main interface or subinterface QoS service policy is limited to only a class-default shaper (it
can only contain the class class-default and shape commands). Additional QoS configurations
are not supported on the main interface or subinterface when two different QoS service policies
are applied to the main or subinterface and the tunnel interface simultaneously.
◦The main interface or subinterface QoS service policy must be applied before the tunnel interface
service policy.
◦The main interface or subinterface QoS service policy is checked for validity only when a QoS
service policy is applied on the tunnel interface. The main interface or subinterface service policy
is not checked during a tunnel movement or modification.
◦Adding new classes or features to the main interface or subinterface policy map is not supported.
The classes or features may not be blocked on CLI and could result in unpredictable behavior.
◦The policy-map counters for the main interface or subinterface service policy (from the show
policy-map interface command) may not account for all packets and therefore should not be used
or referenced. However, this does not affect the QoS functionality. The shaper will still limit the
traffic on the main interface or subinterface, including all DMVPN tunnel traffic over that interface.
1. enable
2. configure terminal
3. interface tunnel number
4. Enter one of the following
• ip nhrp group group-name
• nhrp group group-name
5. end
DETAILED STEPS
Example:
Device# configure terminal
Step 3 interface tunnel number Configures a tunnel interface and enters interface
configuration mode.
Example:
Device(config)# interface tunnel 1
Step 4 Enter one of the following Configures a Next Hop Resolution Protocol (NHRP)
group on the spoke.
• ip nhrp group group-name
• nhrp group group-name
Example:
Device(config-if)# ip nhrp group spoke_group1
Example:
Device(config-if)# nhrp group spoke_group1
1. enable
2. configure terminal
3. interface tunnel number
4. nhrp attribute group group-name
5. nhrp map group group-name service-policy output qos-policy-map-name
6. end
DETAILED STEPS
Example:
Device# configure terminal
Step 3 interface tunnel number Configures a tunnel interface and enters interface
configuration mode.
Example:
Device(config)# interface tunnel 1
Step 4 nhrp attribute group group-name Configures the QoS group identity information on the
spoke.
Example:
Device(config-if)# nhrp attribute group spoke1
Step 5 nhrp map group group-name service-policy output Adds the Next Hop Resolution Protocol (NHRP) group
qos-policy-map-name to the quality of service (QoS) policy mapping.
Example:
Device(config-if)# nhrp map group spoke_group1
service-policy output group1_parent
1. enable
2. configure terminal
3. interface tunnel number
4. Do one of the following:
• ip nhrp map group group-name service-policy output qos-policy-map-name
• nhrp map group group-name service-policy output qos-policy-map-name
5. end
DETAILED STEPS
Example:
Device# configure terminal
Step 3 interface tunnel number Configures a tunnel interface and enters interface
configuration mode.
Example:
Device(config)# interface tunnel 1
Step 4 Do one of the following: Adds the Next Hop Resolution Protocol (NHRP)
group to the quality of service (QoS) policy mapping
• ip nhrp map group group-name service-policy output on the hub.
qos-policy-map-name
• nhrp map group group-name service-policy output
qos-policy-map-name
Example:
Device(config-if)# ip nhrp map group spoke_group1
service-policy output group1_parent
Example:
Device(config-if)# nhrp map group spoke_group1
service-policy output group1_parent
1. enable
2. show dmvpn detail
3. show ip nhrp
4. show ip nhrp group [group-name]
5. Do one of the following:
• show ip nhrp group-map [group-name]
• show nhrp group-map [group-name]
DETAILED STEPS
Step 2 show dmvpn detail Displays detailed Dynamic Multipoint VPN (DMVPN) information
for each session, including the Next Hop Server (NHS) and NHS
Example: status, crypto session information, and socket details.
Device# show dmvpn detail
• The output includes the Next Hop Resolution Protocol
(NHRP) group received from the spoke and the quality of
service (QoS) policy applied to the spoke tunnel.
Step 5 Do one of the following: Displays the group-to-policy maps configured on the hub and also
displays the tunnels on which the QoS policy is applied.
• show ip nhrp group-map [group-name]
• show nhrp group-map [group-name]
Example:
Device# show ip nhrp group-map
group1-parent
Example:
Device# show nhrp group-map group1-parent
Step 6 show policy-map multipoint [tunnel Displays QoS policy details applied to multipoint tunnels.
tunnel-interface-number]
Example:
Device# show policy-map multipoint tunnel
1
Step 7 show tunnel endpoints Displays information about the source and destination endpoints
for multipoint tunnels and the QoS policy applied on the spoke
Example: tunnel.
interface tunnel 1
ip address [Link] [Link]
no ip redirects
ip mtu 1400
ip nhrp authentication testing
ip nhrp group spoke_group1
ip nhrp map [Link] [Link]
ip nhrp map multicast [Link]
ip nhrp network-id 172176366
ip nhrp holdtime 300
ip tcp adjust-mss 1360
ip nhrp nhs [Link]
tunnel source fastethernet 2/1/1
tunnel mode gre multipoint
tunnel protection ipsec profile DMVPN
interface fastethernet 2/1/1
ip address [Link] [Link]
interface tunnel 1
ip address [Link] [Link]
no ip redirects
ip mtu 1400
ip nhrp authentication testing
ip nhrp group spoke_group1
ip nhrp map [Link] [Link]
ip nhrp map multicast [Link]
ip nhrp network-id 172176366
ip nhrp holdtime 300
ip tcp adjust-mss 1360
ip nhrp nhs [Link]
tunnel source fastethernet 2/1/1
tunnel mode gre multipoint
tunnel protection ipsec profile DMVPN
interface fastethernet 2/1/1
ip address [Link] [Link]
interface tunnel 1
ip address [Link] [Link]
no ip redirects
ip mtu 1400
ip nhrp authentication testing
ip nhrp group spoke_group2
ip nhrp map [Link] [Link]
ip nhrp map multicast [Link]
ip nhrp network-id 172176366
ip nhrp holdtime 300
ip tcp adjust-mss 1360
ip nhrp nhs [Link]
tunnel source fastethernet 2/1/1
tunnel mode gre multipoint
tunnel protection ipsec profile DMVPN
interface fastethernet 2/1/1
ip address [Link] [Link]
policy-map policy p1
class class1
priority 70
interface Tunnel0
ip address [Link] [Link]
no ip redirects
ip mtu 1436
ip nhrp authentication h1there
ip nhrp attribute group1
ip nhrp map group group1 service-policy output p1
ip nhrp map multicast [Link]
ip nhrp map [Link] [Link]
ip nhrp network-id 253
ip nhrp nhs [Link]
ip nhrp registration timeout 600
ip nhrp cache non-authoritative
no ip mroute-cache
tunnel source [Link]
tunnel mode gre multipoint
tunnel key 253
tunnel protection ipsec profile dmvpn-profile
end
spoke_group1 to the QoS policy group1_parent and map the NHRP group spoke_group2 to the QoS policy
group2_parent on the hub:
Interface: tunnel1
NHRP group: spoke_group1
QoS policy: group1_parent
Tunnels using the QoS policy:
Tunnel destination overlay/transport address
[Link]/[Link]
[Link]/[Link]
0 packets, 0 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: ip precedence 6
Queueing
queue limit 150 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 0/0
bandwidth 20% (600 kbps)
Class-map: class-default (match-any)
29 packets, 4988 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: any
queue limit 350 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 0/0
Interface tunnel1 <--> [Link]
Service-policy output: group2_parent
Class-map: class-default (match-any)
14 packets, 2408 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: any
Queueing
queue limit 500 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 0/0
shape (average) cir 2000000, bc 8000, be 8000
target shape rate 2000000
Service-policy : group2
queue stats for all priority classes:
queue limit 100 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 0/0
Class-map: group2_voice (match-all)
0 packets, 0 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: access-group 100
Priority: 20% (400 kbps), burst bytes 10000, b/w exceed drops: 0
Class-map: group2_Routing (match-all)
0 packets, 0 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: ip precedence 6
Queueing
queue limit 50 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 0/0
bandwidth 10% (200 kbps)
Class-map: class-default (match-any)
14 packets, 2408 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: any
queue limit 350 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 0/0
Technical Assistance
Description Link
The Cisco Support and Documentation website [Link]
provides online resources to download documentation,
software, and tools. Use these resources to install and
configure the software and to troubleshoot and resolve
technical issues with Cisco products and technologies.
Access to most tools on the Cisco Support and
Documentation website requires a [Link] user ID
and password.
QoS: Spoke to Spoke Per-tunnel Cisco IOS XE Release 3.15S The QoS: Spoke to Spoke per
QoS for DMVPN tunnel QoS for DMVPN feature
enables a DMVPN client to
establish a direct crypto tunnel with
another DMVPN client leveraging
the per-tunnel QoS policy, using
Next Hop Resolution Protocol
(NHRP) to build spoke-to-spoke
connections.
The following commands were
introduced or modified: nhrp
attribute group, show dmvpn,
show ip nhrp, show ip nhrp
group.
QoS: DMVPN Per-tunnel QoS Cisco IOS XE Everest 16.4.1 The QoS: DMVPN Per-tunnel QoS
over Aggregate GEC over Aggregate GEC feature is
supported on port-channel
interface.
The TrustSec DMVPN Inline Tagging Support feature does not support the following:
• Cisco AnyConnect
• Cisco VPNClient
• DMVPN with IKEv1
• EasyVPN
• FlexVPN
• GetVPN
• IKEv1 IPsec methods
• SSLVPN
SGT with DMVPN is not supported on Cisco ASR1002-X platforms unless it is used in tunnel mode.
Cisco TrustSec
The Cisco TrustSec (CTS) architecture helps to build secure networks by establishing a domain of trusted
network devices by combining identity, trust, and policy to protect user transactions and enforce role-based
policies. CTS uses the user and the device identification information acquired during the authentication phase
to classify packets as they enter the network. CTS maintains a classification of each packet by tagging packets
on ingress to the CTS network so that they can be properly identified for applying security and other policy
criteria along the data path. The packets or frames are tagged using the Security Group Tag (SGT), which
allows network intermediaries such as switches and firewalls, to enforce an access control policy based on
the classification.
The IPsec Inline Tagging for TrustSec feature is used to propagate the SGT to other network devices.
Note If this feature is not supported, you can use the SGT Exchange Protocol over TCP (SXP) feature.
For more information on CTS and SXP, see the Cisco TrustSec Switch Configuration Guide.
Handling Fragmentation
Fragmentation is handled in the following two ways:
• Fragmentation before IPsec—If IPsec receives fragmented packets, each fragment is tagged.
• Fragmentation after IPsec—If IPsec packets are fragmented after encryption, the first fragment will be
tagged.
SUMMARY STEPS
1. enable
2. configure terminal
3. interface tunnel tunnel id
4. cts sgt inline
5. exit
DETAILED STEPS
Example:
Device# configure terminal
Step 3 interface tunnel tunnel id Specifies a tunnel interface number, and enters interface
configuration mode.
Example:
Device(config)# interface tunnel 1
Step 4 cts sgt inline Enables TrustSec on DMVPN. This command is valid for
generic routing encapsulation (GRE) and to tunnel interfaces
Example: modes only.
Device(config-if)# cts sgt inline
Example:
Device(config)# exit
SUMMARY STEPS
1. enable
2. show dmvpn
3. show ip nhrp nhs detail
4. show tunnel endpoints
5. show adjacency interface-type interface-number detail
DETAILED STEPS
Step 1 enable
Example:
Device> enable
Example:
Device# show dmvpn
# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb
----- --------------- --------------- ----- -------- -----
1 [Link] [Link] UP 00:00:01 SC
Use this command to display Dynamic Multipoint VPN (DMVPN)-specific session information.
Step 3 show ip nhrp nhs detail
Example:
Device# show ip nhrp nhs detail
Example:
Device# show tunnel endpoints
Example:
Device# show adjaceny tunnel0 detail
!
crypto ikev2 keyring key
peer peer
address [Link] [Link]
pre-shared-key cisco
!
peer v4_p2
address [Link] [Link]
pre-shared-key cisco
!
crypto ikev2 profile prof
match identity remote address [Link]
authentication local pre-share
authentication remote pre-share
keyring key
virtual-template 25
!
crypto ikev2 cts sgt
!
crypto ipsec transform-set trans esp-null esp-sha-hmac
!
crypto ipsec profile prof_ipv4
set transform-set trans
set ikev2-profile prof1_ipv4
!
!
interface Loopback0
ip address [Link] [Link]
!
interface Loopback1
no ip address
!
interface Loopback2
ip address [Link] [Link]
!
interface Loopback10
no ip address
ipv6 address 2001::8:1/112
!
interface Loopback11
no ip address
ipv6 address 2001::80:1/112
!
interface Embedded-Service-Engine0/0
no ip address
shutdown
!
interface GigabitEthernet0/0
ip address [Link] [Link]
duplex auto
speed auto
ipv6 address 2001::7:1/112
ipv6 enable
!
interface GigabitEthernet0/1
ip address [Link] [Link]
duplex auto
speed auto
!
interface GigabitEthernet0/2
ip address [Link] [Link]
duplex auto
speed auto
!
interface FastEthernet0/0/0
no ip address
shutdown
!
interface FastEthernet0/0/1
no ip address
!
interface FastEthernet0/0/2
no ip address
!
interface FastEthernet0/0/3
no ip address
!
!
interface Virtual-Template25 type tunnel
ip unnumbered GigabitEthernet0/0
tunnel mode ipsec ipv4
tunnel protection ipsec profile prof_ipv4
!
interface Vlan1
no ip address
!
!
ip forward-protocol nd
!
no ip http server
no ip http secure-server
!
ip route [Link] [Link] [Link]
ip route [Link] [Link] [Link]
!
logging esm config
ipv6 route ::/0 2001::7:2
!
control-plane
!
!
!
line con 0
exec-timeout 0 0
line aux 0
line 2
no activation-character
no exec
transport preferred none
transport input all
transport output lat pad telnet rlogin lapb-ta mop udptn v120 ssh
stopbits 1
line vty 0 4
login
transport input all
!
exception data-corruption buffer truncate
scheduler allocate 20000 1000
end
Cisco TrustSec and SXP configuration Cisco TrustSec Switch Configuration Guide
Cisco Secure Access Control Server Configuration Guide for the Cisco Secure ACS
Technical Assistance
Description Link
The Cisco Support and Documentation website [Link]
provides online resources to download documentation,
software, and tools. Use these resources to install and
configure the software and to troubleshoot and resolve
technical issues with Cisco products and technologies.
Access to most tools on the Cisco Support and
Documentation website requires a [Link] user ID
and password.
Table 23: Feature Information for Configuring TrustSec DMVPN Inline Tagging Support
When a spoke answers an NHRP resolution request for a local host, it uses the explicit IP address network
and subnet mask from the Routing Information Base (RIB) in response. Multiple networks behind a local
spoke require similar NHRP messages for a host behind remote spoke to exchange packets with the hosts in
these networks. It is difficult to handle NHRP messages for a huge number of spokes and large networks
behind each spoke.
The number of NHRP messages between spokes can be limited when the first NHRP resolution reply provides
information about the network behind a local spoke instead of a specific network. The spoke-to-spoke NHRP
summary map uses the configured IP address network and subnet mask in the NHRP resolution response
instead of the IP address network and subnet mask from RIB. If RIB has more number of IP address networks
(lesser subnet mask length) than the configured IP address network and subnet mask, the spoke still uses the
configured IP address network and subnet mask for NHRP resolution response thereby summarizing and
reducing the NHRP resolution traffic on the network. Use the ip nhrp summary-map command to configure
NHRP summary map on a spoke.
Note In DMVPN, it is recommended to configure a Rendezvous Point (RP) at or behind the hub. If there is an
IP multicast source behind a spoke, the ip pim spt-threshold infinity command must be configured on
spokes to avoid multicast traffic going through spoke-to-spoke tunnels.
The entire network behind the local spoke is identified to the remote spoke with one NHRP resolution request.
The following figure shows the working of spoke-to-spoke NHRP summary maps.
A local spoke with the address space [Link]/19 on its local LAN has all 32-24 RIB entries –
[Link]/24,….[Link]/24. When a routing protocol like EIGRP is used to advertise this local address
space, the routing protocol is configured to summarize the networks to [Link]/19 and advertise that to the
hub. The hub summarizes this further, to [Link]/16, when it advertises it to the other spokes. The other
spokes starts with only a [Link]/16 routing table entry with the next-hop of the hub in the RIB.
If a remote host communicates with [Link], the local spoke receives the NHRP resolution request for
[Link]/32. it looks into the RIB and return [Link]/24 in NHRP resolution reply.
If the local spoke is configured with NHRP summary map for eg. "ip nhrp summary-map [Link]/19", the
local spoke upon receing the resolution request for [Link] checks the RIB which return [Link]/24.
the local spoke then check for summary map configuration [Link]/19 and verifies if the destination
[Link]/32 is covered and returns [Link]/19 in NHRP resolution reply.
Note The following task can be performed to configure the spoke device.
SUMMARY STEPS
1. enable
2. configure terminal
3. interface tunnel number
4. ip address ip-address mask secondary ip-address mask
5. ip nhrp authentication string
6. ip nhrp summary-map {ip-address | mask}
7. ip nhrp network-id number
8. ip nhrp nhs [hub-tunnel-ip-address] nbma [hub-wan--ip] multicast
9. ip nhrp shortcut
10. tunnel source {ip-address | type number}
11. tunnel mode gre multipoint
12. tunnel key key-number
13. end
DETAILED STEPS
Example:
Device# configure terminal
Step 3 interface tunnel number Configures a tunnel interface and enters interface configuration
mode.
Example: • number—Specifies the number of the tunnel interface
Device(config)# interface tunnel 5 that you want to create or configure. There is no limit on
the number of tunnel interfaces you can create.
Step 5 ip nhrp authentication string Configures an authentication string for an interface using
NHRP.
Example:
Device(config-if)# ip nhrp authentication
donttell
Step 6 ip nhrp summary-map {ip-address | mask} Summarizes and reduces the NHRP resolution traffic on the
network.
Example:
Device(config-if)# ip nhrp summary-map
[Link]/24
Step 8 ip nhrp nhs [hub-tunnel-ip-address] nbma Configures the hub router as the NHRP next-hop server.
[hub-wan--ip] multicast
Example:
Device(config-if)# ip nhrp nhs [Link] nbma
[Link] multicast
Example:
Device(config-if)# ip nhrp shortcut
Step 10 tunnel source {ip-address | type number} Sets the source address for a tunnel interface.
Example:
Device(config-if)# tunnel source
Gigabitethernet 0/0/0
Step 12 tunnel key key-number (Optional) Enables an ID key for a tunnel interface.
• key-number—Specifies a number to identify a tunnel key.
Example: This must be set to the same value on all hubs and spokes
Device(config-if)# tunnel key 100000 that are in the same DMVPN network.
1. enable
2. show ip nhrp
DETAILED STEPS
Step 1 enable
Example:
Device> enable
Enables privileged EXEC mode.
• Enter your password if prompted.
Example:
The following is an example of show command output on spoke.
Device# show ip nhrp
DETAILED STEPS
Example:
Device# debug dmvpn all nhrp
NHRP-CACHE: Tunnel0: Cache add for target [Link]/24 vrf global(0x0) label none next-hop [Link]
[Link]
NHRP-CACHE: Inserted subblock node(2 now) for cache: Target [Link]/24 nhop [Link]
NHRP-CACHE: Converted internal dynamic cache entry for [Link]/24 interface Tunnel0 vrf global(0x0)
to external
NHRP-RT: Adding route entry for [Link]/24 (Tunnel0 vrf:global(0x0)) to RIB
NHRP-RT: Route addition to RIB Successful
NHRP-RT: Route watch started for [Link]/23
NHRP-CACHE: Updating label on Tunnel0 for [Link] vrf global(0x0), old none new none nhop [Link]
NHRP-CACHE: Tunnel0: Cache update for target [Link]/32 vrf global(0x0) label none next-hop [Link]
[Link]
NHRP-CACHE: Deleting incomplete entry for [Link]/32 interface Tunnel0 vrf global(0x0)
NHRP-CACHE: Still other cache entries with same overlay nhop [Link]
NHRP-RT: Received route watch notification for [Link]/24
NHRP-RT: Covering prefix is [Link]/22
NHRP-RT: Received route watch notification for [Link]/24
NHRP-RT: (0x0):NHRP RIB entry for [Link]/24 is unreachable
interface Tunnel0
ip address [Link] [Link]
no ip redirects
no ip split-horizon eigrp 2
ip nhrp authentication cisco123
ip nhrp network-id 23
ip nhrp redirect
ip summary-address eigrp 2 [Link] [Link]
ip summary-address eigrp 2 [Link] [Link]
tunnel source GigabitEthernet1/0/0
tunnel mode gre multipoint
tunnel key 6
end
The following example shows how to configure spoke-to-spoke NHRP summary maps on spoke 1.
interface Tunnel0
vrf forwarding vrf1
ip address [Link] [Link]
ip nhrp authentication cisco123
ip nhrp summary-map [Link]/22
ip nhrp network-id 5
ip nhrp nhs [Link] nbma [Link] multicast
ip nhrp shortcut
tunnel source GigabitEthernet0/1/0
tunnel mode gre multipoint
tunnel key 6
end
The following example shows how to configure spoke-to-spoke NHRP summary maps on spoke 2.
interface Tunnel0
ip address [Link] [Link]
ip nhrp authentication cisco123
ip nhrp summary-map [Link]/22
ip nhrp network-id 5
ip nhrp nhs [Link] nbma [Link] multicast
ip nhrp shortcut
tunnel source GigabitEthernet0/0/0
tunnel mode gre multipoint
tunnel key 6
end
The following is a sample output of the show ip nhrp command on the hub.
Technical Assistance
Description Link
The Cisco Support and Documentation website [Link]
provides online resources to download documentation,
software, and tools. Use these resources to install and
configure the software and to troubleshoot and resolve
technical issues with Cisco products and technologies.
Access to most tools on the Cisco Support and
Documentation website requires a [Link] user ID
and password.
There is no special NHRP configuration needed for BFD support on DMVPN, enabling BFD on an NHRP
enabled interface suffices. For DMVPN configuration refer How to Configure Dynamic Multipoint VPN
enable
configure terminal
interface tunnel1
bfd interval 1000 min_rx 1000 multiplier 5
no echo
BFD intervals can also be configured by defining a template and attaching it to the tunnel interface as shown
below
enable
configure terminal
bfd-template single-hop sample
interval min-tx 1000 min-rx 1000 multiplier 5
interface tunnel1
bfd template sample
interface Tunnel1
ip address [Link] [Link]
no ip redirects
ip nhrp authentication cisco123
ip nhrp network-id 12
ip nhrp nhs [Link] nbma [Link] multicast
bfd template sample
tunnel source GigabitEthernet0/0/0
tunnel mode gre multipoint
tunnel key 18
tunnel protection ipsec profile MY_PROFILE
!
bfd-template single-hop sample
interval min-tx 1000 min-rx 1000 multiplier 3
echo
!
router eigrp 2
bfd interface Tunnel1 ------------------------> Specify the interface on which the routing
protocol must act for BFD up/down events
network [Link] [Link]
network [Link] [Link]
With the above configuration, as soon as BFD is reported down (3 seconds to detect), EIGRP will remove
the routes installed from RIB.
device#show dmvpn
Legend: Attrb --> S - Static, D - Dynamic, I - Incomplete
N - NATed, L - Local, X - No Socket
T1 - Route Installed, T2 - Nexthop-override
C - CTS Capable
# Ent --> Number of NHRP entries with same NBMA peer
NHS Status: E --> Expecting Replies, R --> Responding, W --> Waiting
UpDn Time --> Up or Down Time for a Tunnel
==========================================================================
# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb
----- --------------- --------------- ----- -------- -----
1 [Link] [Link] UP 00:00:14 D
1 [Link] [Link] BFD 00:00:03 D
BFD is a new state which implies that while the session is UP as seen by lower layers (IKE, IPSec and NHRP),
BFD sees the session as DOWN. As usual, the state is an indication of the lower most layer where the session
is not UP. Also, this applies only to the parent cache entry. This could be because it was detected as DOWN
by BFD or BFD is not configured on the other side.
The following sample output shows a summary output on spoke:
device#show dmvpn
Legend: Attrb --> S - Static, D - Dynamic, I - Incomplete
N - NATed, L - Local, X - No Socket
T1 - Route Installed, T2 - Nexthop-override
C - CTS Capable
# Ent --> Number of NHRP entries with same NBMA peer
NHS Status: E --> Expecting Replies, R --> Responding, W --> Waiting
UpDn Time --> Up or Down Time for a Tunnel
==========================================================================
# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb
----- --------------- --------------- ----- -------- -----
2 [Link] [Link] BFD 00:00:02 DT1
[Link] UP 00:00:02 DT2
1 [Link] [Link] UP 00:05:35 S
The following sample shows output for show ip/ipv6 nhrp command
device#show ip nhrp
[Link]/32 via [Link]
Tunnel2 created 00:00:15, expire 00:04:54
Type: dynamic, Flags: router nhop rib bfd
NBMA address: [Link]
[Link]/32 via [Link]
Tunnel2 created 00:09:04, never expire
Type: static, Flags: used bfd
NBMA address: [Link]
[Link]/24 via [Link]
Tunnel2 created 00:00:05, expire 00:04:54
Type: dynamic, Flags: router unique local
NBMA address: [Link]
(no-socket)
[Link]/24 via [Link]
Tunnel2 created 00:00:05, expire 00:04:54
Type: dynamic, Flags: router rib nho
BFD flag here implies that there is a BFD session for this peer. This marking is only for parent entries.
The following sample shows output for show tunnel endpoints command
For every tunnel endpoint, a new text "BFD(handle):state" is added. State here is UP(U), DOWN(D),
NONE(N) or INVALID(I).
• In case, BFD is not configured on peer or a session is not UP for the first time, then the state will be N.
The following sample shows output for show nhrp interfaces command. This shows the configuration (and
not operational) states on the interface or globally.
Tunnel1:
BFD: Disabled
Tunnel2:
BFD: Enabled
This is an internal and hidden command. This will currently display if NHRP is client of BFD and if BFD is
enabled on the NHRP interface.
Dynamic Multipoint VPN Configuration Guide Dynamic Multipoint VPN Configuration Guide
MIBs
• BFD MIB
• Tunnel MIB
• IPSec MIBs
Technical Assistance
Description Link
The Cisco Support and Documentation website [Link]
provides online resources to download documentation,
software, and tools. Use these resources to install and
configure the software and to troubleshoot and resolve
technical issues with Cisco products and technologies.
Access to most tools on the Cisco Support and
Documentation website requires a [Link] user ID
and password.
The following figure shows IWAN deployments with multiple WAN transports. This design enables
convergence across WAN transports when all channels in a given transport fail or reach their maximum
bandwidth limits.
Secondary Paths
For a single tunnel case, the routing method installs multiple paths in the RIB, one or more leaving each tunnel.
Based on the configuration, this includes some or all of the available free paths. The paths can be classified
into following classes:
• Regular next-hops/paths are the most common kind of paths. They are also referred to as primary paths;
other alternate next-hops are sometimes referred to as secondary paths.
• Repair next-hops/paths forward traffic during a routing transition and are not used as long as one or
more regular next hops are active.
• Secondary next-hops/paths are special loop free paths that is used as an alternate to regular and repair
paths.
When at least one of the primary paths are in use, the secondary paths are not used for regular forwarding.
The secondry paths should be distinguishable from other regular and alternate paths. The secondary paths can
still be overridden using next hop overrides. The routing protocol computes "n" secondary paths with the
following requirement from RIB:
• Allow the routing protocol to install the "n1" primary paths as a regular path
• Allow the routing protocol to install the "n2" secondary paths as alternate paths.
The DMVPN Multiple Tunnel Termination feature also provides transport resilience to DMVPN. Using one
tunnel per-transport provides better visibility to Performance Routing (PfR), about the conditions in the
underlying transport and still being transport independent. IWAN as a whole is transport independent along
with the services running on the overlay.
DMVPN Multiple Tunnel Termination feature brings in support for secondary paths for the supported routing
protocols in the RIB. The routing protocols are configured in such a way that there is only one primary/regular
path and one or more secondary paths for a network. When PfR is used in conjunction with this feature, PfR
is used as the primary as well the secondary path so that all paths can be used in an active-active manner. Use
the maximum-secondary-paths [eigrp | ibgp] path command to configure this feature, where the path
indicates the number of secondary paths a routing protocol is allowed to install. The range for path is from
zero to 32.
interface Tunnel 10
tunnel source GigabitEthernet0/0/0
tunnel mode gre multipoint
tunnel key 10000
tunnel vrf vrf1
tunnel protection ipsec profile profile2
no synchronization
network [Link] mask [Link]
exit-address-family
!
router bgp 1
bgp log-neighbor-changes
bgp listen range [Link]/16
peer-group SPOKES2
bgp listen range [Link]/16
peer-group SPOKES network [Link]
aggregate-address [Link] [Link] summary-only
timers bgp 10 30
neighbor SPOKES2 peer-group
neighbor SPOKES2 remote-as 1
neighbor SPOKES2 next-hop-self
maximum-secondary-paths eigrp 1
timers bgp 10 30
neighbor SPOKES peer-group
neighbor SPOKES remote-as 1
neighbor SPOKES next-hop-self
neighbor SPOKES2 peer-group
neighbor SPOKES2 remote-as 1
neighbor SPOKES2 next-hop-self
maximum-secondary-paths eigrp 1
!
The following is an example for configuring DMVPN on spoke 2.
router bgp 1
bgp log-neighbor-changes
bgp listen range [Link]/8
peer-group SPOKES2
bgp listen range [Link]/8
peer-group SPOKES
bgp additional-paths install
network [Link]
aggregate-address [Link] [Link] summary-only
timers bgp 10 30
neighbor SPOKES peer-group
neighbor SPOKES remote-as 1
neighbor SPOKES next-hop-self
neighbor SPOKES2 peer-group
neighbor SPOKES2 remote-as 1
neighbor SPOKES2 next-hop-self
maximum-secondary-paths eigrp 1
!
The following is the sample output for the show ip bgp command.
Device# show ip bgp
BGP table version is 10, local router ID is [Link]
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
t secondary path,
Origin codes: i - IGP, e - EGP, ? – incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> [Link]/16 [Link] 32768 I
s i t192.168.40.0 [Link] 0 100 0 I
s>i [Link] 0 100 0 I
s>i [Link] [Link] 0 100 0 I
s i t [Link] 0 100 0 I
s> [Link] [Link] 0 32768 I
Device#
The following is the sample output for the show ip bgp command in two different interfaces.
Device# show ip bgp [Link]
BGP routing table entry for [Link]/24, version 6
Paths: (2 available, best #2, table default, Advertisements suppressed by an aggregate.)
Not advertised to any peer
Refresh Epoch 1
Local [Link] from *[Link] ([Link])
Origin IGP, metric 0, localpref 100, valid, internal, secondary path
rx pathid: 0, tx pathid: 0
Refresh Epoch 1
Local [Link] from *[Link] ([Link])
Origin IGP, metric 0, localpref 100, valid, internal, best
rx pathid: 0, tx pathid: 0x0
The following is the sample output for the show ip route command.
Device# show ip route
Codes: L - local, 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, H - NHRP, l – LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
Gateway of last resort is not set
[Link]/8 is variably subnetted, 2 subnets, 2 masks
C [Link]/8 is directly connected, Tunnel0
L [Link]/32 is directly connected, Tunnel0
[Link]/8 is variably subnetted, 2 subnets, 2 masks
C [Link]/8 is directly connected, Tunnel1
L [Link]/32 is directly connected, Tunnel1
B [Link]/16 [200/0], 00:02:26, Null0
B [Link]/24 [200/0] via [Link], 00:02:26
B [Link]/24 [200/0] via [Link], 00:01:55
[Link]/24 is variably subnetted, 2 subnets, 2 masks
C [Link]/24 is directly connected, Ethernet1/0
L [Link]/32 is directly connected, Ethernet1/0
The following is the sample output for the show ip route command for the secondary path.
Device# show ip route
sec Codes: L - local, 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, H - NHRP, l – LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
Gateway of last resort is not set
[Link]/8 is variably subnetted, 2 subnets, 2 masks
C [Link]/8 is directly connected, Tunnel0
L [Link]/32 is directly connected, Tunnel0
[Link]/8 is variably subnetted, 2 subnets, 2 masks
C [Link]/8 is directly connected, Tunnel1
L [Link]/32 is directly connected, Tunnel1
B [Link]/16 [200/0], 00:02:26, Null0
B [Link]/24 [200/0] via [Link], 00:02:26
[SEC][200/0] via [Link], 00:02:26
B [Link]/24 [200/0] via [Link], 00:01:55
[SEC][200/0] via [Link], 00:01:55
[Link]/24 is variably subnetted, 2 subnets, 2 masks
C [Link]/24 is directly connected, Ethernet1/0
L [Link]/32 is directly connected, Ethernet1/0
The following is the sample output for the show ip cef command.
Device# show ip cef [Link] detail
[Link]/24, epoch 0, flags [rib only nolabel, rib defined all labels]
recursive via [Link]
attached to Tunnel0
The following is the sample output for the show ip route command for the secondary path.
Device# show ip route sec
Codes: L - local, 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, H - NHRP, l – LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
Gateway of last resort is not set
[Link]/8 is variably subnetted, 2 subnets, 2 masks
C [Link]/8 is directly connected, Tunnel0
L [Link]/32 is directly connected, Tunnel0
[Link]/8 is variably subnetted, 2 subnets, 2 masks
C [Link]/8 is directly connected, Tunnel1
L [Link]/32 is directly connected, Tunnel1
D [Link]/16 is a summary, 00:08:53, Null0
D [Link]/24 [90/30378666] via [Link], 00:08:45, Tunnel1
[SEC][90/31232000] via [Link], 00:08:45, Tunnel0
D [Link]/24 [90/30378666] via [Link], 00:08:34, Tunnel1
[SEC][90/31232000] via [Link], 00:08:34, Tunnel0
[Link]/24 is variably subnetted, 2 subnets, 2 masks
C [Link]/24 is directly connected, Ethernet1/0
L [Link]/32 is directly connected, Ethernet1/0
Troubleshooting
Cisco Intelligent WAN - An SD-WAN Solution Cisco Intelligent WAN - An SD-WAN Solution
MIBs