You are currently viewing DMVPN : Maîtriser l’Architecture Multipoint pour un Réseau Sécurisé et Scalable

DMVPN : Maîtriser l’Architecture Multipoint pour un Réseau Sécurisé et Scalable

  • Auteur/autrice de la publication :
  • Commentaires de la publication :0 commentaire
  • Temps de lecture :10 mins read

1. Qu’est-ce que le DMVPN ?

Le DMVPN (Dynamic Multipoint VPN) est une solution de mise en réseau privée virtuelle (VPN) qui permet de construire des topologies réseau complexes de manière évolutive et dynamique. Il combine plusieurs technologies Cisco pour créer un maillage sécurisé et performant entre de nombreux sites distants (spokes) et un site central (hub), sans nécessiter de configuration statique pour chaque tunnel.

Le DMVPN est construit sur trois piliers technologiques :

  1. NHRP (Next Hop Resolution Protocol) : Un protocole client-serveur qui permet à chaque routeur spoke de découvrir l’adresse publique d’autres spokes via le hub central.
  2. mGRE (Multipoint Generic Routing Encapsulation) : Un type d’interface GRE qui permet à un seul point (le hub) de gérer plusieurs tunnels VPN à partir d’une seule interface, éliminant le besoin de configurations statiques multiples.
  3. IPsec : Utilisé pour chiffrer les données transmises sur les tunnels GRE, assurant la sécurité et l’intégrité des communications.

2. Utilité et Avantages Clés

L’utilité principale du DMVPN réside dans sa capacité à simplifier et à rendre plus efficace la connectivité sécurisée des réseaux d’entreprise étendus.

UtilitéExplicationAvantage Principal
Simplicité de ConfigurationLe hub nécessite une seule configuration mGRE pour accepter des centaines de spokes. Les spokes ont une configuration minimale.Évolutivité : L’ajout de nouveaux sites est rapide et ne requiert pas de modifications sur le hub.
Topologie Dynamique (Spoke-to-Spoke)Les spokes peuvent établir des tunnels directs entre eux à la demande (en utilisant NHRP), contournant le hub pour le trafic inter-sites.Efficacité et Vitesse : Réduit la latence et économise la bande passante du hub et du siège social (le trafic n’a pas besoin de faire l’aller-retour).
Support de Routage DynamiqueSupporte les protocoles de routage standard (OSPF, EIGRP, BGP) sur les tunnels VPN, facilitant l’échange d’informations entre tous les sites.Gestion du Réseau : Simplifie la gestion des tables de routage dans un environnement complexe.

3. Cas d’Utilisation Typiques

Le DMVPN est la solution privilégiée pour les organisations qui nécessitent une connectivité sécurisée entre de nombreux sites via une infrastructure publique (Internet).

  • Entreprises avec de Multiples Succursales : Idéal pour connecter le siège social (le hub) à des centaines d’agences ou de bureaux régionaux (spokes).
  • Réseaux Distribués de Vente au Détail : Connexion des points de vente (magasins) à un centre de données central.
  • Télécommunications / Secteur Bancaire : Assurer une connectivité sécurisée et redondante pour les transactions sensibles.
  • Infrastructure Cloud Privée/Hybride : Connexion sécurisée des réseaux sur site à des environnements cloud publics.

4. Exemple Détaillé : Hub-and-3 Spokes

Considérons une topologie classique avec un routeur central Hub et trois routeurs distants Spokes (S1, S2, S3), tous connectés via Internet.

ÉlémentRôleAdresse IP Privée du Réseau Local (LAN)Adresse IP Publique (Internet)
HUBServeur central du NHRP et point d’ancrage.192.168.1.0/24203.0.113.1 (Statique)
Spoke 1 (S1)Site distant 1192.168.10.0/24203.0.113.10 (Dynamique)
Spoke 2 (S2)Site distant 2192.168.20.0/24203.0.113.20 (Dynamique)
Spoke 3 (S3)Site distant 3192.168.30.0/24203.0.113.30 (Dynamique)

