Les Tunnels GRE
Encapsuler le trafic d’un site à l’autre à travers un réseau WAN : principe, encapsulation et configuration des tunnels GRE.
Présentation du GRE
Protocole GRE :
- Défini dans la RFC 2784.
- Port 47.
- Protocole à part entière ( nous avons le TCP , l’UDP ET le GRE).
- Rajoute un en-tête de 24 octets (En-tête IP de 20 octets + 4 octets GRE).
- Tunnel NON CRYPTÉ.
- possibilité d’encrypter notre tunnel GRE via IPsec.
Avantage d’un tunnel GRE :
- Flexibilité.
- Faire transiter des flux multicasts (Vidéo, Packet Hello) au travers d’un réseau WAN.
Dans un monde sans GRE
Imaginez une entreprise présente sur deux sites géographiques distants possédant chacun 3 plages d’adresses réseau :
Site 1 :
- Lan 11
- Lan 12
- Lan 13
Site 2 :
- Lan 21
- Lan 22
- Lan 23
Ces deux sites sont reliés via un prestataire de service. Appelons ce réseau Réseau WAN.

Conséquences :
- Le réseau WAN connait toutes nos plages d’adresse IP
- Impossible de faire transiter des flux multicast
- Si on crée une nouvelle plage d’adresse, nous devons en informer notre fournisseur d’accès (et cela a un coût)
Dans un monde avec GRE

Conséquences :
- Le réseau WAN connait uniquement nos IP WAN.
- Possibilité de faire transiter des flux multicast.
- Si on crée une nouvelle plage d’adresse, pas besoin d’informer notre fournisseur d’accès (et cela a un coût)
Encapsulation
Mais que ce passe-t-il réellement ?

- Le Routeur R1 reçoit un paquet du Lan 11 pour le LAN 12
- R1 va encapsuler ce paquet en entier et va rajouter son adresse IP Source (1.1.1.1) et l’adresse WAN du routeur R2 (2.2.2.1)
- Notre paquet GRE va transiter sur le réseau WAN
- R2 reçoit ce paquet, le désencapsule, et le remet au réel destinataire (Lan 21).
Ce qui nous donne :

Configuration d’un tunnel GRE
Architecture de base

Configuration de tunnels GRE
Router-PARIS(config)# interface tunnel10
Router-PARIS(config-if)# description PARIS-NICE
Router-PARIS(config-if)# ip address 1.1.10.1 255.255.255.248
Router-PARIS(config-if)# tunnel source A.A.A.2
Router-PARIS(config-if)# tunnel destination B.B.B.2
Router-PARIS(config)# interface tunnel20
Router-PARIS(config-if)# description PARIS-TOURS
Router-PARIS(config-if)# ip address 1.1.20.1 255.255.255.248
Router-PARIS(config-if)# tunnel source A.A.A.2
Router-PARIS(config-if)# tunnel destination C.C.C.2Router-NICE(config)# interface tunnel10
Router-NICE(config-if)# description PARIS-NICE
Router-NICE(config-if)# ip address 1.1.10.2 255.255.255.248
Router-NICE(config-if)# tunnel source B.B.B.2
Router-NICE(config-if)# tunnel destination A.A.A.2Router-TOURS(config)# interface tunnel20
Router-TOURS(config-if)# description PARIS-TOURS
Router-TOURS(config-if)# ip address 1.1.20.2 255.255.255.248
Router-TOURS(config-if)# tunnel source C.C.C.2
Router-TOURS(config-if)# tunnel destination A.A.A.2Configuration du Routage
En matière de routage, nous devons distinguer deux mondes :
- Avant le montage des Tunnels GRE (Underlying).
- Quand les tunnels GRE sont montés (Overlay).
Routage UNDERLYING

Le site de PARIS veut monter un tunnel GRE avec NICE.
Le tunnel GRE aura comme IP source la patte WAN du routeur de site de PARIS et comme IP destination la patte WAN du routeur de site de NICE.
Il va donc falloir indiquer par quel chemin le routeur de PARIS va pouvoir joindre la patte WAN du routeur de site de NICE. (Et vice versa).
Routage OVERLAY

Tous nos sites clients vont apprendre leurs routes par défaut via le protocole OSPF.
La route par défaut sera donc leurs tunnels GRE.
Ce protocole va aussi permettre aux sites clients d’annoncer au site d’accueil les réseaux présents sur leurs sites géographiques.
Travaux pratiques

R1(config)# interface FastEthernet 0/1
R1(config-if)# description VERS_LAN
R1(config-if)# ip address 192.168.10.254 255.255.255.0
R1(config-if)# exit
R1(config)# interface FastEthernet 0/2
R1(config-if)# description VERS_R2
R1(config-if)# ip address 192.168.30.1 255.255.255.0
R1(config-if)# exit
R1(config)# interface tunnel 1
R1(config-if)# description TUNNEL
R1(config-if)# ip address 1.1.10.1 255.255.255.248
R1(config-if)# tunnel source 192.168.30.1
R1(config-if)# tunnel destination 192.168.40.1
R1(config-if)# exit
R1(config)# ip route 192.168.20.0 255.255.255.0 1.1.10.2
R1(config)# ip route 192.168.40.0 255.255.255.0 192.168.30.2R2(config)# interface FastEthernet 0/1
R2(config-if)# description VERS_R1
R2(config-if)# ip address 192.168.10.254 255.255.255.0
R2(config-if)# exit
R2(config)# interface FastEthernet 0/2
R2(config-if)# description VERS_R3
R2(config-if)# ip address 192.168.30.1 255.255.255.0
R2(config-if)# exitR3(config)# interface FastEthernet 0/1
R3(config-if)# description VERS_LAN
R3(config-if)# ip address 192.168.20.254 255.255.255.0
R3(config-if)# exit
R3(config)# interface FastEthernet 0/2
R3(config-if)# description VERS_R2
R3(config-if)# ip address 192.168.30.1 255.255.255.0
R3(config-if)# exit
R3(config)# interface tunnel 1
R3(config-if)# description TUNNEL
R3(config-if)# ip address 1.1.10.2 255.255.255.248
R3(config-if)# tunnel source 192.168.40.1
R3(config-if)# tunnel destination 192.168.30.1
R3(config-if)# exit
R3(config)# ip route 192.168.10.0 255.255.255.0 1.1.10.1
R3(config)# ip route 192.168.30.0 255.255.255.0 192.168.40.2
