Вы находитесь на странице: 1из 16

Dynamic Multipoint VPN (DMVPN)

Le DMVPN est une combinaison de deux protocoles :

– Multipoint Generic Routing Encapsulation (mGRE)


– Next Hop Resolution Protocol (NHRP)

Il supporte les protocols de routage dynamique suivants :

– OSPF
– EIGRP
– BGP

Avant de lire cet article, il est primordiale d’avoir lu les articles sur le protocole GRE et sur
le protocole IPsec.

Avantage du DMVPN

Avant de voir les avantages du DMVPN, voyons plutôt pourquoi il à été créé.

Mettons-nous en situation :

Dans un mode sans DMVPN

Exemple 1 :

Nous avons 3 routeurs : R1, R2 et R3.

Nous devons monter un Tunnel entre :

– R1 et R2.
– R1 et R3.
– R2 et R3.

En tout, nous avons 3 routeurs à configurer donc deux interfaces tunnel sur R1, R2 et R3.

Au total : 6 interfaces.
Sans DMVPN – Architecture de base

Maintenant, nous devons ajouter un quatrième routeur appelé R4. Qu’elles sont les actions à mener
pour ajouter un tunnel entre R4 – R1, R4 – R2 et R4 – R3 ?

Sans DMVPN – Ajout de R4

Action à réaliser :
– Création d’une interface tunnel sur R1.
– Création d’une interface tunnel sur R2.
– Création d’une interface tunnel sur R3.
– Création de 3 interfaces tunnels sur R4.

Conclusion :

– Il faut ajouter une interface tunnel sur tous nos routeurs.


– Chaque routeur possède 3 interfaces tunnels.
– 6 Interfaces à ajouter au total.

Exemple 2 :

Imaginez que vous avez une bulle de 20 routeurs (de R1 à R20), que tout ces routeurs sont
interconnectés via tunnel GRE et que vous voulez rajouter un 21ème routeur appelé R21 :

Action à réaliser :

– Ajout d’une interface tunnel sur R1.


– Ajout d’une interface tunnel sur R2.
– Ajout d’une interface tunnel sur R3.
– Ajout d’une interface tunnel sur R4.
– Ajout d’une interface tunnel sur R5.
– Ajout d’une interface tunnel sur R6.
– Ajout d’une interface tunnel sur R7.
– Ajout d’une interface tunnel sur R8.
– Ajout d’une interface tunnel sur R9.
– Ajout d’une interface tunnel sur R10.
– Ajout d’une interface tunnel sur R11.
– Ajout d’une interface tunnel sur R12.
– Ajout d’une interface tunnel sur R13.
– Ajout d’une interface tunnel sur R14.
– Ajout d’une interface tunnel sur R15.
– Ajout d’une interface tunnel sur R16.
– Ajout d’une interface tunnel sur R17.
– Ajout d’une interface tunnel sur R18.
– Ajout d’une interface tunnel sur R19.
– Ajout d’une interface tunnel sur R20.
– Création de 20 interfaces tunnel sur R21.

Conclusion :

– Création de 40 interfaces tunnel.


– Chaque routeur possèdent 20 interfaces tunnel.
– 420 interfaces tunnel au total.
– Vos configurations sont énormes !!
– Le suivi est compliqué à faire.
– Les chances de faire une bêtise est énorme.

Tout ça pour l’ajout d’un seul routeur dans notre bulle ??

Pour éviter tous ces problèmes, nous allons voir pourquoi le DMVPN est LA solution.
Dans un monde avec DMVPN

Exemple 1:

Même architecture de départ. Sauf que nous allons mettre en place du DMVPN.

Sans rentrer dans le détail (voir plus bas pour plus d’informations)

– HUB = Chef d’orchestre.


– SPOKE = Membre de l’orchestre.

Les tunnels HUB–SPOKE sont à créer manuellement.


Les tunnels SPOKE-SPOKE se créent automatiquement.

Sur notre HUB, il suffit de créer une seule et unique interface tunnel pour toutes nos liaisons HUB–
SPOKE.

Nous avons donc qu’une seule interface tunnel sur chaque routeur.

