VPN site to site Ipsec
>>> VPN : Virtual Private Network
Description :

Cet article vous explique comment réaliser un VPN IPsec entre deux routeurs Cisco. Le but d’un VPN est d’authentifier et de chiffrer les données transmises où seul le routeur final pourra lire les données. Je détaillerai dans un premier temps la configuration de base que l’on doit faire sur les différents équipements avant de configurer le VPN.

>>> VPN : Virtual Private Network

Sommaire :

I) Explications
II) Schéma réseau
III) Configurations de base
1) Routeur R1
2) Routeur R2
3) Routeur R3
4) Test de fonctionnement
IV) Configuration du VPN
1) Configuration VPN sur R1
2) Configuration VPN sur R3
3) Vérifications


I) Explications

Un VPN (Virtual Private Network) est un réseau virtuel s’appuyant sur un autre réseau comme Internet. Il permet de faire transiter des informations, entre les différents membres de ce VPN, le tout de manière sécurisée.
On peut considérer qu’une connexion VPN revient à se connecter en réseau local mais en utilisant Internet. On peut ainsi communiquer avec les machines de ce réseau en prenant comme adresse de destination, l’adresse IP local de la machine que l’on veut atteindre.

Il existe plusieurs types de VPN fonctionnant sur différentes couches réseau, voici les VPN que nous pouvons mettre en place sur un serveur dédié ou à la maison :

 PPTP : Facile à mettre en place, mais beaucoup d’inconvénients liés à la lourdeur du protocole de transport GRE, le matériel réseau (routeur ADSL, wifi, doit être compatible avec le PPTP)
 Ipsec : Plus efficace que le PPTP en termes de performance, mais aussi très contraignant au niveau de la mise en place
 OpenVPN : La Rolls des VPN, il suffit de se prendre un peu la tête sur la mise en place, mais son utilisation est très souple.

Dans notre cas nous allons utiliser IPsec.

II) Schéma réseau

Voici notre réseau :

III) Configurations de base

Nous commencerons par configurer notre PC et notre serveur en leur attribuant la bonne configuration réseau. Nous attaquerons ensuite la configuration du routeur R1 :

1) Routeur R1

On commence par le Hostname :

Router#configure terminal
Router(config)#hostname R1

Nous configurons ensuite les adresses IP des deux interfaces :

R1(config)#interface FastEthernet 0/1
R1(config-if)#ip address 192.168.1.254 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#interface FastEthernet 0/0
R1(config-if)#ip address 10.1.1.1 255.255.255.252
R1(config-if)#no shutdown
R1(config-if)#exit

Nos interfaces sont maintenant configurées, il nous reste à configurer le routage. J’ai choisi de faire du routage RIP, c’est un choix qui n’engage que moi et qui ne vous empêche pas de faire un routage OSPF ou routage statique si vous préférez.

R1(config)#router rip
R1(config-router)#version 2
R1(config-router)#no auto-summary
R1(config-router)#network 192.168.1.0
R1(config-router)#network 10.1.1.0
R1(config-router)#exit

La configuration de base de notre routeur R1 est terminée.

2) Routeur R2

Même procédure pour notre routeur R2 :

On commence par le Hostname :

Router#configure terminal
Router(config)#hostname R2

Nous configurons ensuite les adresses IP des deux interfaces :

R2(config)#interface FastEthernet 0/1
R2(config-if)#ip address 10.2.2.2 255.255.255.252
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#interface FastEthernet 0/0
R2(config-if)#ip address 10.1.1.2 255.255.255.252
R2(config-if)#no shutdown
R2(config-if)#exit

Nos interfaces sont maintenant configurées, il nous reste à configurer le routage.

R2(config)#router rip
R2(config-router)#version 2
R2(config-router)#no auto-summary
R2(config-router)#network 10.2.2.0
R2(config-router)#network 10.1.1.0
R2(config-router)#exit

La configuration de base de notre routeur R2 est terminée.

3) Routeur R3

Même procédure pour notre routeur R3 :

On commence par le Hostname :

Router#configure terminal
Router(config)#hostname R3

Nous configurons ensuite les adresses IP des deux interfaces :

R3(config)#interface FastEthernet 0/1
R3(config-if)#ip address 192.168.3.254 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#interface FastEthernet 0/0
R3(config-if)#ip address 10.2.2.1 255.255.255.252
R3(config-if)#no shutdown
R3(config-if)#exit

Nos interfaces sont maintenant configurées, il nous reste à configurer le routage.

R3(config)#router rip
R3(config-router)#version 2
R3(config-router)#no auto-summary
R3(config-router)#network 10.2.2.0
R3(config-router)#network 192.168.3.0
R3(config-router)#exit

La configuration de base de notre routeur R3 est terminée.

4) Test de fonctionnement

Nous essayons de pinger le serveur depuis le PC :