⚙️ Configuration du Hub (Router Central)

Le hub utilise le mGRE pour accepter les tunnels de tous les spokes et agit comme le serveur NHRP.

Cisco CLI

interface Tunnel0
 ip address 10.0.0.1 255.255.255.0  // Adresse IP du tunnel (réseau DMVPN)
 no ip redirects
 ip nhrp authentication DMVPN_PASS
 ip nhrp network-id 1           // Identifiant unique pour le domaine NHRP
 ip nhrp map multicast dynamic  // Permet au HUB de répliquer les mises à jour de routage
 tunnel source GigabitEthernet0/1 // L'interface publique (203.0.113.1)
 tunnel mode gre multipoint      // Clé du mGRE
 tunnel protection ipsec profile DMVPN_IPsec // Applique le profil de sécurité IPsec

⚙️ Configuration d’un Spoke (Exemple S1)

Un spoke a une configuration simplifiée. Il doit connaître uniquement l’adresse IP publique et l’adresse IP du tunnel du hub (le serveur NHRP).

Cisco CLI

interface Tunnel0
 ip address 10.0.0.10 255.255.255.0 // Adresse IP du tunnel (dans le réseau DMVPN)
 no ip redirects
 ip nhrp authentication DMVPN_PASS
 ip nhrp network-id 1
 ip nhrp map 10.0.0.1 203.0.113.1 static // Mappe l'adresse tunnel du HUB à son IP publique
 ip nhrp map multicast 203.0.113.1      // Envoie le multicast de routage au HUB
 ip nhrp nhs 10.0.0.1                 // Définit le HUB (10.0.0.1) comme Next Hop Server (NHS)
 tunnel source GigabitEthernet0/1 // L'interface publique (203.0.113.10, peut être dynamique)
 tunnel mode gre multipoint
 tunnel protection ipsec profile DMVPN_IPsec

(Les Spoke 2 et Spoke 3 auront la même configuration que S1, seule leur adresse IP de tunnel (ex: 10.0.0.20 et 10.0.0.30) changera.)

Fonctionnement Spoke-to-Spoke (Exemple S1 veut parler à S2)

  1. Trafic Initial (via Hub) : Le PC derrière S1 veut atteindre 192.168.20.0/24 (réseau de S2). S1 ne connaît pas l’emplacement de S2, il envoie donc le paquet à son serveur NHRP (le Hub à 10.0.0.1).
  2. Requête NHRP : Le Hub reçoit la requête. S1 demande : « Quelle est l’adresse IP publique pour le tunnel 10.0.0.20 ? »
  3. Réponse NHRP : Le Hub répond à S1 : « L’adresse IP publique pour le tunnel 10.0.0.20 (S2) est 203.0.113.20. »
  4. Tunnel Direct : S1 reçoit cette information et construit un tunnel IPsec direct et temporaire (spoke-to-spoke) avec S2.
  5. Trafic Direct : Les communications futures entre S1 et S2 se font directement sur ce tunnel dynamique, sans passer par le Hub, jusqu’à ce que le tunnel expire.

C’est ce mécanisme de tunnels dynamiques et de contournement du hub qui confère au DMVPN sa supériorité en termes de performance pour les grands réseaux maillés.

Voici une reprise de la section de configuration, en détaillant spécifiquement les commandes pour le Hub et chacun des trois Spokes (S1, S2, S3) dans le contexte d’un DMVPN de phase 2 ou 3.

Nous allons conserver le schéma d’adressage IP du tunnel (réseau DMVPN) : 10.0.0.0/24.

Configuration Détaillée : Hub et 3 Spokes DMVPN

1. Configuration du Hub (Serveur NHRP)

Le Hub nécessite une configuration multipoint (tunnel mode gre multipoint) et doit être configuré en tant que serveur NHRP, en utilisant une adresse IP publique statique (203.0.113.1).