Avec DMVPN – Architecture de base

Comme dans notre premier exemple, nous allons ajouter le routeur R4.
Avec DMVPN – Ajout de R4

Action à réaliser :

– Création d’une interface tunnel sur R4

Touuuuuuuut simplement !!!!!!

Exemple 2 :

Imaginez que vous avez une bulle de 20 routeurs (de R1 à R20) que tout ces routeurs sont
interconnectés via tunnel GRE et que vous voulez rajouter un 21eme routeur appelé R21 :

Action à réaliser :

– Création d’une interface tunnel sur R21.

Touuuuuuuut simplement !!!!!! encore une fois 🙂

Conclusion

Avantage du DMVPN :

– Diminution des performances réseau.


– Réduction de la latence, ce qui permet d’avoir une optimisation immédiate pour les applications
“real-time”.
– Réduction de la taille du fichier de configuration de nos routeurs.
– Possibilité de rajouter dynamiquement des tunnels sans toucher à la configuration de nos routeurs.
– Encryption IPsec dynamique (ce qui réduit fortement les pertes de paquets).
– Les tunnels SPOKE – SPOKE sont montés dynamiquement.

DMVPN supporte :

– Tous les protocoles de routage dynamique.


– Le trafic multicast.
– Les VRFs.
– le MPLS.
– Load balancing.

Source : CISCO

Fonctionnement du DMVPN

Petit rappel : DMVPN = mGRE + NHRP

mGRE se base sur le NHRP pour fonctionner. Nous allons donc maintenant parler du mGRE + NHRP

Multipoint GRE (mGRE) +

Next Hop Resolution Protocol (NHRP)

Multipoint GRE

mGRE :

– Multipoint Generic Routing Encapsulation


(voir article sur le protocole GRE)

Un tunnel GRE est un tunnel point-à-point.


Un tunnel mGRE est un tunnel point-multipoint.

Avec des tunnels GRE


DMVPN – GRE

Avec des tunnels GRE point-à-point, nous devons créer 10 Tunnels GRE avec 10 plages d’adresse IP
associées :

– Tunnel 12 = 1.1.12.0 /30


– Tunnel 13 = 1.1.13.0 /30
– Tunnel 14 = 1.1.14.0 /30
– Tunnel 15 = 1.1.15.0 /30
– Tunnel 23 = 1.1.23.0 /30
– Tunnel 24 = 1.1.24.0 /30
– Tunnel 25 = 1.1.25.0 /30
– Tunnel 34 = 1.1.34.0 /30
– Tunnel 35 = 1.1.35.0 /30
– Tunnel 45 = 1.1.45.0 /30

Euh …. et avec mGRE ?

Avec un mGRE
DMVPN – mGRE

Le principal avantage du mGRE réside dans sa simplicité de configuration ! Au lieu d’avoir 10 tunnels
donc 20 interfaces tunnels à configurer, nous n’avons qu’à configurer un seul et même tunnel et le
reste se fait tout seul.
Comme nous l’avons vu plus haut, il va y avoir un routeur qui va avoir le rôle de HUB, et les autres
auront le rôle de SPOKE.
Afin de fonctionner, il suffira uniquement de configurer les liaisons HUB – SPOKE
Les liaison SPOKE – SPOKE vont se monter dynamiquement.

Autre gros avantage aussi ! Nous allons économiser des plages d’adresses IP vu que toutes les
interfaces de nos tunnels vont être dans le même réseau !

– Tunnel 1 = 1.1.1.0 /24.

Vu que nous allons monter manuellement les liaisons HUB – SPOKE :

– Chaque SPOKE devra connaitre l’adresse IP WAN de la patte de notre routeur HUB.
– Notre routeur HUB va apprendre l’adresse IP WAN des SPOKE via le protocole NHRP.

Mais comment un routeur SPOKE va connaître l’adresse WAN d’un autre routeur SPOKEafin de
monter son tunnel SPOKE SPOKE dynamiquement ?
Grâce au protocole NHRP !

Next Hop Resolution Protocol


NHRP :

