Introduction Of MPLS

Introduction Of MPLS
MPLS defines protocol that make different paradigm for a way routers forward packets. rather than forwarding packets based on the packets destination IP address, MPLS defines how router can forward packets based on MPLS label.

What Is OSPF Sham Links? How To Configure OSPF Sham Links?

What Is OSPF Sham Links? How To Configure OSPF Sham Links?
OSPF Sham links is a logical inter-area link carried by the super backbone. A Sham links is required only between two VPN sites that belong to the same area and have a backdoor link for backup purposes. OSPF adjacency is established across the sham link.

How To Configure MPLS L3 With BGP AS OVERRIDE?

How To Configure MPLS L3 With BGP AS OVERRIDE?
BGP has a simple loop prevention mechanism for external BGP. When you see your own Autonomous system number in the AS path, we do not accept the prefix. This mechanism is fine for Internet routing but there are some other scenarios where this might be an issue

What Is MPLS L3 VPN ? How To Configure?

What Is MPLS L3 VPN ? How To Configure?
In MPLS Layer 3 the service provider will participate in routing with the customers. The customers will run static, OSPF, EIGRP, BGP or any other routing protocol with the service provider; these routes can be shared with other sites of the customers. In VPN routing information from one customer is completely separated from other customers and tunneled over the service provider MPLS network.

Latest Posts

How to configure EIGRP and OSPF over DMVPN Phase 1 & 2?

Internetworks


As we already discuss Phase 1 is Not used nowadays, In phase 1 we use NHRP so that spokes can register themselves with the hub (NHRP needed for spokes to register with hub). The hub is the only router that is using a multipoint GRE (mGRE) interface, all spokes will be using regular point-to-point GRE tunnel interfaces. No spokes hub and spokes topology were dynamic IP addresses on the spokes may be used. All your traffic goes through the hub. This means that there will be no direct spoke-to-spoke communication; all traffic has to go through the hub.

Before we start our configuration of EIGRP and OSPF over DMVPN, we need to understand few things about EIGRP and OSPF.

The IP NHRP map multicast dynamic enables the forwarding of multicast traffic across the tunnel to dynamic spokes. This is usually required by the routing protocol as OSPF and EIGRP. In most cases, DMVPN is accompanied by a routing protocol to send and receive dynamic updates about the private networks. The IP NHRP map multicast dynamic command is not required if we are using static NHRP mappings.

