Real Network Security & Firewall Configuration Guides

DMVPN Dynamic Multipoint VPN

dmvpn configuration example

 

DMVPN (Dynamic Multipoint VPN)

DMVPN

Dynamic Multipoint Virtual Private Network (DMVPN) is a Cisco-developed solution that enables the creation of scalable and dynamic VPN architectures.t combines multiple technologies to facilitate secure and efficient communication between multiple sites without the need for extensive manual configuration. 

Introduction: Why DMVPN Matters in Modern Networks

In today’s fast-paced digital world, businesses need secure, scalable, and cost-effective networking solutions. Traditional VPNs often require complex static tunnels, making network expansion a challenge. This is where Dynamic Multipoint VPN (DMVPN) comes in!

What is DMVPN?
DMVPN (Dynamic Multipoint VPN) is a Cisco solution that enables dynamic, secure communication between remote sites without requiring static tunnels. It allows spokes to communicate directly with each other (instead of passing through a central hub), improving efficiency, reducing latency, and lowering operational costs.

Why Should You Care About DMVPN?
Reduces Manual Configuration – No need to predefine static tunnels
Enables Dynamic Spoke-to-Spoke Connectivity – Faster communication
Enhances Security – Uses IPSec encryption for safe data transfer
Optimized for Cloud & Remote Work – Perfect for distributed teams

In this guide, we’ll break down DMVPN architecture, phases, and configuration with a step-by-step tutorial to help you deploy it efficiently. Let’s dive in!

Key Components of DMVPN:

  1. Multipoint GRE (mGRE):
    • raditional GRE tunnels are point-to-point, requiring separate configurations for each connection.GRE allows a single GRE interface to support multiple destinations, enabling a hub-and-spoke topology where the hub can communicate with multiple spokes over a single interface.his setup reduces configuration complexity and enhances scalability.citeturn0search0
  2. Next Hop Resolution Protocol (NHRP):
    • HRP functions as a distributed address resolution protocol.n a DMVPN setup, the hub acts as the NHRP server, and the spokes operate as NHRP clients.poke routers register their public IP addresses with the hub.hen a spoke needs to communicate with another spoke, it queries the hub to obtain the public IP address of the target spoke, facilitating direct communication between spokes without routing traffic through the hub.citeturn0search1
  3. IPsec Encryption:
    • o ensure data security over public networks, DMVPN integrates IPsec encryption.Psec profiles are associated with mGRE interfaces, encrypting all traffic traversing the tunnels.his integration provides confidentiality, integrity, and authenticity of the data exchanged between sites.citeturn0search1 DMVPN Phases:

MVPN deployment is categorized into three phases, each offering different capabilities:

  1. Phase 1:
    • stablishes a hub-and-spoke topology where all spoke-to-spoke traffic is routed through the hub.pokes have point-to-point GRE tunnels to the hub, and direct communication between spokes is not facilitated in this phase.citeturn0search0
  2. Phase 2:
    • ntroduces direct spoke-to-spoke communication.pokes use mGRE interfaces and can dynamically establish direct tunnels with other spokes upon demand.his reduces latency and bandwidth usage on the hub.citeturn0search0
  3. Phase 3:
    • nhances scalability and flexibility by allowing spokes to establish direct tunnels based on routing information.he hub provides routing information to spokes, enabling them to determine the best path for communication and establish direct tunnels as needed.citeturn0search0 Benefits of DMVPN:

  • Scalability: implifies the addition of new sites without requiring extensive reconfiguration.- Dynamic Connectivity: nables on-demand direct communication between sites, optimizing routing paths.- Reduced Configuration Complexity: tilizes mGRE and NHRP to minimize the need for multiple static configurations.- Cost-Effective: everages existing internet infrastructure to establish secure connections, reducing the need for dedicated leased lines. n summary, DMVPN offers a flexible and efficient solution for organizations seeking to establish secure, scalable, and dynamic VPNs across multiple sites.

HQ Configuration: -

Router>enable

Router#conf t

Router(config)#hostname HQ

HQ(config)#int gig 0/0

HQ(config-if)#description HQ to ISP

HQ(config-if)#ip address dhcp

HQ(config-if)#no sh

HQ(config-if)#exit

HQ(config)#int tunnel 0

HQ(config-if)#no sh

HQ(config-if)#ip address 172.16.10.1 255.255.255.0

HQ(config-if)#no ip redirects

HQ(config-if)#ip mtu 1400

HQ(config-if)#no ip next-hop-self eigrp 1

HQ(config-if)#no ip split-horizon eigrp 1

HQ(config-if)#ip nhrp authentication cisco

HQ(config-if)#ip nhrp network-id 1

HQ(config-if)#ip nhrp map multicast dynamic

HQ(config-if)#ip tcp adjust-mss 1360