FonctionCommande Cisco IOS
Interface Tunnelinterface Tunnel0
Adresse IP du Tunnelip address 10.0.0.1 255.255.255.0
ID du Domaine NHRPip nhrp network-id 1
Sécurité/Authentificationip nhrp authentication DMVPN_PASS
Support du Multicastip nhrp map multicast dynamic
Source Physiquetunnel source GigabitEthernet0/1
Mode Multipoint (mGRE)tunnel mode gre multipoint
Protection IPsectunnel protection ipsec profile DMVPN_IPsec

2. Configuration des Spokes (Clients NHRP)

Chaque Spoke (S1, S2, S3) nécessite une configuration multipoint (tunnel mode gre multipoint) pour pouvoir établir des tunnels directs entre eux. Ils doivent également pointer le Hub comme Next Hop Server (NHS).

Spoke 1 (S1) – IP du Tunnel : 10.0.0.10

Ce spoke se connecte au Hub à l’adresse publique 203.0.113.1.

FonctionCommande Cisco IOS
Interface Tunnelinterface Tunnel0
Adresse IP du Tunnelip address 10.0.0.10 255.255.255.0
ID du Domaine NHRPip nhrp network-id 1
Définir le Hub (NHS)ip nhrp nhs 10.0.0.1
Mappage Statique du Hubip nhrp map 10.0.0.1 203.0.113.1 static
Mappage Multicastip nhrp map multicast 203.0.113.1
Source Physiquetunnel source GigabitEthernet0/1
Mode Multipoint (mGRE)tunnel mode gre multipoint
Protection IPsectunnel protection ipsec profile DMVPN_IPsec

Spoke 2 (S2) – IP du Tunnel : 10.0.0.20

Ce spoke est identique à S1, seule son adresse IP dans le réseau DMVPN change.

FonctionCommande Cisco IOS
Interface Tunnelinterface Tunnel0
Adresse IP du Tunnelip address 10.0.0.20 255.255.255.0
ID du Domaine NHRPip nhrp network-id 1
Définir le Hub (NHS)ip nhrp nhs 10.0.0.1
Mappage Statique du Hubip nhrp map 10.0.0.1 203.0.113.1 static
Mappage Multicastip nhrp map multicast 203.0.113.1
Source Physiquetunnel source GigabitEthernet0/1
Mode Multipoint (mGRE)tunnel mode gre multipoint
Protection IPsectunnel protection ipsec profile DMVPN_IPsec

Spoke 3 (S3) – IP du Tunnel : 10.0.0.30

Ce spoke est identique aux autres, avec son adresse IP unique dans le réseau DMVPN.

FonctionCommande Cisco IOS
Interface Tunnelinterface Tunnel0
Adresse IP du Tunnelip address 10.0.0.30 255.255.255.0
ID du Domaine NHRPip nhrp network-id 1
Définir le Hub (NHS)ip nhrp nhs 10.0.0.1
Mappage Statique du Hubip nhrp map 10.0.0.1 203.0.113.1 static
Mappage Multicastip nhrp map multicast 203.0.113.1
Source Physiquetunnel source GigabitEthernet0/1
Mode Multipoint (mGRE)tunnel mode gre multipoint
Protection IPsectunnel protection ipsec profile DMVPN_IPsec

Note Importante : Cette configuration est celle de base pour les technologies DMVPN et NHRP. Elle doit être complétée par :

  1. La configuration des profils IPsec (IKEv1 ou IKEv2) pour le chiffrement.
  2. La configuration d’un protocole de routage dynamique (EIGRP, OSPF ou BGP) pour échanger les réseaux LAN internes entre le Hub et les Spokes (par exemple, en utilisant la commande router eigrp 10 et network 10.0.0.0 0.0.0.255).

Complétons la configuration du DMVPN avec les éléments essentiels de sécurité (IPsec/IKEv1) et de routage (EIGRP) pour permettre une communication sécurisée et dynamique des réseaux LAN internes.

I. Configuration IPsec (IKEv1) pour le Chiffrement

