Dynamic Multipoint Virtual Private Network (DMVPN) with Enhanced Interior Gateway Routing Protocol (EIGRP) is a networking solution that combines the benefits of DMVPN and EIGRP to facilitate scalable and dynamic communication within a network. In a DMVPN EIGRP deployment, EIGRP serves as the routing protocol for exchanging routing information between DMVPN spokes and the central hub. This enables efficient and automatic establishment of tunnels between spokes in a hub-and-spoke topology. DMVPN EIGRP leverages EIGRP's features, such as low-overhead routing updates and rapid convergence, to provide optimal routing and resource utilization. This solution is particularly useful in scenarios where a large number of remote sites require secure and adaptable connectivity, making DMVPN EIGRP a robust choice for dynamic and scalable enterprise networks.
DMVPN Topology
Task 1: Configure EIGRP over DMVPN Process
Step 1: In the configuration mode of router configure EIGRP over DMVPN by following command:
R1:
router eigrp 100
network 192.168.0.0 255.255.0.0.
network 11.0.0.0 255.0.0.0
exit
R2:
router eigrp 100
network 192.168.0.0
network 22.0.0.0 255.0.0.0
exit
R3:
router eigrp 100
network 192.168.0.0
network 33.0.0.0 255.0.0.0
exit
R4:
router eigrp 100
network 192.168.0.0
network 44.0.0.0 255.0.0.0
exit
Task 2: EIGRP over DMVPN Verification
Step 1: Verify routing table and EIGRP routes entries
R2# show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
Gateway of last resort is 172.16.2.1 to network 0.0.0.0
172.16.0.0/30 is subnetted, 1 subnets
C 172.16.2.0 is directly connected, FastEthernet0/0
22.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 22.22.22.0/24 is directly connected, Loopback1
D 22.0.0.0/8 is a summary, 00:02:33, Null0
D 11.0.0.0/8 [90/27008000] via 192.168.0.1, 00:02:45, Tunnel0
C 192.168.0.0/24 is directly connected, Tunnel0
S* 0.0.0.0/0 [1/0] via 172.16.2.1
Spoke router 2 is not receiving routes from other Spoke routers. This is due to ip splithorizon enable on hub router, thus not allowing the hub to send routes via same interface
R3# show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Gateway of last resort is 172.16.3.1 to network 0.0.0.0
33.0.0.0/24 is subnetted, 1 subnets
C 33.33.33.0 is directly connected, Loopback1
172.16.0.0/30 is subnetted, 1 subnets
C 172.16.3.0 is directly connected, FastEthernet0/0
11.0.0.0/24 is subnetted, 1 subnets
D 11.11.11.0 [90/27008000] via 192.168.0.1, 00:00:10, Tunnel0
C 192.168.0.0/24 is directly connected, Tunnel0
S* 0.0.0.0/0 [1/0] via 172.16.3.1
Spoke router 3 is not receiving routes from other Spoke routers. This is due to ip splithorizon enable on hub router, thus not allowing the hub to send routes via same interface
R1:
interface tunnel 0
no ip split-horizon eigrp 100
exit
To receive routes from one Spoke router to other spoke router, disable Split Horizon by configuring following command 'no ip split-horizon eigrp 100' on Hub router
R2#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is 172.16.2.1 to network 0.0.0.0
33.0.0.0/24 is subnetted, 1 subnets
D 33.33.33.0 [90/28288000] via 192.168.0.1, 00:00:36, Tunnel0
172.16.0.0/30 is subnetted, 1 subnets
C 172.16.2.0 is directly connected, FastEthernet0/0
22.0.0.0/24 is subnetted, 1 subnets
C 22.22.22.0 is directly connected, Loopback1
11.0.0.0/24 is subnetted, 1 subnets
D 11.11.11.0 [90/27008000] via 192.168.0.1, 00:05:43, Tunnel0
C 192.168.0.0/24 is directly connected, Tunnel0
44.0.0.0/24 is subnetted, 1 subnets
D 44.44.44.0 [90/28288000] via 192.168.0.1, 00:00:36, Tunnel0
S* 0.0.0.0/0 [1/0] via 172.16.2.1
Routes learned from Hub as well as every Spoke router dynamically using EIGRP
R4#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is 172.16.4.1 to network 0.0.0.0
33.0.0.0/24 is subnetted, 1 subnets
D 33.33.33.0 [90/28288000] via 192.168.0.1, 00:28:36, Tunnel0
172.16.0.0/30 is subnetted, 1 subnets
C 172.16.4.0 is directly connected, FastEthernet0/0
22.0.0.0/24 is subnetted, 1 subnets
D 22.22.22.0 [90/28288000] via 192.168.0.1, 00:25:04, Tunnel0
11.0.0.0/24 is subnetted, 1 subnets
D 11.11.11.0 [90/27008000] via 192.168.0.1, 00:33:43, Tunnel0
C 192.168.0.0/24 is directly connected, Tunnel0
44.0.0.0/24 is subnetted, 1 subnets
C 44.44.44.0 is directly connected, Loopback1
S* 0.0.0.0/0 [1/0] via 172.16.4.1
Routes learned from Hub as well as every Spoke router dynamically using EIGRP
Step 2: Verify DMVPN Tunnel creation
R1:
R1#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
UpDn Time --> Up or Down Time for a Tunnel
=======================================================================
Interface: Tunnel0, IPv4 NHRP Details
Type:Hub, NHRP Peers:3,
# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb
----- --------------- --------------- ----- -------- -----
1 172.16.2.2 192.168.0.2 UP 00:28:47 D
1 172.16.3.2 192.168.0.3 UP 00:13:36 D
1 172.16.4.2 192.168.0.4 UP 00:16:46 D
R2#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
UpDn Time --> Up or Down Time for a Tunnel
=======================================================================
Interface: Tunnel0, IPv4 NHRP Details
Type:Spoke, NHRP Peers:1,
# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb
----- --------------- --------------- ----- -------- -----
1 172.16.1.2 192.168.0.1 UP 00:34:07 S
R4#show dmvpn
Legend: Attrb --> S - Static, D - Dynamic, I - Incomplete
N - NATed, L - Local, X - No Socket
=======================================================================
Interface: Tunnel0, IPv4 NHRP Details
Type:Spoke, NHRP Peers:1,
# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb
----- --------------- --------------- ----- -------- -----
1 172.16.1.2 192.168.0.1 UP 00:01:20 S
R4#traceroute 192.168.0.2 source loopback 1
Type escape sequence to abort.
Tracing the route to 192.168.0.2
1 192.168.0.1 396 msec 508 msec
192.168.0.2 392 msec
Spoke router R4 is able to reach R2 via Hub router. A packet destined from R4 to R2 would need to be routed through R1, to exit the R4 tunnel and the get re-encapsulated to enter the R2 tunne
R4#sh 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
UpDn Time --> Up or Down Time for a Tunnel
=======================================================================
Interface: Tunnel0, IPv4 NHRP Details
Type:Spoke, NHRP Peers:2,
# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb
----- --------------- --------------- ----- -------- -----
1 172.16.1.2 192.168.0.1 UP 00:02:12 S
1 172.16.2.2 192.168.0.2 UP 00:00:12 D
Notice that the tunnel to R4 has been flagged as dynamic, in contrast to the static tunnel to the hub/NHS.
R4#traceroute 192.168.0.2 source loopback 1
Type escape sequence to abort.
Tracing the route to 192.168.0.2
1 192.168.0.2 396 msec 508 msec
Once the dynamically tunnel is formed between spoke to spoke router, DMVPN allows to Spoke to Spoke directly communication at next hop thus bypassing the Hub router completely
R2#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
UpDn Time --> Up or Down Time for a Tunnel
=======================================================================
Interface: Tunnel0, IPv4 NHRP Details
Type:Spoke, NHRP Peers:2,
# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb
----- --------------- --------------- ----- -------- -----
1 172.16.1.2 192.168.0.1 UP 00:03:03 S
1 172.16.4.2 192.168.0.4 UP 00:00:45 D
Notice that the tunnel to R4 has been flagged as dynamic, in contrast to the static tunnel to the hub/NHS.
R2#traceroute 192.168.0.4 source loopback 1
Type escape sequence to abort.
Tracing the route to 192.168.0.4
1 192.168.0.4 396 msec 508 msec
Once the dynamically tunnel is formed between spoke to spoke router, DMVPN allows to Spoke to Spoke directly communication at next hop thus bypassing the Hub router completely