PROTOCOLE GRE
Le protocole GRE (Generic Routing Encapsulation) est un exemple de protocole de tunneling
VPN de site à site de base, non sécurisé. Le protocole GRE est un protocole de tunneling
développé par Cisco, capable d'encapsuler une large variété de types de paquets de protocoles
au sein de tunnels IP. Le protocole GRE crée une liaison point à point vers des routeurs Cisco au
niveau de points distants sur un interréseau IP.
Le protocole GRE est conçu pour gérer le transport du trafic multiprotocole et multidiffusion IP
entre deux ou plusieurs sites, qui peuvent ne posséder que de la connectivité IP. Il peut
également encapsuler plusieurs types de paquets de protocoles au sein d'un tunnel IP.
Comme le montre la figure, une interface de tunnel prend en charge un en-tête pour chacun des
éléments suivants :
Un protocole encapsulé (ou protocole passager), comme IPv4, IPv6, AppleTalk, DECnet ou
IPX
Un protocole d'encapsulation (ou protocole porteur), tel que GRE
Un protocole d'acheminement de couche transport, par exemple IP, qui est le protocole qui
transporte le protocole encapsulé
2. Fonctionnement du GRE
2.1 Encapsulation GRE
Un paquet "passager" (comme IPv4, IPv6, ou même un autre GRE) est encapsulé dans
un en-tête GRE, puis dans un en-tête IP pour le transport.
Un paquet passager, c’est le vrai message qu’on veut envoyer (comme un email, une
page web, un fichier, etc.).
Ce paquet peut être :
un paquet IPv4 (classique)
un paquet IPv6 (nouvelle version)
un autre paquet GRE (GRE dans GRE)
[ En-tête IP externe ] → [ En-tête GRE ] → [ Paquet original (IP, IPX, etc.) ] → [
Données ]
2.2 Avantages et limites
Avantages Limitations
❌ Pas de chiffrement natif (doit être combiné avec
✅ Simple à configurer
IPSec)
✅ Supporte le
❌ Surcharge d'en-têtes (+24 octets environ)
multicast
✅ Compatibilité large ❌ Vulnérable aux attaques (DoS, sniffing)
Le protocole GRE, s’il est utilisé seul, n’est pas sécurisé. Cela signifie qu’il peut être
attaqué ou espionné.
🔐 Détaillons chaque attaque :
🔴 1. DoS (Denial of Service) – Attaque par déni de service
📌 Qu’est-ce que c’est ?
Une attaque DoS vise à saturer un tunnel GRE avec un grand nombre de paquets
inutiles ou malveillants, pour le rendre inutilisable.
📊 Conséquences :
Le tunnel est surchargé.
Le trafic légitime (normal) ne passe plus.
Le réseau ralentit ou devient injoignable.
🎯 Exemple :
Un pirate envoie des milliers de paquets dans ton tunnel GRE. Résultat : les routeurs
passent leur temps à traiter ces fausses données, et ton vrai trafic (email, ping, etc.) est
bloqué.
� 2. Sniffing – Espionnage de données
📌 Qu’est-ce que c’est ?
Le sniffing consiste à intercepter et lire les données qui passent dans un tunnel GRE.
😬 Pourquoi c’est possible ?
GRE ne chiffre pas les données.
Donc, si quelqu’un écoute sur le chemin (ex: sur Internet), il peut lire tout ce que
contient le tunnel.
🔓 Exemple :
Tu envoies des mots de passe, fichiers ou données privées dans un tunnel GRE. Un pirate
qui intercepte les paquets voit tout en clair, comme s’il lisait ton courrier.
🚨 En résumé :
Type
Description Danger
d’attaque
Envoyer trop de données pour bloquer le
DoS Tunnel inutilisable
tunnel
Vol de données,
Sniffing Lire les données qui passent dans le tunnel
espionnage
Partie 2 : Configuration de Base (Niveau Intermédiaire)
2.1 Topologie de Base
[Site A] --(Internet)-- [Site B]
R1 (203.0.113.1) R2 (198.51.100.1)
192.168.1.0/24 192.168.2.0/24
2.2 Configuration sur Cisco IOS
Sur R1 :
interface Tunnel0
ip address 10.0.0.1 255.255.255.252 # IP du tunnel
tunnel source 203.0.113.1 # IP publique de R1
tunnel destination 198.51.100.1 # IP publique de R2
tunnel mode gre ip # Type de tunnel
!
ip route 192.168.2.0 255.255.255.0 10.0.0.2 # Route vers le réseau distant
Sur R2 :
interface Tunnel0
ip address 10.0.0.2 255.255.255.252
tunnel source 198.51.100.1
tunnel destination 203.0.113.1
tunnel mode gre ip
!
ip route 192.168.1.0 255.255.255.0 10.0.0.1
2.3 Vérification
show interface tunnel 0 # Vérifie l'état du tunnel
ping 10.0.0.2 # Teste la connectivité
Partie 3 : Sécurisation avec IPSec (Niveau Avancé)
3.1 Pourquoi sécuriser le GRE ?
GRE seul n'est pas chiffré → Vulnérable au sniffing.
Solution : Combiner GRE + IPSec (chiffrement AES, authentification).
3.2 Configuration Cisco (GRE over IPSec)
Étape 1 : Configurer IKEv2 (Phase 1)
crypto ikev2 proposal GRE-IKE
encryption aes-cbc-256
integrity sha512
group 19 # Diffie-Hellman Group 19 (256-bit)
Étape 2 : Configurer IPSec (Phase 2)
crypto ipsec profile GRE-IPSEC
set ikev2-profile GRE-POLICY
Étape 3 : Appliquer au tunnel
cisco
interface Tunnel0
tunnel protection ipsec profile GRE-IPSEC
Partie 4 : Dépannage et Bonnes Pratiques
4.1 Commandes de débogage
Commande Utilité
show crypto session Affiche les sessions IPSec.
debug crypto ikev2 Débogage IKEv2.
show interface tunnel 0 Vérifie l'état du tunnel GRE.
4.2 Bonnes Pratiques
1. Toujours utiliser IPSec pour sécuriser les tunnels GRE.
2. Limiter la MTU à 1400 octets pour éviter la fragmentation.
3. Monitorer le tunnel avec SNMP ou NetFlow.
Partie 5 : Alternatives au GRE
Protocole Avantages Inconvénients
Meilleur pour les datacenters (overlay
VXLAN Complexe à configurer.
networks).
WireGuard Moderne, chiffré, performant. Pas de support multicast.
Ne supporte pas tous les
IPSec seul Sécurisé, natif.
protocoles.
Résumé Final
GRE = Tunneling simple pour interconnecter des réseaux.
Configuration :
o Définir tunnel source/destination.
o Ajouter des routes statiques.
Sécurité : Toujours utiliser GRE + IPSec.
Alternatives : VXLAN (cloud), WireGuard (VPN moderne).
À Vous de Jouer !
1. Lab : Configurez un tunnel GRE entre deux routeurs GNS3.
2. Test : Ajoutez IPSec et observez la différence avec Wireshark.
3. Challenge : Faites passer OSPF à travers le tunnel
EXPLICATIONS DES CONCEPTS CLÉ
Dans un réseau, IP (Internet Protocol) est aujourd’hui le protocole standard utilisé pour
faire circuler les données.
Mais avant que IP devienne dominant, il existait d’autres protocoles comme :
� Protocole Utilisé par... Fonction
IPX Réseaux Novell NetWare Communication en entreprise
AppleTalk Ordinateurs Apple Partage de fichiers, imprimantes
Ces protocoles sont appelés non-IP, car ils ne sont pas basés sur Internet Protocol (IP).
📦 Problème rencontré :
Les réseaux modernes (comme Internet) ne transportent que des paquets IP.
Donc, si une entreprise utilisait IPX ou AppleTalk sur plusieurs sites distants, elle ne
pouvait pas les faire transiter sur Internet directement.
� Solution : utiliser un tunnel GRE
👉 Le GRE permet de prendre un paquet IPX ou AppleTalk, de l'encapsuler dans un
paquet IP, puis de l’envoyer à travers Internet.
🎁 Analogie :
Imagine que tu veux envoyer une lettre avec des caractères spéciaux que la Poste normale
ne reconnaît pas.
Tu mets cette lettre dans une enveloppe standard (IP), que la Poste comprend.
À la réception, on ouvre l’enveloppe et retrouve la lettre d’origine (IPX,
AppleTalk…).
🎯 Pourquoi c'est utile ?
Pour connecter des réseaux anciens (ex: systèmes industriels, vieilles
imprimantes)
Pour maintenir la compatibilité avec des applications qui ne parlent pas IP
Pour migrer progressivement vers un réseau moderne basé sur IP
📝 Exemple concret :
Deux succursales utilisent un ancien logiciel de gestion qui fonctionne
uniquement en IPX.
Elles veulent communiquer via Internet.
Solution : créer un tunnel GRE entre les deux, pour encapsuler IPX dans IP et
assurer la communication.
Tunnel GRE: Generic Routing Encapsulation
Tunnel GRE: Dans ce cours, nous allons voir la mise en place d’un VPN, avec une
encapsulation GRE !
Le protocole GRE, permets de placer les paquets IP dans un autre paquet afin qu’il puisse
être envoyé dans un tunnel.
Comme nous pouvons le voir sur cette topologie, le tunnel GRE ressemble à un lien
normal, sauf qu’il est virtuel.
Il faut donc lui configurer une IP, et on utilisera le réseau 192.168.10.0.
Le routeur 1, porte l’IP en .1,
et le routeur 2, l’IP en .2
Configuration d'un tunnel GRE
Passons à la configuration d'un tunnel pour voir comment il fonctionne !
Le tunnel GRE (Generic Routing Encapsulation) offre une solution efficace pour
encapsuler les paquets IP, permettant ainsi de les transmettre à travers un réseau
intermédiaire de manière sécurisée.
Les routeurs 1 et 2 peuvent se rejoindre, grâce au routeur du fournisseur d’accès à
internet !
Pour rendre les choses plus intéressantes, nous allons configurer aussi un routage OSPF
pour que les deux réseaux locaux puissent communiquer au travers d’internet !
Voici les étapes à suivre pour configurer un tunnel GRE :
Création du tunnel
La première étape consiste à créer le tunnel GRE en utilisant la commande appropriée.
Ce processus est similaire à la création d'une interface réseau. Dans notre exemple, nous
utiliserons l'interface Tunnel 1 pour le tunnel GRE.
|On va commencer par le créer !
La commande « interface Tunnel » permet de créer le tunnel, comme pour une
interface ! Ici, on choisit l’interface 1 du tunnel !
Ensuite, il faut configurer une IP source et une IP destination dans notre tunnel.
On prend les IP’s publics de nos routeurs pour construire ce tunnel.
Configuration des adresses source et destination
Une fois le tunnel créé, il est nécessaire de configurer les adresses IP source et destination
pour le tunnel. Ces adresses doivent être des adresses publiques correspondant aux
routeurs entre lesquels le tunnel est établi.
Attribution d'une adresse IP au tunnel
Comme pour toute interface réseau, le tunnel GRE doit se voir attribuer une adresse IP.
|Maintenant que notre tunnel est en place, on va lui assigner une adresse IP !
Tout comme toute autre interface, il faut y mettre une IP.
Après avoir suivi ces étapes, le tunnel GRE est prêt à être utilisé pour acheminer le
trafic entre les routeurs configurés.
Désormais notre Tunnel s’exécute correctement !
|Nous allons continuer en configurant OSPF, pour que les routeurs 1 et 2 puissent
communiquer !
Configuration du routage OSPF
Outre la mise en place du tunnel GRE, il est essentiel d'établir un protocole de routage
pour assurer la connectivité entre les réseaux locaux des routeurs 1 et 2 à travers Internet.
Pour ce faire, nous allons configurer OSPF (Open Shortest Path First) :
Activation du routage OSPF
Tout d'abord, il est nécessaire d'activer OSPF sur les interfaces concernées et de spécifier
les zones OSPF appropriées.
Échange des informations de routage
Une fois OSPF activé, les routeurs 1 et 2 échangeront automatiquement des informations
de routage pour mettre à jour leurs tables de routage respectives et permettre la
communication entre les réseaux locaux.
Vérification de la connectivité
Après avoir configuré OSPF, il est important de vérifier la connectivité entre les
routeurs pour s'assurer que le routage fonctionne correctement à travers le
tunnel.
En suivant ces étapes, le routage OSPF sera configuré avec succès, permettant aux
réseaux locaux des routeurs 1 et 2 de communiquer de manière transparente à travers
Internet via le tunnel GRE établi.
Conclusion
La mise en place d'un tunnel GRE (Generic Routing Encapsulation) offre une solution
efficace pour encapsuler les paquets IP, permettant ainsi de les transmettre à travers un
réseau intermédiaire de manière sécurisée. Lors de la configuration d'un tel tunnel,
plusieurs étapes sont nécessaires pour assurer son bon fonctionnement et son intégration
harmonieuse dans l'infrastructure réseau existante.
La première étape consiste à créer le tunnel GRE en utilisant la commande appropriée,
similaire à la création d'une interface réseau conventionnelle. Il est impératif de
configurer soigneusement les adresses IP source et destination pour le tunnel, en veillant
à ce qu'elles correspondent aux adresses publiques des routeurs entre lesquels le tunnel
est établi. Une fois le tunnel créé et les adresses configurées, il est essentiel de lui
attribuer une adresse IP, comme pour toute autre interface réseau.
Avec le tunnel en place, il devient crucial d'établir un protocole de routage pour assurer la
connectivité entre les réseaux locaux des routeurs à travers Internet. Dans cet article, nous
avons opté pour OSPF (Open Shortest Path First), un protocole de routage dynamique
largement utilisé pour sa fiabilité et son efficacité.
La configuration d'OSPF implique d'activer le protocole sur les interfaces concernées des
routeurs, en spécifiant les zones OSPF appropriées pour chaque interface. Une fois OSPF
activé, les routeurs échangeront automatiquement des informations de routage, mettant à
jour leurs tables de routage respectives pour permettre la communication transparente
entre les réseaux locaux.
Après la configuration d'OSPF, il est impératif de vérifier la connectivité entre les
routeurs pour s'assurer que le routage fonctionne correctement à travers le tunnel. Cette
vérification garantit que les données peuvent être acheminées de manière fiable et
efficace entre les réseaux locaux des routeurs, renforçant ainsi la robustesse de l'ensemble
de l'infrastructure réseau.
En conclusion, la mise en place d'un tunnel GRE avec OSPF offre une solution puissante
pour établir un réseau privé virtuel sécurisé et fiable à travers Internet. En suivant les
étapes de configuration décrites dans cet article, les administrateurs réseau peuvent
garantir une connectivité optimale entre les différents segments de leur réseau, facilitant
ainsi le partage de données et la communication entre les utilisateurs, où qu'ils se
trouvent. En intégrant judicieusement les technologies de tunneling et de routage, les
organisations peuvent renforcer leur infrastructure réseau et répondre aux besoins
croissants en matière de connectivité sécurisée et transparente dans un monde de plus en
plus interconnecté.
En synthèse, la combinaison d'un tunnel et du routage OSPF constitue une approche
stratégique pour garantir une connectivité réseau sécurisée et transparente, adaptée aux
exigences modernes de communication et de partage de données dans un environnement
interconnecté en constante évolution.