– Next Hop Resolution Protocol.


– RFC 2332.
– Protocole utilisé dans les réseaux NBMA (NonBroadcast MultiAccess).

HUB = NHRP Server


SPOKE = NHRP Client

Le protocole NHRP va maintenir une base de donnée à jour afin de faire la relation entre l’adresse
WAN d’un routeur et son interface tunnel.

DMVPN – Remplissage de la Database NHRP

Chaque routeur SPOKE va envoyer son adresse WAN ainsi que son adresse de tunnel au
routeur HUB.

Si un routeur SPOKE à besoin de monter un tunnel SPOKE-SPOKE, il va faire une demande NHRP
Query à notre routeur HUB.
DMVPN – NHRP – Tunnel Spoke – Spoke

Étape 1 : R2 veut monter un tunnel avec R3, il sait que l’adresse IP de son interface tunnel est la
1.1.1.3 mais ne connaît pas l’adresse IP de sa patte WAN. Il va donc demander a R1 (HUB) de lui
donner cette information.

Étape 2 : R1 reçoit la requête de R2 et lui dit que l’adresse IP tunnel 1.1.1.3 est associée a l’adresse IP
30.30.30.1.

Étape 3 : R2 à toutes les informations nécessaires pour faire une demande d’ouverture de tunnel.

Configuration

HUB

!!!!!! Configuration du mGRE !!!!!!

HUB(config)# interface Tunnel 10

HUB(config-if)# ip address [IP-TUN-HUB] [MASQUE]

HUB(config-if)# tunnel source [IP-WAN-HUB]

HUB(config-if)# tunnel mode gre multipoint

!!!!!! Configuration du NHRP !!!!!!


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

HUB(config-if)# ip nhrp authentication [PASSWORD]

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

SPOKE

!!!!!! Configuration du mGRE !!!!!!

SPOKE(config)# interface Tunnel 10

SPOKE(config-if)# ip address [IP-TUN-SPOKE] [MASQUE]

SPOKE(config-if)# tunnel source [IP-WAN-SPOKE]

SPOKE(config-if)# tunnel mode gre multipoint

!!!!!! Configuration du NHRP !!!!!!

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

SPOKE(config-if)# ip nhrp authentication [PASSWORD]

SPOKE(config-if)# ip nhrp map multicast [IP-WAN-HUB]

SPOKE(config-if)# ip nhrp map [IP-TUN-HUB] [IP-WAN-HUB] <<< SPOKE

SPOKE(config-if)# ip nhrp map multicast [IP-WAN-HUB] <<< SPOKE

SPOKE(config-if)# ip nhrp nhs [IP-TUN-HUB] <<< SPOKE

DMVPN over IPsec

Topologie
Topologie DMVPN

Routeur 1 – HUB

!!!!!!!!!!!!!!! Configuration de notre interface WAN !!!!!!!!!!!

R1(config)# interface FastEthernet 0/0

R1(config-if)# ip address 10.10.10.1 255.255.255.0

R1(config-if)# description VERS_WAN

R1(config-if)# exit

!!!!!!!!!!!!!!! Configuration du Tunnel DMVPN !!!!!!!!!!!

R1(config)# interface tunnel 10

R1(config-if)# ip address 1.1.1.1 255.255.255.0

R1(config-if)# tunnel mode gre multipoint

R1(config-if)# tunnel source fastEthernet 0/0

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

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

R1(config-if)# ip nhrp authentication CISCO


R1(config-if)# exit

!!!!!!!!!!!!!!! Configuration d'IPSEC !!!!!!!!!!!

R1(config)# crypto isakmp policy 10

R1(config-isakmp)# encryption aes-256

R1(config-isakmp)# authentication pre-share

R1(config-isakmp)# group 7

R1(config-isakmp)# hash sha

R1(config-isakmp)# exit

R1(config)# crypto isakmp key pre-share-key-finger address 0.0.0.0

R1(config)# crypto ipsec transform-set Finger esp-aes256 esp-sha-hmac

R1(cfg-crypto-trans)# exit

R1(config)# crypto ipsec profile MGRE