HQ(config-if)#tunnel source GigabitEthernet0/0

HQ(config-if)#tunnel mode gre multipoint

HQ(config-if)#tunnel key 123

HQ(config-if)#end

HQ#conf t

HQ(config)#router eigrp 1

HQ(config-router)#network 172.16.10.0 0.0.0.255

HQ(config-router)#exit

HQ(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.2

HQ(config)#end

 

BRANCH_A Configuration: -

Router>enable

Router#conf t

Router(config)#hostname BRANCH_A

BRANCH_A(config)#int gig 0/0

BRANCH_A(config-if)#description BRANCH_A to ISP

BRANCH_A(config-if)#ip address 20.1.1.2 255.255.255.0

BRANCH_A(config-if)#no sh

BRANCH_A(config-if)#exit

BRANCH_A(config)#int tunnel 0

BRANCH_A(config-if)#ip address 172.16.10.2 255.255.255.0

BRANCH_A(config-if)#no ip redirects

BRANCH_A(config-if)#ip mtu 1400

BRANCH_A(config-if)#ip nhrp authentication cisco

BRANCH_A(config-if)#ip nhrp map multicast 10.1.1.1

BRANCH_A(config-if)#ip nhrp map 172.16.10.1 10.1.1.1

BRANCH_A(config-if)#ip nhrp network-id 1

BRANCH_A(config-if)#ip nhrp nhs 172.16.10.1

BRANCH_A(config-if)#ip tcp adjust-mss 1460

BRANCH_A(config-if)#tunnel source GigabitEthernet0/0

BRANCH_A(config-if)#tunnel mode gre multipoint

BRANCH_A(config-if)#tunnel key 123

BRANCH_A#conf t

BRANCH_A(config)#router eigrp 1

BRANCH_A(config-router)#network 50.1.1.0 0.0.0.255

BRANCH_A(config-router)#network 172.16.10.0 0.0.0.255

BRANCH_A(config-router)#exit

BRANCH_A(config)#ip route 0.0.0.0 0.0.0.0 20.1.1.1

BRANCH_A(config)#end

BRANCH_B Configuration: -

Router>enable

Router#conf t

Router(config)#hostname BRANCH_B

BRANCH_B(config)#int gig 0/0

BRANCH_B(config-if)#description BRANCH_B to ISP

BRANCH_B(config-if)#ip address 30.1.1.2 255.255.255.0

BRANCH_B(config-if)#no sh

BRANCH_B(config-if)#exit

BRANCH_B(config)#int tunnel 0

BRANCH_B(config-if)#ip address 172.16.10.3 255.255.255.0

BRANCH_B(config-if)#no ip redirects

BRANCH_B(config-if)#ip mtu 1400

BRANCH_B(config-if)#ip nhrp authentication cisco

BRANCH_B(config-if)#ip nhrp map multicast 10.1.1.1

BRANCH_B(config-if)#ip nhrp map 172.16.10.1 10.1.1.1

BRANCH_B(config-if)#ip nhrp network-id 1

BRANCH_B(config-if)#ip nhrp nhs 172.16.10.1

BRANCH_B(config-if)#ip tcp adjust-mss 1460

BRANCH_B(config-if)#tunnel source GigabitEthernet0/0

BRANCH_B(config-if)#tunnel mode gre multipoint

BRANCH_B(config-if)#tunnel key 123

BRANCH_B#conf t

BRANCH_B(config)#router eigrp 1

BRANCH_B(config-router)#network 172.16.10.0 0.0.0.255

BRANCH_B(config-router)#exit

BRANCH_B(config)#ip route 0.0.0.0 0.0.0.0 30.1.1.1

BRANCH_B(config)#end

BRANCH_C Configuration: -

Router>enable

Router#conf t

Router(config)#hostname BRANCH_C

BRANCH_C(config)#int gig 0/0

BRANCH_C(config-if)#description BRANCH_C to ISP

BRANCH_C(config-if)#ip address 40.1.1.2 255.255.255.0

BRANCH_C(config-if)#no sh

BRANCH_C(config-if)#exit

BRANCH_C(config)#int tunnel 0

BRANCH_C(config-if)#ip address 172.16.10.4 255.255.255.0

BRANCH_C(config-if)#no ip redirects

BRANCH_C(config-if)#ip mtu 1400

BRANCH_C(config-if)#ip nhrp authentication cisco

BRANCH_C(config-if)#ip nhrp map multicast 10.1.1.1

BRANCH_C(config-if)#ip nhrp map 172.16.10.1 10.1.1.1

BRANCH_C(config-if)#ip nhrp network-id 1

BRANCH_C(config-if)#ip nhrp nhs 172.16.10.1

BRANCH_C(config-if)#ip tcp adjust-mss 1460

BRANCH_C(config-if)#tunnel source GigabitEthernet0/0

BRANCH_C(config-if)#tunnel mode gre multipoint

BRANCH_C(config-if)#tunnel key 123

BRANCH_C#conf t

BRANCH_C(config)#router eigrp 1

BRANCH_C(config-router)#network 172.16.10.0 0.0.0.255

BRANCH_C(config-router)#network 60.1.1.0 0.0.0.255

BRANCH_C(config-router)#exit

BRANCH_C(config)#ip route 0.0.0.0 0.0.0.0 40.1.1.1

BRANCH_C(config)#end

Output: -

Below shows Ping and traceroute from PC-17 to PC-16 



Below shows Ping and traceroute from PC-16 to PC-17

 


 

Below shows “sh dmvpn” verification command output of the HQ router



Below shows “sh ip nhrp” verification command output of the HQ router



DMVPN Configuration Guide (Step-by-Step)

1️⃣ Prerequisites

Before configuring DMVPN, ensure:
✅ All routers have basic IP connectivity
✅ The hub and spokes use NHRP (Next Hop Resolution Protocol)
IPSec protection is enabled for security


2️⃣ DMVPN Topology Overview

  • Hub Router – Central control point for all spokes
  • Spoke Routers – Establish dynamic VPN tunnels as needed
  • Tunneling ProtocolGRE (Generic Routing Encapsulation) over IPSec

📌 Example Scenario:

  • Hub Router192.168.1.1
  • Spoke 1192.168.2.1
  • Spoke 2192.168.3.1

3️⃣ DMVPN Configuration on the Hub Router

Step 1: Configure the Tunnel Interface

interface Tunnel0
 ip address 10.1.1.1 255.255.255.0
 no ip split-horizon eigrp 100
 ip nhrp authentication DMVPNKEY
 ip nhrp map multicast dynamic
 ip nhrp network-id 1
 tunnel source GigabitEthernet0/0
 tunnel mode gre multipoint
 tunnel protection ipsec profile DMVPN-PROFILE

📌 Key Points:

  • ip nhrp network-id 1 → Unique ID for NHRP
  • tunnel mode gre multipoint → Enables DMVPN Phase 2 or 3
  • tunnel protection ipsec profile DMVPN-PROFILE → Enables IPSec security

4️⃣ DMVPN Configuration on Spoke Routers

Step 2: Configure Tunnel Interface on Spokes

interface Tunnel0
 ip address 10.1.1.2 255.255.255.0
 ip nhrp authentication DMVPNKEY
 ip nhrp map 10.1.1.1 192.168.1.1
 ip nhrp map multicast 192.168.1.1
 ip nhrp nhs 10.1.1.1
 ip nhrp network-id 1
 tunnel source GigabitEthernet0/1
 tunnel mode gre multipoint
 tunnel protection ipsec profile DMVPN-PROFILE

📌 Key Points:

  • ip nhrp map 10.1.1.1 192.168.1.1 → Maps Hub IP
  • ip nhrp nhs 10.1.1.1 → Hub acts as Next-Hop Server
  • tunnel protection ipsec profile DMVPN-PROFILE → Enables IPSec

5️⃣ Configuring EIGRP for Dynamic Routing

Step 3: Enable EIGRP on Hub

router eigrp 100
 network 10.1.1.0 0.0.0.255
 no auto-summary

Step 4: Enable EIGRP on Spokes

router eigrp 100
 network 10.1.1.0 0.0.0.255
 no auto-summary

📌 Key Points:

  • Enables dynamic routing between Hub and Spokes
  • Works better than static routing for scalability

6️⃣ IPSec Configuration for Security

Step 5: Define IPSec Profile

crypto isakmp policy 10
 encr aes 256
 authentication pre-share
 group 5
!
crypto isakmp key DMVPNKEY address 0.0.0.0
!
crypto ipsec transform-set DMVPN-SET esp-aes 256 esp-sha-hmac
!
crypto ipsec profile DMVPN-PROFILE
 set transform-set DMVPN-SET

📌 Key Points:

  • Uses AES-256 encryption for security
  • Defines IPSec profile to protect DMVPN tunnels

7️⃣ Verification & Testing

Step 6: Verify DMVPN Status

Run the following command on the Hub Router:

show dmvpn

✅ If working, it should display active spoke connections

Step 7: Test Connectivity

From Spoke 1, ping Spoke 2:

ping 10.1.1.3

✅ If successful, DMVPN is fully operational! 🚀


🔥 Final Thoughts

🔹 Scalability – DMVPN supports hundreds of spokes dynamically
🔹 SecurityIPSec ensures end-to-end encryption
🔹 EfficiencyGRE tunnels optimize traffic for direct spoke-to-spoke communication


 

NextGen Digital... Welcome to WhatsApp chat
Howdy! How can we help you today?
Type here...