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 :
- 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.
- 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.
- 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é | Explication | Avantage Principal |
| Simplicité de Configuration | Le 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 Dynamique | Supporte 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ément | Rôle | Adresse IP Privée du Réseau Local (LAN) | Adresse IP Publique (Internet) |
| HUB | Serveur central du NHRP et point d’ancrage. | 192.168.1.0/24 | 203.0.113.1 (Statique) |
| Spoke 1 (S1) | Site distant 1 | 192.168.10.0/24 | 203.0.113.10 (Dynamique) |
| Spoke 2 (S2) | Site distant 2 | 192.168.20.0/24 | 203.0.113.20 (Dynamique) |
| Spoke 3 (S3) | Site distant 3 | 192.168.30.0/24 | 203.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)
- 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).
- 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 ? »
- 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. »
- Tunnel Direct : S1 reçoit cette information et construit un tunnel IPsec direct et temporaire (spoke-to-spoke) avec S2.
- 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).
| Fonction | Commande Cisco IOS |
| Interface Tunnel | interface Tunnel0 |
| Adresse IP du Tunnel | ip address 10.0.0.1 255.255.255.0 |
| ID du Domaine NHRP | ip nhrp network-id 1 |
| Sécurité/Authentification | ip nhrp authentication DMVPN_PASS |
| Support du Multicast | ip nhrp map multicast dynamic |
| Source Physique | tunnel source GigabitEthernet0/1 |
| Mode Multipoint (mGRE) | tunnel mode gre multipoint |
| Protection IPsec | tunnel 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.
| Fonction | Commande Cisco IOS |
| Interface Tunnel | interface Tunnel0 |
| Adresse IP du Tunnel | ip address 10.0.0.10 255.255.255.0 |
| ID du Domaine NHRP | ip nhrp network-id 1 |
| Définir le Hub (NHS) | ip nhrp nhs 10.0.0.1 |
| Mappage Statique du Hub | ip nhrp map 10.0.0.1 203.0.113.1 static |
| Mappage Multicast | ip nhrp map multicast 203.0.113.1 |
| Source Physique | tunnel source GigabitEthernet0/1 |
| Mode Multipoint (mGRE) | tunnel mode gre multipoint |
| Protection IPsec | tunnel 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.
| Fonction | Commande Cisco IOS |
| Interface Tunnel | interface Tunnel0 |
| Adresse IP du Tunnel | ip address 10.0.0.20 255.255.255.0 |
| ID du Domaine NHRP | ip nhrp network-id 1 |
| Définir le Hub (NHS) | ip nhrp nhs 10.0.0.1 |
| Mappage Statique du Hub | ip nhrp map 10.0.0.1 203.0.113.1 static |
| Mappage Multicast | ip nhrp map multicast 203.0.113.1 |
| Source Physique | tunnel source GigabitEthernet0/1 |
| Mode Multipoint (mGRE) | tunnel mode gre multipoint |
| Protection IPsec | tunnel 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.
| Fonction | Commande Cisco IOS |
| Interface Tunnel | interface Tunnel0 |
| Adresse IP du Tunnel | ip address 10.0.0.30 255.255.255.0 |
| ID du Domaine NHRP | ip nhrp network-id 1 |
| Définir le Hub (NHS) | ip nhrp nhs 10.0.0.1 |
| Mappage Statique du Hub | ip nhrp map 10.0.0.1 203.0.113.1 static |
| Mappage Multicast | ip nhrp map multicast 203.0.113.1 |
| Source Physique | tunnel source GigabitEthernet0/1 |
| Mode Multipoint (mGRE) | tunnel mode gre multipoint |
| Protection IPsec | tunnel 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 :
- La configuration des profils IPsec (IKEv1 ou IKEv2) pour le chiffrement.
- 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 10etnetwork 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.