EIGRP routers will not be advertising back on the same interface because of the split horizon rules the split-horizon rule prohibits a router from advertising a route through an interface that the router itself uses to reach the destination. To disable the split-horizon behavior, use the { NO IP SPLIT-HORIZON EIGRP AS-number interfaces command. Split horizon behavior is turned on by default. When you change the EIGRP split-horizon setting on an interface, it reset all adjacencies with EIGRP neighbors reachable over that interface. The split horizon should only be disabled on the hub site in a hub and spoke network.

Disabling split-horizon on the spokes radically increases EIGRP memory consumption on the hub router and the amount of traffic generated on the spoke routers.

By default, OSPF handles tunnel interface as a point-to-point interface no matter even if you configure multipoint GRE.  we will get neighbourship goes down messages repeatedly. to over this issue, we need to change the default setting we will see in this OSPF LAB.


Let see the configuration-_

Topology:-



What is DMVPN (Dynamic Multipoint VPN) Phase 2? How to configure DMVPN phase 2 Dynamic and Static Mapping?

Internetworks


DMVPN (Dynamic Multipoint VPN) Introduced by Cisco in late 2000 is a routing technology you can use to build a VPN network with multiple sites (spokes) without having to statically configure all devices. It’s a “hub and spoke” network, where the spokes will, can to communicate with each other directly without having to go through the hub. Encryption is supported through IPsec which makes DMVPN a popular choice for connecting different sites using regular Internet connections. It’s a great backup or alternative to private networks like MPLS VPN.

As we already discuss Phase 1 is Not used nowadays, In phase 1 we use NHRP so that spokes can register themselves with the hub (NHRP needed for spokes to register with hub). The hub is the only router that is using a multipoint GRE (mGRE) interface, all spokes will be using regular point-to-point GRE tunnel interfaces. No spokes hub and spokes topology were dynamic IP addresses on the spokes may be used. All your traffic goes through the hub. This means that there will be no direct spoke-to-spoke communication; all traffic has to go through the hub.

So our traffic has to go through the hub, our routing configuration will be quite simple. Spoke routers only need a summary or default route to the hub to reach other spoke routers.




In DMVPN Phase 2 hub and spokes are configured as multipoint GRE and spoke to spokes tunnels are create, NHRP required for spokes to register to Hub and NHRP also required for spoke to spoke resolution.

let's see the configuration:-

Topology:-





Goal:

  • configure the topology as per the diagram 
  • assign the IP addresses to their port as per the topology 
  • configure static routing on router 2 
  • configure default routing on router 1 3 4
  • configure DMVPN Phase 2 on router 1, 3 and 4
  • configure router 1 Hub and  router 3 and 4 should be spokes routers
  • configure tunnel interfaces 192.168.10.0/24
  • configure NHRP using Stating mapping.

 

R1(config)#interface serial 4/0

R1(config-if)#ip address 1.1.1.1 255.0.0.0

R1(config-if)#no shutdown

R1(config-if)#ip address 10.1.1.1 255.0.0.0

R1(config-if)#no shutdown

R1(config-if)#no keepalive

R1(config-if)#exit

 

R2(config)#interface serial 4/0

R2(config-if)#ip address 1.1.1.2 255.0.0.0

R2(config-if)#no shutdown

R2(config-if)#interface serial 4/1

R2(config-if)#ip address 3.3.3.1 255.0.0.0

R2(config-if)#no shutdown

R2(config-if)#interface serial 4/2

R2(config-if)#ip address 4.4.4.1 255.0.0.0

R2(config-if)#no shutdown

R2(config-if)#interface fastethernet 0/0

R2(config-if)#ip address 20.1.1.1 255.0.0.0

R2(config-if)#no shutdown

R2(config-if)#no keepalive

R2(config-if)#exit

 

R3(config)#interface serial 4/1

R3(config-if)#ip address 3.3.3.2 255.0.0.0

R3(config-if)#no shutdown

R3(config-if)#interface fastethernet 0/0

R3(config-if)#ip address 30.1.1.1 255.0.0.0

R3(config-if)#no shutdown

R3(config-if)#no keepalive

R3(config-if)#exit

 

 

R4(config)#interface serial 4/2

R4(config-if)#ip address 4.4.4.2 255.0.0.0

R4(config-if)#no shutdown

R4(config-if)#interface fastethernet 0/0

R4(config-if)#ip address 40.1.1.1 255.0.0.0

R4(config-if)#no shutdown

R4(config-if)#no keepalive

R4(config-if)#exit

 



R1#show ip interface brief

Interface              IP-Address      OK? Method Status                Protocol

FastEthernet0/0        10.1.1.1        YES manual up                    up

Serial4/0                    1.1.1.1         YES manual up                    up

 

R2#show ip interface brief

Interface              IP-Address      OK? Method Status                Protocol

FastEthernet0/0        20.1.1.1        YES manual up                    up

Serial4/0              1.1.1.2         YES manual up                    up

Serial4/1              3.3.3.1         YES manual up                    up

Serial4/2              4.4.4.1         YES manual up                    up

 

R3#show ip interface brief

Interface              IP-Address      OK? Method Status                Protocol

FastEthernet0/0        30.1.1.1        YES manual up                    up

Serial4/1                     3.3.3.2         YES manual up                    up

 

R4#show ip interface brief

Interface              IP-Address      OK? Method Status                Protocol

FastEthernet0/0        40.1.1.1        YES manual up                    up

Serial4/2                    4.4.4.2         YES manual up                    up



 

R1(config)#ip route 0.0.0.0 0.0.0.0 serial 4/0

R1(config)#exit

R2(config)#ip route 1.0.0.0 255.0.0.0 serial 4/0

R2(config)#ip route 10.0.0.0 255.0.0.0 serial 4/0

R2(config)#ip route 30.0.0.0 255.0.0.0 serial 4/1

R2(config)#ip route 3.0.0.0 255.0.0.0 serial 4/1

R2(config)#ip route 4.0.0.0 255.0.0.0 serial 4/2

R2(config)#ip route 40.0.0.0 255.0.0.0 serial 4/2

R2(config)#exit

 

R3(config)#ip route 0.0.0.0 0.0.0.0 serial 4/1

R3(config)#exit

 

R4(config)#ip route 0.0.0.0 0.0.0.0 serial 4/2

R4(config)#exit

 

 

R1#show ip route static

Gateway of last resort is 0.0.0.0 to network 0.0.0.0

S*    0.0.0.0/0 is directly connected, Serial4/0

R2#show ip route static

Gateway of last resort is not set

 

S     10.0.0.0/8 is directly connected, Serial4/0

S     30.0.0.0/8 is directly connected, Serial4/1

S     40.0.0.0/8 is directly connected, Serial4/2



 

R3#show ip route static

 

Gateway of last resort is 0.0.0.0 to network 0.0.0.0

 

S*    0.0.0.0/0 is directly connected, Serial4/1

 

 

R4#show ip route static

 

Gateway of last resort is 0.0.0.0 to network 0.0.0.0

 

S*    0.0.0.0/0 is directly connected, Serial4/2

 

R1(config)#interface tunnel 1023

R1(config-if)#ip address 192.168.10.1 255.255.255.0

R1(config-if)#tunnel source 1.1.1.1

R1(config-if)#tunnel mode gre multipoint

R1(config-if)#IP NHRP network-id 1

R1(config-if)#IP NHRP map 192.168.10.2 3.3.3.2

R1(config-if)#IP NHRP map 192.168.10.3 4.4.4.2

R1(config-if)#exit



R3(config)#interface tunnel 1023

R3(config-if)#ip address 192.168.10.2 255.255.255.0

R3(config-if)#tunnel source 3.3.3.2

R3(config-if)#tunnel mode gre multipoint

R3(config-if)#IP NHRP network-id 3

R3(config-if)#IP NHRP map 192.168.10.1 1.1.1.1

R3(config-if)#IP NHRP map 192.168.10.3 4.4.4.2

R3(config-if)#exit



R4(config)#interface tunnel 1023

R4(config-if)#ip address 192.168.10.3 255.255.255.0

R4(config-if)#tunnel source 4.4.4.2

R4(config-if)#tunnel mode gre multipoint

R4(config-if)#IP NHRP network-id 3

R4(config-if)#IP NHRP map 192.168.10.1 1.1.1.1

R4(config-if)#IP NHRP map 192.168.10.2 3.3.3.2

R4(config-if)#exit

R1#show ip interface brief tunnel 1023

Interface              IP-Address      OK? Method Status                Protocol

Tunnel1023             192.168.10.1    YES manual up                    up




R1#show ip nhrp

192.168.10.2/32 via 192.168.10.2

   Tunnel1023 created 00:40:57, never expire

   Type: static, Flags: used

   NBMA address: 3.3.3.2

192.168.10.3/32 via 192.168.10.3

   Tunnel1023 created 00:40:38, never expire

   Type: static, Flags:

   NBMA address: 4.4.4.2

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, W --> Waiting

        UpDn Time --> Up or Down Time for a Tunnel

==========================================================================


Interface: Tunnel1023, IPv4 NHRP Details

Type:Spoke, NHRP Peers:2,


 # Ent  Peer NBMA Addr Peer Tunnel Add State  UpDn Tm Attrb

 ----- --------------- --------------- ----- -------- -----

     1 3.3.3.2            192.168.10.2  NHRP    never     S

     1 4.4.4.2            192.168.10.3  NHRP    never     S



R3#show ip interface brief tunnel 1023
Interface              IP-Address      OK? Method Status                Protocol
Tunnel1023             192.168.10.2    YES manual up                    up
R3#show ip nhrp
192.168.10.1/32 via 192.168.10.1
   Tunnel1023 created 00:39:56, never expire
   Type: static, Flags: used
   NBMA address: 1.1.1.1
192.168.10.3/32 via 192.168.10.3
   Tunnel1023 created 00:39:25, never expire
   Type: static, Flags: used
   NBMA address: 4.4.4.2
R3#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: Tunnel1023, IPv4 NHRP Details
Type:Spoke, NHRP Peers:2,
 # Ent  Peer NBMA Addr Peer Tunnel Add State  UpDn Tm Attrb
 ----- --------------- --------------- ----- -------- -----
     1 1.1.1.1            192.168.10.1  NHRP    never     S
     1 4.4.4.2            192.168.10.3  NHRP    never     S



R4#show ip interface brief tunnel 1023
Interface              IP-Address      OK? Method Status                Protocol
Tunnel1023             192.168.10.3    YES manual up                    up
R4#show ip nhrp
192.168.10.1/32 via 192.168.10.1
   Tunnel1023 created 00:36:25, never expire
   Type: static, Flags: used
   NBMA address: 1.1.1.1
192.168.10.2/32 via 192.168.10.2
   Tunnel1023 created 00:36:16, never expire
   Type: static, Flags: used
   NBMA address: 3.3.3.2
R4#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: Tunnel1023, IPv4 NHRP Details
Type:Spoke, NHRP Peers:2,

 # Ent  Peer NBMA Addr Peer Tunnel Add State  UpDn Tm Attrb
 ----- --------------- --------------- ----- -------- -----
     1 1.1.1.1            192.168.10.1  NHRP    never     S
     1 3.3.3.2            192.168.10.2  NHRP    never     S


( let see spokes router can get each other or not without using a hub)


R1#ping 192.168.10.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/71/256 ms

R1#ping 192.168.10.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/43/116 ms

 
R1#traceroute 30.1.1.1
Type escape sequence to abort.
Tracing the route to 30.1.1.1
VRF info: (vrf in name/id, vrf out name/id)
  1 1.1.1.2 236 msec 28 msec 16 msec
  2 3.3.3.2 112 msec 16 msec 16 msec

R1#traceroute 192.168.10.2
Type escape sequence to abort.
Tracing the route to 192.168.10.2
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.10.2 32 msec 28 msec 28 msec

R1#traceroute 192.168.10.3
Type escape sequence to abort.
Tracing the route to 192.168.10.3
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.10.3 20 msec 40 msec 36 msec

R3#ping 192.168.10.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 60/83/100 ms
R3#ping 192.168.10.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 24/27/32 ms

R3#traceroute 40.1.1.1
Type escape sequence to abort.
Tracing the route to 40.1.1.1
VRF info: (vrf in name/id, vrf out name/id)
  1 3.3.3.1 64 msec 24 msec 8 msec
  2 4.4.4.2 12 msec 28 msec 16 msec

R3#traceroute 192.168.10.1
Type escape sequence to abort.
Tracing the route to 192.168.10.1
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.10.1 64 msec 20 msec 28 msec


( here is the screenshot of the previous lab DMVPN PHASE 1)





R3#traceroute 192.168.10.3
Type escape sequence to abort.
Tracing the route to 192.168.10.3
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.10.3 12 msec 52 msec 44 msec

R3#traceroute 40.1.1.1
Type escape sequence to abort.
Tracing the route to 40.1.1.1
VRF info: (vrf in name/id, vrf out name/id)
  1 3.3.3.1 4 msec 28 msec 20 msec
  2 4.4.4.2 8 msec 32 msec 16 msec

R4#ping 10.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/40/84 ms

R4#ping 192.168.10.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/27/32 ms

R4#ping 192.168.10.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/29/48 ms

R4#traceroute 192.168.10.1
Type escape sequence to abort.
Tracing the route to 192.168.10.1
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.10.1 60 msec 40 msec 24 msec

R4#traceroute 192.168.10.2
Type escape sequence to abort.
Tracing the route to 192.168.10.2
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.10.2 12 msec 48 msec 44 msec

R4#traceroute 10.1.1.1
Type escape sequence to abort.
Tracing the route to 10.1.1.1
VRF info: (vrf in name/id, vrf out name/id)
  1 4.4.4.1 16 msec 16 msec 8 msec
  2 1.1.1.1 16 msec 32 msec 20 msec

(Let's see how to configure dynamic mappings )


We are modifying our previous static lab into dynamic. we are going to reconfigure our tunnel 1023 and DMVPN.




R1(config)# NO INTERFACE TUNNEL 1023

R1(config)#interface tunnel 400
R1(config-if)#ip address 192.168.100.1 255.255.255.0
R1(config-if)#tunnel source 1.1.1.1
R1(config-if)#tunnel mode gre multipoint
R1(config-if)#ip nhrp network-id 10
R1(config-if)#exit


R3(config)#NO INTERFACE TUNNEL 1023
R3(config)#interface tunnel 400
R3(config-if)#ip address 192.168.100.2 255.255.255.0
R3(config-if)#tunnel source 3.3.3.2
R3(config-if)#tunnel mode gre multipoint
R3(config-if)#ip nhrp network-id 20
R3(config-if)#ip nhrp map 192.168.100.1 1.1.1.1
R3(config-if)#ip nhrp nhs 192.168.100.1
R3(config-if)#exit

R4(config)#NO INTERFACE TUNNEL 1023
R4(config)#interface tunnel 400
R4(config-if)#ip address 192.168.100.3 255.255.255.0
R4(config-if)#tunnel source 4.4.4.2
R4(config-if)#tunnel mode gre multipoint
R4(config-if)#ip nhrp network-id 30
R4(config-if)# ip nhrp map 192.168.100.1 1.1.1.1
R4(config-if)#ip nhrp nhs 192.168.100.1
R4(config-if)#exit

R1#show ip nhrp
192.168.100.2/32 via 192.168.100.2
   Tunnel400 created 00:05:28, expire 01:54:31
   Type: dynamic, Flags: unique registered used
   NBMA address: 3.3.3.2
192.168.100.3/32 via 192.168.100.3
   Tunnel400 created 00:01:14, expire 01:58:45
   Type: dynamic, Flags: unique registered used
   NBMA address: 4.4.4.2

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, W --> Waiting
        UpDn Time --> Up or Down Time for a Tunnel
==========================================================================

Interface: Tunnel400, IPv4 NHRP Details
Type:Hub, NHRP Peers:2,

 # Ent  Peer NBMA Addr Peer Tunnel Add State  UpDn Tm Attrb
 ----- --------------- --------------- ----- -------- -----
     1 3.3.3.2           192.168.100.2    UP 00:17:10     D
     1 4.4.4.2           192.168.100.3    UP 00:12:56     D


R1#traceroute 192.168.100.2
Type escape sequence to abort.
Tracing the route to 192.168.100.2
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.100.2 48 msec 48 msec 24 msec

R1#traceroute 192.168.100.3
Type escape sequence to abort.
Tracing the route to 192.168.100.3
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.100.3 72 msec 28 msec 40 msec

R3#show ip nhrp
192.168.100.1/32 via 192.168.100.1
   Tunnel400 created 00:06:05, never expire
   Type: static, Flags: used
   NBMA address: 1.1.1.1
R3#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: Tunnel400, IPv4 NHRP Details
Type:Spoke, NHRP Peers:1,

 # Ent  Peer NBMA Addr Peer Tunnel Add State  UpDn Tm Attrb
 ----- --------------- --------------- ----- -------- -----
     1 1.1.1.1           192.168.100.1    UP 00:06:15     S

R3#traceroute 192.168.100.1
Type escape sequence to abort.
Tracing the route to 192.168.100.1
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.100.1 80 msec 36 msec 32 msec

R3#traceroute 192.168.100.3
Type escape sequence to abort.
Tracing the route to 192.168.100.3
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.100.1 80 msec 52 msec 16 msec
  2 192.168.100.3 120 msec 20 msec 40 msec

R3#traceroute 192.168.100.3
Type escape sequence to abort.
Tracing the route to 192.168.100.3
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.100.3 64 msec 88 msec 28 msec

R3#traceroute 192.168.100.3
Type escape sequence to abort.
Tracing the route to 192.168.100.3
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.100.3 28 msec 16 msec 40 msec



R4#show ip nhrp
192.168.100.1/32 via 192.168.100.1
   Tunnel400 created 00:01:37, never expire
   Type: static, Flags: used
   NBMA address: 1.1.1.1

R4#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: Tunnel400, IPv4 NHRP Details
Type:Spoke, NHRP Peers:1,

 # Ent  Peer NBMA Addr Peer Tunnel Add State  UpDn Tm Attrb
 ----- --------------- --------------- ----- -------- -----
     1 1.1.1.1           192.168.100.1    UP 00:02:08     S


 
R4#traceroute 192.168.100.1
Type escape sequence to abort.
Tracing the route to 192.168.100.1
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.100.1 24 msec 48 msec 44 msec

R4#traceroute 192.168.100.2
Type escape sequence to abort.
Tracing the route to 192.168.100.2
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.100.2 28 msec 32 msec 36 msec




What is DMVPN (Dynamic Multipoint VPN), NHRP, mGRE and How to configure DMVPN Phase 1?

Internetworks

 

 DMVPN (Dynamic Multipoint VPN) Introduced by Cisco in late 2000 is a routing technology you can use to build a VPN network with multiple sites (spokes) without having to statically configure all devices. It’s a “hub and spoke” network, where the spokes will, can to communicate with each other directly without having to go through the hub. Encryption is supported through IPsec which makes DMVPN a popular choice for connecting different sites using regular Internet connections. It’s a great backup or alternative to private networks like MPLS VPN.










 

This technology has been developed to address the needs for automatically created VPN tunnels when dynamic IP addresses on the spokes are in use. This pure hub-and-spoke topology where all branches may communicate with each other securely through the hub.

There are four topics you need to know.

Multipoint GRE (mGRE)

NHRP (Next Hop Resolution Protocol)

Routing (RIP, EIGRP, OSPF, BGP, etc.)

IPsec (not required but recommended)


 

Multipoint GRE (mGRE)

Our regular GRE tunnels are point-to-point and don’t scale well. It becomes messy quickly so much point to point tunnels. but When we use GRE Multipoint, there will be only one tunnel interface on each router. mGRE interfaces do not have a tunnel destination. its keeping cost low, minimizing configuration complexity, and increasing flexibility. Multipoint GRE(Mgre) Uses tunnel source and tunnel mode (mgre). the Tunnel can have many endpoints by using a single tunnel interface. The endpoint can be configured as GRE or MGRE and Mapping is done by NHRP Protocol.


NHRP (Next Hop Resolution Protocol)

We want something which can help us our router to figure out what the public IP address is of the other router, we do this with the help of a protocol called NHRP (Next Hop Resolution Protocol). Next hop resolution protocol (NHRP)  Maps the tunnel IP with NBMA address (public IP ) (static or dynamic). NHRP Provides layer 2 address resolution protocol and caching services similar to ARP and inverse ARP. All it does is building a dynamic database store on the hub with information about spokes IP addresses.

How NHRP works:

  • One router will be the NHRP server next-hop server (NHS).
  • All other routers will be the NHRP client's next-hop client (NHC).
  • NHRP clients register themselves with the NHRP server and report their public IP address NHC send a query to the NHS if they want to communicate with another NHC.
  • The NHRP server keeps track of all public IP addresses in its cache, NHS acts as a mapping agent and stores all registered mappings NHS reply to queries made by NHC.
  • When one router wants to tunnel something to another router, it will request the NHRP server for the public IP address of the other router.

 

DMVPN has different three versions. we call phases.

Phase 1

Phase 2

Phase 3

 

DMVPN phase 1

Phase 1

before we started I want to let you know Phase 1 is  Not used nowadays, In phase 1 we use NHRP so that spokes can register themselves with the hub (NHRP  needed for spokes to register with hub). The hub is the only router that is using a multipoint GRE (mGRE) interface, all spokes will be using regular point-to-point GRE tunnel interfaces.No spokes hub and spokes topology were dynamic IP address on the spokes may be used. All your traffic goes through the hub. This means that there will be no direct spoke-to-spoke communication; all traffic has to go through the hub.

So our traffic has to go through the hub, our routing configuration will be quite simple. Spoke routers only need a summary or default route to the hub to reach other spoke routers.

DMVPN Phase 2 and 3 we will talk about in the next chapter.

let see the configuration:

Topology:




Goal:
  • configure the topology as per the diagram 
  • assign the IP addresses to their port as per the topology 
  • configure static routing on router 2 
  • configure default routing on router 1 3 4
  • configure DMVPN Phase 1 on router 1, 3 and 4
  • configure router 1 Hub and  router 3 and 4 should be spokes routers
  • configure tunnel interfaces 192.168.1.0/24
  • configure NHRP using Stating mapping.




R1(config)#interface serial 4/0

R1(config-if)#ip address 1.1.1.1 255.0.0.0

R1(config-if)#no shutdown

R1(config-if)#ip address 10.1.1.1 255.0.0.0

R1(config-if)#no shutdown

R1(config-if)#no keepalive

R1(config-if)#exit


R2(config)#interface serial 4/0

R2(config-if)#ip address 1.1.1.2 255.0.0.0

R2(config-if)#no shutdown

R2(config-if)#interface serial 4/1

R2(config-if)#ip address 3.3.3.1 255.0.0.0

R2(config-if)#no shutdown

R2(config-if)#interface serial 4/2

R2(config-if)#ip address 4.4.4.1 255.0.0.0

R2(config-if)#no shutdown

R2(config-if)#interface fastethernet 0/0

R2(config-if)#ip address 20.1.1.1 255.0.0.0

R2(config-if)#no shutdown

R2(config-if)#no keepalive

R2(config-if)#exit


R3(config)#interface serial 4/1
R3(config-if)#ip address 3.3.3.2 255.0.0.0
R3(config-if)#no shutdown
R3(config-if)#interface fastethernet 0/0
R3(config-if)#ip address 30.1.1.1 255.0.0.0
R3(config-if)#no shutdown
R3(config-if)#no keepalive
R3(config-if)#exit


R4(config)#interface serial 4/2
R4(config-if)#ip address 4.4.4.2 255.0.0.0
R4(config-if)#no shutdown
R4(config-if)#interface fastethernet 0/0
R4(config-if)#ip address 40.1.1.1 255.0.0.0
R4(config-if)#no shutdown
R4(config-if)#no keepalive
R4(config-if)#exit


R1#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
FastEthernet0/0        10.1.1.1        YES manual up                    up
Serial4/0                    1.1.1.1         YES manual up                    up

R2#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
FastEthernet0/0        20.1.1.1        YES manual up                    up
Serial4/0              1.1.1.2         YES manual up                    up
Serial4/1              3.3.3.1         YES manual up                    up
Serial4/2              4.4.4.1         YES manual up                    up

R3#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
FastEthernet0/0        30.1.1.1        YES manual up                    up
Serial4/1                     3.3.3.2         YES manual up                    up

R4#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
FastEthernet0/0        40.1.1.1        YES manual up                    up
Serial4/2                    4.4.4.2         YES manual up                    up


R1(config)#ip route 0.0.0.0 0.0.0.0 serial 4/0

R1(config)#exit

R2(config)#ip route 1.0.0.0 255.0.0.0 serial 4/0

R2(config)#ip route 10.0.0.0 255.0.0.0 serial 4/0

R2(config)#ip route 30.0.0.0 255.0.0.0 serial 4/1
R2(config)#ip route 3.0.0.0 255.0.0.0 serial 4/1
R2(config)#ip route 4.0.0.0 255.0.0.0 serial 4/2
R2(config)#ip route 40.0.0.0 255.0.0.0 serial 4/2
R2(config)#exit

R3(config)#ip route 0.0.0.0 0.0.0.0 serial 4/1
R3(config)#exit

R4(config)#ip route 0.0.0.0 0.0.0.0 serial 4/2
R4(config)#exit


R1#show ip route static

Gateway of last resort is 0.0.0.0 to network 0.0.0.0

S*    0.0.0.0/0 is directly connected, Serial4/0

R2#show ip route static
Gateway of last resort is not set

S     10.0.0.0/8 is directly connected, Serial4/0
S     30.0.0.0/8 is directly connected, Serial4/1
S     40.0.0.0/8 is directly connected, Serial4/2

 

R3#show ip route static

Gateway of last resort is 0.0.0.0 to network 0.0.0.0

S*    0.0.0.0/0 is directly connected, Serial4/1


R4#show ip route static

Gateway of last resort is 0.0.0.0 to network 0.0.0.0

S*    0.0.0.0/0 is directly connected, Serial4/2

R1(config)#interface tunnel 999
R1(config-if)#ip address 192.168.1.1 255.255.255.0
R1(config-if)#tunnel source 1.1.1.1
R1(config-if)#tunnel mode GRE multipoint

R1(config-if)#ip NHRP network-id 01
R1(config-if)#ip NHRP map 192.168.1.2 3.3.3.2
R1(config-if)#ip NHRP map 192.168.1.3 4.4.4.2
R1(config-if)#exit

R3(config)#interface tunnel 999
R3(config-if)#ip address 192.168.1.2 255.255.255.0
R3(config-if)#tunnel source 3.3.3.2
R3(config-if)#tunnel destination 1.1.1.1

R3(config-if)#ip NHRP network-id 02
R3(config-if)#ip NHRP map 192.168.1.1 1.1.1.1
R3(config-if)#exit


R4(config)#interface tunnel 999
R4(config-if)#ip address 192.168.1.3 255.255.255.0
R4(config-if)#tunnel source 4.4.4.2
R4(config-if)#tunnel destination 1.1.1.1

R4(config-if)#ip NHRP network-id 03
R4(config-if)#ip NHRP map 192.168.1.1 1.1.1.1
R4(config-if)#exit
R4(config)#end

R1#show ip nhrp
192.168.1.2/32 via 192.168.1.2
   Tunnel999 created 00:44:20, never expire
   Type: static, Flags: used
   NBMA address: 3.3.3.2
192.168.1.3/32 via 192.168.1.3
   Tunnel999 created 00:44:04, never expire
   Type: static, Flags: used
   NBMA address: 4.4.4.2

R3#show ip NHRP
192.168.1.1/32 via 192.168.1.1
   Tunnel999 created 00:29:11, never expire
   Type: static, Flags:
   NBMA address: 1.1.1.1


R4#show ip NHRP
192.168.1.1/32 via 192.168.1.1
   Tunnel999 created 00:23:36, never expire
   Type: static, Flags:
   NBMA address: 1.1.1.1


 
R4#traceroute 192.168.1.1
Type escape sequence to abort.
Tracing the route to 192.168.1.1
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.1.1 1616 msec 92 msec 36 msec

R4#traceroute 192.168.1.2
Type escape sequence to abort.
Tracing the route to 192.168.1.2
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.1.1 12 msec 48 msec 40 msec
  2 192.168.1.2 700 msec 328 msec 84 msec

R3#traceroute 192.168.1.1
Type escape sequence to abort.
Tracing the route to 192.168.1.1
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.1.1 80 msec 72 msec 72 msec


R3#traceroute 192.168.1.3
Type escape sequence to abort.
Tracing the route to 192.168.1.3
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.1.1 72 msec 56 msec 96 msec
  2 192.168.1.3 240 msec 188 msec 188 msec

R1#traceroute 192.168.1.2
Type escape sequence to abort.
Tracing the route to 192.168.1.2
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.1.2 8 msec 72 msec 96 msec

R1#traceroute 192.168.1.3
Type escape sequence to abort.
Tracing the route to 192.168.1.3
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.1.3 72 msec 100 msec 100 msec



What is Network Tunneling and how to configure Generic Routing Encapsulation (GRE) Tunnels?

Internetworks

Generic Routing Encapsulation (GRE) is a network tunneling protocol developed by Cisco Systems that can encapsulate a wide variety of network layer protocols inside virtual point-to-point links or point-to-multipoint links over an Internet Protocol network.


When we use GRE? 

GRE is used when packets need to be sent from one network to another over the internet.

Generic Routing Encapsulation (GRE) have some disadvantages:-

GRE tunnel is an encapsulation protocol and does not perform any encryption.

When we create GRE point to point tunnel without any encryption is extremely risky as sensitive data can easily be extracting from the tunnel and misused by others.( That’s the reason we used IPSec to add an encryption layer and secure the GRE tunnel with the help of IPSec we get army level encryption).  

 Classic GRE tunnel is point to point, Manual tunnel, Not scalable, Static IP on all end points

GRE tunnel uses a ‘tunnel’ interfaces a logical interfaces configured on the router with an IP address where packets are encapsulate and decapsulate as they enter or exit the GRE tunnel.

All tunnel interfaces of participated routers must always be configured with an IP address which is not used anywhere else in the network.Each tunnel interface is assigned an IP address within the same network as other Tunnel interfaces.Before you configure you must adjust (MTU) maximum transfer unit and MSS maximum segment size. 

Let see the configuration:-


Topology_




Goal:

  • configure the topology as per the diagram.
  • assign IP addresses respectivly to their interfaces as per the topology.
  • configure default and static routing.
  • configure point - to - point tunnels between router 1 to 3 and router 1 to router 4

R1(config)#interface serial 4/0

R1(config-if)#ip address 1.1.1.1 255.0.0.0

R1(config-if)#no shutdown

R1(config-if)#interface fastethernet 0/0

R1(config-if)#ip address 10.1.1.1 255.0.0.0

R1(config-if)#no shutdown

R1(config-if)#no keepalive

R1(config-if)#exit



R2(config)#interface serial 4/0

R2(config-if)#ip address 1.1.1.2 255.0.0.0

R2(config-if)#no shutdown


R2(config-if)#interface serial 4/1

R2(config-if)#ip address 3.3.3.1 255.0.0.0

R2(config-if)#no shutdown


R2(config-if)#interface serial 4/2

R2(config-if)#ip address 4.4.4.1 255.0.0.0

R2(config-if)#no shutdown


R2(config-if)#interface fastethernet 0/0

R2(config-if)#ip address 20.1.1.1 255.0.0.0

R2(config-if)#no shutdown

R2(config-if)#no keepalive

R2(config-if)#exit


R3(config)#interface serial 4/1
R3(config-if)#ip address 3.3.3.2 255.0.0.0
R3(config-if)#no shutdown

R3(config-if)#interface fastethernet 0/0
R3(config-if)#ip address 30.1.1.1 255.0.0.0
R3(config-if)#no shutdown
R3(config-if)#no keepalive
R3(config-if)#exit

R4(config)#interface serial 4/2
R4(config-if)#ip address 4.4.4.2 255.0.0.0
R4(config-if)#no shutdown

R4(config-if)#interface fastethernet 0/0
R4(config-if)#ip address 40.1.1.1 255.0.0.0
R4(config-if)#no shutdown
R4(config-if)#no keepalive
R4(config-if)#exit

R1#show ip interface brief

Interface              IP-Address      OK? Method Status                Protocol

FastEthernet0/0        10.1.1.1        YES manual up                    up

Serial4/0                    1.1.1.1         YES manual up                    up

R2#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
FastEthernet0/0        20.1.1.1        YES manual up                    up
Serial4/0                    1.1.1.2         YES manual up                    up
Serial4/1                    3.3.3.1         YES manual up                    up
Serial4/2                    4.4.4.1         YES manual up                    up

R3#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
FastEthernet0/0        30.1.1.1        YES manual up                    up
Serial4/1                    3.3.3.2         YES manual up                    up

R4#show ip interface brief

Interface              IP-Address      OK? Method Status                Protocol

FastEthernet0/0        40.1.1.1        YES manual up                    up

Serial4/2                    4.4.4.2         YES manual up                    up


R1(config)#ip route 0.0.0.0 0.0.0.0 serial 4/0

R1(config)#exit

R2(config)#ip route 1.0.0.0 255.0.0.0 serial 4/0

R2(config)#ip route 10.0.0.0 255.0.0.0 serial 4/0

R2(config)#ip route 30.0.0.0 255.0.0.0 serial 4/1

R2(config)#ip route 3.0.0.0 255.0.0.0 serial 4/1

R2(config)#ip route 4.0.0.0 255.0.0.0 serial 4/2

R2(config)#ip route 40.0.0.0 255.0.0.0 serial 4/2

R2(config)#exit

R3(config)#ip route 0.0.0.0 0.0.0.0 serial 4/1
R3(config)#exit

R4(config)#ip route 0.0.0.0 0.0.0.0 serial 4/2


R1#ping 20.1.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 20.1.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 16/33/60 ms

R1#ping 30.1.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 30.1.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 16/38/68 ms

R1#ping 40.1.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 40.1.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 16/23/36 ms


R1(config)#interface tunnel 21

R1(config-if)#ip address 192.168.1.1 255.255.255.0

R1(config-if)#ip mtu 1400

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

R1(config-if)#tunnel source 1.1.1.1

R1(config-if)#tunnel destination 3.3.3.2

R1(config-if)#exit

R1(config)#end


R3(config)#interface tunnel 21
R3(config-if)#ip address 192.168.1.2 255.255.255.0
R3(config-if)#ip mtu 1400
R3(config-if)#ip tcp adjust-mss 1360
R3(config-if)#tunnel source 3.3.3.2
R3(config-if)#tunnel destination 1.1.1.1
R3(config-if)#exit
R3(config)#end

R1(config)#router eigrp 6123

R1(config-router)#network 192.168.1.0

R1(config-router)#network 10.0.0.0

R1(config-router)#no auto-summary

R1(config-router)#exit

R3(config)#router eigrp 6123
R3(config-router)#network 192.168.1.0
R3(config-router)#no auto-summary                                                           cy
R3(config-router)#network 30.0.0.0
R3(config-router)#exit


R1#ping 192.168.1.2

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 24/28/32 ms

 R1#show ip interface brief | exclude ?

  LINE  Regular Expression


R1#show ip interface brief | exclude unass

Interface              IP-Address      OK? Method Status                Protocol

FastEthernet0/0        10.1.1.1        YES manual up                    up

Serial4/0              1.1.1.1         YES manual up                    up

Tunnel21               192.168.1.1     YES manual up                    up

  


R1#traceroute 30.1.1.1

Type escape sequence to abort.

Tracing the route to 30.1.1.1

VRF info: (vrf in name/id, vrf out name/id)

  1 192.168.1.2 56 msec 52 msec 20 msec


R1#traceroute 30.1.1.1 source 1.1.1.1

Type escape sequence to abort.

Tracing the route to 30.1.1.1

VRF info: (vrf in name/id, vrf out name/id)

  1 192.168.1.2 24 msec 32 msec 24 msec


R1#traceroute 40.1.1.1

Type escape sequence to abort.

Tracing the route to 40.1.1.1

VRF info: (vrf in name/id, vrf out name/id)

  1 1.1.1.2 16 msec 16 msec 20 msec

  2 4.4.4.2 16 msec 32 msec 40 msec


R1(config)#interface tunnel 41

R1(config-if)#ip address 192.168.40.1 255.255.255.0

R1(config-if)#ip mtu 1400

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

R1(config-if)#tunnel source 1.1.1.1

R1(config-if)#tunnel destination 4.4.4.2

R1(config-if)#exit

R1(config)#end


R4(config)#interface tunnel 41
R4(config-if)#ip address 192.168.40.2 255.255.255.0
R4(config-if)#ip mtu 1400
R4(config-if)#ip tcp adjust-mss 1360
R4(config-if)#tunnel source 4.4.4.2
R4(config-if)#tunnel destination 1.1.1.1
R4(config-if)#end



R1(config)#router eigrp 6123

R1(config-router)#network 192.168.40.0

R1(config-router)#exit

R1(config)#end


R4(config)#router eigrp 6123

R4(config-router)#network 192.168.40.0                                             

R4(config-router)#network 40.0.0.0

R4(config-router)#no auto-summary

R4(config-router)#end


R1#traceroute 40.1.1.1

*Feb 11 12:46:27.511: %SYS-5-CONFIG_I: Configured from console by console

R1#traceroute 40.1.1.1

Type escape sequence to abort.

Tracing the route to 40.1.1.1

VRF info: (vrf in name/id, vrf out name/id)

  1 192.168.40.2 20 msec 52 msec 40 msec


R2#traceroute 40.1.1.1 source 20.1.1.1

Type escape sequence to abort.

Tracing the route to 40.1.1.1

VRF info: (vrf in name/id, vrf out name/id)

  1 4.4.4.2 28 msec 28 msec 16 msec


R2#ping 30.1.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 30.1.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 16/16/20 ms


R2#ping 40.1.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 40.1.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 8/10/12 ms


R2#ping 10.1.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 8/15/28 ms












Our Team

  • R.J AnthonyPython programmer / Instructor
  • Edgar C FrancisCCIE Technical Instructor/Network consultant
  • Noel AnthonyNetwork Automation / Instructor
  • J N AnthonyCCNA,CCNP / Instructor
  • Vikram ThakurComputer Hardware and Network Engineer