Voici le fichier Packet tracert représentant la configuration de base de notre réseau :

IV) Configuration du VPN

Il faut savoir que le VPN se configure juste sur les Routeurs d’extrémités dans notre cas R1 et R3 on n’aura aucune modification à faire sur R2.

1) Configuration VPN sur R1

Première étape :

Commençons par notre routeur R1, vous devez vérifier que l’IOS de vos routeurs supporte le VPN. On active ensuite les fonctions crypto du routeur :

R1(config)#crypto isakmp enable

Cette fonction est activée par défaut sur les IOS avec les options cryptographiques.

Deuxième étape :

Nous allons configurer la police qui détermine quelle encryptions on utilise, quelle Hash quelle type d’authentification, etc.

R1(config)#crypto isakmp policy 10
R1(config-isakmp)#authentication pre-share
R1(config-isakmp)#encryption 3des
R1(config-isakmp)#hash md5
R1(config-isakmp)#group 5
R1(config-isakmp)#lifetime 3600
R1(config-isakmp)#exit

group 5 : Spécifie l’identifiant Diffie-Hellman
lifetime : Spécifie le temps de validité de la connexion avant une nouvelle négociation des clefs.

Troisième étape :

Ensuite nous devons configurer la clef :

R1(config)#crypto isakmp key mot_de_passe address 10.2.2.1

Sur certains routeur avec certains IOS la commande ne fonctionne pas car le routeur demande si le mot de passe doit être chiffré ou pas, tapez cette commande :

R1(config)#crypto isakmp key 6 mot_de_passe address 10.2.2.1

Quatrième étape :

Configurons les options de transformations des données :

R1(config)#crypto ipsec transform-set 50 esp-3des esp-md5-hmac

esp : Signifie Encapsulation Security Protocol

N’oubliez pas d’utiliser les mêmes protocoles d’encryptions et de Hash utilisés dans la première étape.

Dans notre cas :

Encryption : 3des
hash : md5

On fixe ensuite une valeur de Lifetime :

R1(config)#crypto ipsec security-association lifetime seconds 1800

Cinquième étape :

La 5éme étape consiste à créer une ACL qui va déterminer le trafic autorisé.

R1(config)#access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255

Dernière étape de la configuration :

Dans cette dernière étape nous configurons la crypto map qui va associé l’access-list, le traffic, et la destination :

R1(config)#crypto map nom_de_map 10 ipsec-isakmp
R1(config-crypto-map)#set peer 10.2.2.1
R1(config-crypto-map)#set transform-set 50
R1(config-crypto-map)#set security-association lifetime seconds 900
R1(config-crypto-map)#match address 101
R1(config-crypto-map)#exit

La configuration de R1 est presque terminée nous devons appliquer la crypto map sur l’interface de sortie :

Dans notre cas FastEthernet 0/0.

R1(config)#interface FastEthernet 0/0
R1(config-if)#crypto map nom_de_map
*Jan  3 07:16:26.785: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON

Un message vous indique que la crypto map fonctionne.

2) Configuration VPN sur R3

On refait la même configuration que sur R1 :

Première étape :

R3(config)#crypto isakmp enable

Deuxième étape :

R3(config)#crypto isakmp policy 10
R3(config-isakmp)#authentication pre-share
R3(config-isakmp)#encryption 3des
R3(config-isakmp)#hash md5
R3(config-isakmp)#group 5
R3(config-isakmp)#lifetime 3600
R3(config-isakmp)#exit

Troisième étape :

R3(config)#crypto isakmp key mot_de_passe address 10.1.1.1

ou

R3(config)#crypto isakmp key 6 mot_de_passe address 10.1.1.1

Quatrième étape :

R3(config)#crypto ipsec transform-set 50 esp-3des esp-md5-hmac
R3(config)#crypto ipsec security-association lifetime seconds 1800

Cinquième étape :

R3(config)#access-list 101 permit ip 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255 

Dernière étape de la configuration :

R3(config)#crypto map nom_de_map 10 ipsec-isakmp
R3(config-crypto-map)#set peer 10.1.1.1
R3(config-crypto-map)#set transform-set 50
R3(config-crypto-map)#set security-association lifetime seconds 900
R3(config-crypto-map)#match address 101
R3(config-crypto-map)#exit
R3(config)#interface FastEthernet 0/0
R3(config-if)#crypto map nom_de_map
*Jan  3 07:16:26.785: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON

Voici le fichier Packet tracert représentant la configuration avec le VPN IPsec :

3) Vérifications

On réalise un ping pour voir si la communication n’est pas coupée :

Nous vérifions les informations retournées par le VPN sur R1 et R3 :

Nous vérifions la map vpn :

Pour information j’ai nommé ma map "vpn".

On vérifie les opérations d’IPsec :

Pour finir on vérifie les opérations d’Isakmp :