L’IPsec est configuré en deux phases (Phase 1 pour IKE et Phase 2 pour IPsec) pour créer le profil de protection appelé DMVPN_IPsec que nous avons utilisé sur l’interface Tunnel0.

Phase 1 : Internet Key Exchange (IKE) Policy

Cette politique établit le canal sécurisé initial et définit les paramètres d’authentification et de chiffrement pour l’échange de clés (IKE). Cette configuration est identique sur le Hub et les Spokes.

Cisco CLI

crypto isakmp policy 10
 encryption aes 256
 hash sha256
 authentication pre-share // Utilisation d'une clé pré-partagée
 group 5                 // Groupe Diffie-Hellman pour l'échange de clés (sécurité)
 lifetime 86400          // Durée de vie de la SA IKE (24 heures)
exit

Clé Pré-Partagée (Pre-Shared Key)

Le DMVPN nécessite généralement une seule clé pour tous les spokes (spokes s’authentifiant auprès du hub). Cette clé est identique sur le Hub et les Spokes.

Cisco CLI

crypto isakmp key Clé_Secrète_DMVPN address 0.0.0.0 0.0.0.0 // Clé valable pour toutes les adresses (Hub et Spokes)

Phase 2 : IPsec Transform Set (Le Chiffrement du Trafic)

Cette étape définit la manière dont le trafic de données sera chiffré et authentifié.

Cisco CLI

crypto ipsec transform-set TSET esp-aes 256 esp-sha256-hmac 
 mode transport // Important : Utilisation du mode transport pour le GRE chiffré
exit

Profil de Protection IPsec (Crypto Profile)

Ce profil lie la Phase 1 (IKE) et la Phase 2 (Transform Set) et est appliqué à l’interface Tunnel0. Cette configuration est identique sur le Hub et les Spokes.

Cisco CLI

crypto ipsec profile DMVPN_IPsec
 set transform-set TSET
 set isakmp policy 10
exit

II. Configuration du Routage Dynamique (EIGRP)

Nous utiliserons EIGRP (Enhanced Interior Gateway Routing Protocol) car il est efficace pour ce type de topologie grâce à sa convergence rapide et sa simplicité.

1. Configuration du Hub (Propagation des Routes)

Le Hub injecte son réseau LAN (192.168.1.0/24) et le réseau DMVPN (10.0.0.0/24) dans EIGRP.

Cisco CLI

router eigrp 100 // Processus EIGRP 100
 no auto-summary
 network 192.168.1.0 0.0.0.255 // Réseau LAN du Hub
 network 10.0.0.0 0.0.0.255    // Réseau du Tunnel DMVPN
exit

2. Configuration des Spokes (Exemple S1, S2, S3)

Chaque Spoke injecte son réseau LAN unique (ex: 192.168.10.0/24 pour S1) et le réseau DMVPN.

Sur Spoke 1 (S1)

Cisco CLI

router eigrp 100
 no auto-summary
 network 192.168.10.0 0.0.0.255 // Réseau LAN de S1
 network 10.0.0.0 0.0.0.255
exit

Sur Spoke 2 (S2)

Cisco CLI

router eigrp 100
 no auto-summary
 network 192.168.20.0 0.0.0.255 // Réseau LAN de S2
 network 10.0.0.0 0.0.0.255
exit

Sur Spoke 3 (S3)

Cisco CLI

router eigrp 100
 no auto-summary
 network 192.168.30.0 0.0.0.255 // Réseau LAN de S3
 network 10.0.0.0 0.0.0.255
exit

Grâce à cette configuration complète, le Hub et les Spokes peuvent établir des tunnels IPsec chiffrés et échanger dynamiquement leurs routes via EIGRP. Cela permet aux ordinateurs du réseau LAN de S1 (192.168.10.x) de communiquer avec ceux de S2 (192.168.20.x) directement sur un tunnel spoke-to-spoke, sans que le trafic ne transite par le Hub.

Laisser un commentaire