R1(ipsec-profile)# set transform-set Finger

R1(ipsec-profile)# exit

!!!!!!!!!!!!!!! Application d'IPSEC !!!!!!!!!!!

R1(config)# interface tunnel 10

R1(config-if)# tunnel protection ipsec profile MGRE

Routeur X – Spoke – Configuration générique

!!!!!!!!!!!!!!! Configuration de notre interface WAN !!!!!!!!!!!

RX(config)# interface FastEthernet 0/0

RX(config-if)# ip address X.X.X.X X.X.X.X <<< Modifiez

RX(config-if)# description VERS_WAN

RX(config-if)# exit
!!!!!!!!!!!!!!! Configuration du Tunnel DMVPN !!!!!!!!!!!

RX(config)# interface tunnel 10

RX(config-if)# ip address 1.1.1.X 255.255.255.0 <<< Modifiez

RX(config-if)# tunnel mode gre multipoint

RX(config-if)# tunnel source FastEthernet 0/0

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

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

RX(config-if)# ip nhrp authentication CISCO

RX(config-if)# ip nhrp map 1.1.1.1 10.10.10.1 <<< Ajoutez car SPOKE

RX(config-if)# ip nhrp map multicast 10.10.10.1 <<< Ajoutez car SPOKE

RX(config-if)# ip nhrp nhs 1.1.1.1 <<< Ajoutez car SPOKE

RX(config-if)# exit

!!!!!!!!!!!!!!! Configuration d'IPSEC !!!!!!!!!!!

RX(config)# crypto isakmp policy 10

RX(config-isakmp)# encryption aes-256

RX(config-isakmp)# authentication pre-share

RX(config-isakmp)# group 7

RX(config-isakmp)# hash sha

RX(config-isakmp)# exit

RX(config)# crypto isakmp key pre-share-key-finger address 0.0.0.0

RX(config)# crypto ipsec transform-set Finger esp-aes256 esp-sha-hmac

RX(cfg-crypto-trans)# exit

RX(config)# crypto ipsec profile MGRE

RX(ipsec-profile)# set transform-set Finger

RX(ipsec-profile)# exit
!!!!!!!!!!!!!!! Application d'IPSEC !!!!!!!!!!!

RX(config)# interface tunnel 10

RX(config-if)# tunnel protection ipsec profile MGRE

Versions DMVPN

Il existe 3 version DMVPN appelée phases :

Phase 1 (Obsolète)

Avantages :

– Création du DMVPN.
– Mise en place facile.
– Fichier de configuration plus petit.

Inconvéniants :

– Seul le HUB est configuré en mode multipoint.


– Uniquement des liaisons HUB-SPOKE.
– Si un SPOKE veux échanger avec un autre spoke, il doit forcément passer par le HUB.

En gros, nous avons un réseau en étoile …

Phase 2 (Obsolète)

La phase 2 est la phase expliquer dans cet article.

Avantages :

– Voir plus haut

Inconvéniants :

– Les routeurs SPOKE connaissent tout les autres SPOKE via le routage dynamique mais ne savent pas
comment les joindre sans demander au HUB.
– Table de routage et CEF toujours incomplètes …

Phase 3
Avantages :

– Tout le monde possède une table NHRP et tout le monde peut répondre aux requêtes des SPOKE.
– Stabilités des tables de routage.

HUB

HUB(config)# interface tunnel 10

HUB(config-if)# ip nhrp redirect

SPOKE

SPOKE(config)# interface tunnel 10

SPOKE(config-if)# ip nhrp shortcut

Pour plus de détails sur les Phases 1, 2 et 3 du DMVPN, voir cet excellent article fait par Benoit
: http://www.networklife.net/2014/10/dmvpn-phase-12-et-3/comment-page-1/

Conclusion

– Au niveau du routage, n’oubliez pas les mondes Underlying et Overlay (voir article sur le GRE)

– Avant de mettre en place du DMVPN, étudiez bien le besoin ! Dans certains cas, nous sommes
obligés de passer par des Tunnels GRE point-to-point (voir article sur le CBWFQ over GRE )

Вам также может понравиться