Configurez IPSEC

Configurez le VPN IPSEC

Vous allez configurer la phase 1 du VPN IPSEC, qui permet d’établir un canal sécurisé pour négocier le tunnel.

OC-SITE-A(config)#crypto isakmp policy 1

OC-SITE-A(config-isakmp)#authentication pre-share

OC-SITE-A(config-isakmp)#encryption aes 256

OC-SITE-A(config-isakmp)#hash sha

OC-SITE-A(config-isakmp)#group 5

OC-SITE-A(config-isakmp)#lifetime 21600

 

Permettez-moi de vous expliquer la fonction des commandes mentionnées ci-dessus.

  • crypto isakmp policy 1: permet de crĂ©er une politique ISAKMP qui utilise IKE pour nĂ©gocier.

  • authentication pre-share: met en place une authentification par clĂ© prĂ©partagĂ©e.

  • encryption aes 256: dĂ©finit l’algorithme de chiffrement utilisĂ© pour sĂ©curiser les Ă©changes.

  • group 5: dĂ©finit le groupe Diffie-Hellman 5, sur 1536 bits (valeur max dans Packet tracer, on utilise de prĂ©fĂ©rence le groupe 15 en 3072 bits sur un vrai routeur / firewall).

  • hash sha: dĂ©finit l’algorithme de Hachage, pour assurer l’intĂ©gritĂ© des donnĂ©es (comme pour Diffie-Hellman, on ne peut pas dans Packet Tracer dĂ©finir une valeur de Hash, on recommande d’utiliser SHA512 sur un vrai Ă©quipement)

  • lifetime 21600: dĂ©finit la durĂ©e de vie de l’association de sĂ©curitĂ© ISAKMP, Ă  la fin de ce dĂ©lai, une nouvelle SA doit ĂŞtre Ă©tablie. Notez qu’en cas de perte du correspondant, il est possible sur un vrai Ă©quipement, d’activer DPD (Dead Peer Detection). Ce mĂ©canisme, optionnel en IKEv1 et intĂ©grĂ© nativement en IKEv2 permet de dĂ©tecter rapidement la perte du correspondant et de dĂ©clencher une renĂ©gociation ou une suppression de la SA avant expiration du dĂ©lai.

La configuration est exactement la mĂŞme (et doit ĂŞtre exactement la mĂŞme) sur OC-SITE-B :

OC-SITE-B(config)#crypto isakmp policy 1

OC-SITE-B(config-isakmp)#authentication pre-share

OC-SITE-B(config-isakmp)#encryption aes 256

OC-SITE-B(config-isakmp)#hash sha

OC-SITE-B(config-isakmp)#group 5

OC-SITE-B(config-isakmp)#lifetime 21600

La suite de la phase 1 consiste à définir la clé pré partagée avec le correspondant : 

OC-SITE-A(config)#crypto isakmp key OpenClassR00m$IP5ecL@b address 59.62.1.1

OC-SITE-B(config)#crypto isakmp key OpenClassR00m$IP5ecL@b address 62.59.1.1

Avant de configurer la phase 2, vous allez configurer sur OC-SITE-A et OC-SITE-B une ACL qui va permettre de définir le flux qui doit passer dans le tunnel : 

OC-SITE-A(config)#ip access-list extended VPN

OC-SITE-A(config-ext-nacl)#permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

 

OC-SITE-B(config)#ip access-list extended VPN

OC-SITE-B(config-ext-nacl)#permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255

Une fois les ACL VPN créées, vous allez configurer la phase 2. Commencez par créer le TRANSFORM-SET, qui va permettre de faire appel au protocole ESP, chargé de chiffrer et d’assurer l’intégrité des données qui passent dans le tunnel IPSEC : 

OC-SITE-A(config)#crypto ipsec transform-set OCSET esp-aes 256 esp-sha-hmac

 

OC-SITE-B(config)#crypto ipsec transform-set OCSET esp-aes 256 esp-sha-hmac

Dans la commande ci-dessus, la même sur OC-SITE-A et OC-SITE-B, vous créez un TRANSFORM-SET nommé OCSET qui utilise ESP avec AES 256 pour le chiffrement et SHA pour l’intégrité.

Enfin, vous allez créer une CRYPTO MAP, qui est un objet qui comprend : 

  • Le TRANSFORM-SET

  • L’ACL pour identifier le flux qui doit passer dans le VPN

  • la durĂ©e de l’association de sĂ©curitĂ© de phase 2

  • l’adresse du correspondant

Avant de créer cette CRYPTO MAP, je vous propose de faire un point sur la SA : 

  • En phase 1, une Security Association (SA) est Ă©tablie avec une durĂ©e de vie de 21600 secondes (6 heures). Ă€ son expiration, une nouvelle paire de clĂ©s Diffie-Hellman (DH) est gĂ©nĂ©rĂ©e, ce qui permet de rĂ©duire le risque de compromission des clĂ©s Ă  long terme.

  • En phase 2, les clĂ©s utilisĂ©es pour chiffrer et authentifier les donnĂ©es sont dĂ©rivĂ©es de la clĂ© Ă©tablie en phase 1. On ne refait pas un Ă©change Diffie-Hellman complet Ă  chaque expiration de SA de phase 2, sauf si l’option PFS (Perfect Forward Secrecy) est activĂ©e. Dans ce cas, une nouvelle clĂ© est gĂ©nĂ©rĂ©e, ce qui renforce la sĂ©curitĂ© : mĂŞme si une clĂ© est compromise, les autres sessions restent protĂ©gĂ©es. La durĂ©e de vie d’une SA de phase 2 est gĂ©nĂ©ralement configurĂ©e Ă  3600 secondes (1 heure).

Voici la configuration de la CRYPTO MAP sur OC-SITE-A et OC-SITE-B :  

OC-SITE-A(config)#crypto map OCMAP 10 ipsec-isakmp

OC-SITE-A(config-crypto-map)#set transform-set OCSET

OC-SITE-A(config-crypto-map)#set security-association lifetime seconds 3600

OC-SITE-A(config-crypto-map)#set peer 59.62.1.1

OC-SITE-A(config-crypto-map)#match address VPN

OC-SITE-A(config-crypto-map)#exit

 

OC-SITE-B(config)#crypto map OCMAP 10 ipsec-isakmp

OC-SITE-B(config-crypto-map)#set transform-set OCSET

OC-SITE-B(config-crypto-map)#set security-association lifetime seconds 3600

OC-SITE-B(config-crypto-map)#set peer 62.59.1.1

OC-SITE-B(config-crypto-map)#match address VPN

OC-SITE-B(config-crypto-map)#exit

Derrière le nom donné à la  CRYPTO MAP  ,  OCMAP  dans le cas présent, vous trouverez le numéro 10. Il s’agit d’un numéro de séquence, car vous ne pouvez appliquer qu’une seule  CRYPTO MAP  par interface, donc pour chaque VPN différent, si vous en avez plusieurs (et ce sera le cas à la suite de ce cours), vous devrez utiliser un numéro de séquence différent pour chaque VPN.

Les autres commandes sont assez explicites : vous définissez la durée de SA de phase 2 à 3600 secondes, vous appelez le  TRANSFORM-SET OCSET  , vous définissez l’IP du correspondant distant et vous appelez l’ACL qui permet d’identifier le flux qui peut passer dans le tunnel.

Il suffit maintenant d’appliquer cette  CRYPTO MAP  sur l’interfac ou se trouve votre IP publique : 

OC-SITE-A(config)#int gig 0/1

OC-SITE-A(config-if)#crypto map OCMAP

 

OC-SITE-B(config)#int gig 0/1

OC-SITE-B(config-if)#crypto map OCMAP

Un message de log confirme l’activation de la  CRYPTO MAP

*Jan 3 07:16:26.785: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON

Vous voici arrivé à l’instant de vérité : faites un ping continu entre chaque PC : 

Cisco Packet Tracer PC command Line 1.0

C:\>ping -t 192.168.2.1 with 32 bytes of data:

Reply from 192.168.2.1: bytes=32 time<1ms TTL=126

 

Cisco Packet Tracer PC command Line 1.0

C:\>ping -t 192.168.1.1 with 32 bytes of data:

Reply from 192.168.1.1: bytes=32 time<1ms TTL=126

Ça fonctionne ! Le VPN est établi, vous pouvez utiliser les commandes suivantes pour vérifier son fonctionnement : 

OC-SITE-A#show crypto isakmp sa

IPv4 Crypto ISAKMP SA

dst src state conn-id slot status

59.62.1.1 62.59.1.1 QM_IDLE 1076 0 ACTIVE

 

OC-SITE-B#show crypto isakmp sa

IPv4 Crypto ISAKMP SA

dst src state conn-id slot status

62.59.1.1 59.62.1.1 QM_IDLE 1070 0 ACTIVE

La commande ci-dessus confirme que la phase 1 est établie (ACTIVE). QM_IDLE indique que la négociation de phase 1 est terminée.

OC-SITE-A#show crypto ipsec sa

 

interface: GigabitEthernet0/1

  Crypto map tag: OCMAP, local addr 62.59.1.1

protected vrf: none

local ident (addr/mask/prot/port): (192.168.1.0/255.255.255.0/0/0)

remote ident (addr/mask/prot/port): (192.168.2.0/255.255.255.0/0/0)

current_peer 59.62.1.1 port 500

   PERMIT, flags={origin_is_acl,}

#pkts encaps: 688, #pkts encrypt: 688, #pkts digest: 0

#pkts decaps: 688, #pkts decrypt: 688, #pkts verify: 0

#pkts compressed: 0, #pkts decompressed: 0

#pkts not compressed: 0, #pkts compr. failed: 0

#pkts not decompressed: 0, #pkts decompress failed: 0

#send errors 0, #recv errors 0

La commande  ci-dessus confirme que la phase 2 est bien établie, les paquets sont bien chiffrés et déchiffrés, notez que la valeur #pkts digest: 0 et #pkts verify: 0 est anormal, c’est un bug connu dans Packet Tracer, un vrai IOS indiquerait ici les paquets dont l’intégrité à été vérifiée.

Félicitations, vous avez configuré votre premier VPN IPSEC en lignes de commandes ! 

Configurez un second VPN IPSEC

Vous allez maintenant ajouter un troisième site, le site OC-SITE-C, la topologie ressemble maintenant à ceci : 

Schéma réseau avec trois sites OC-SITE-A, B et C connectés via un WAN. Chaque site relie un PC local avec des sous-réseaux privés distincts.
La topologie avec trois sites

Le routeur 1941 dispose de deux interfaces Ethernet RJ45, pour établir une connexion entre WAN et OC-SITE-C, ajoutez sur ces deux routeurs une carte HWIC-1GE-SFP dans laquelle vous ajouterez un module GLC-LH-SMD : 

Interface d’un routeur Cisco 1941 dans Packet Tracer, affichant les modules physiques, ports réseau, alimentation, console et options d’extension à gauche.
Ajoutez la carte HWIC-1GE-SFP, puis un module GLC-LH-SMD

Vous pourrez ensuite relier les deux routeurs en fibre optique.

Voici la configuration de base que vous allez mettre en place usr OC-SITE-C : 

OC-SITE-C(config)#int gig 0/1/0

OC-SITE-C(config-if)#ip address 80.59.62.1 255.255.255.252

OC-SITE-C(config-if)#no shut

OC-SITE-C(config-if)#ip nat outside

OC-SITE-C(config-if)#exit

OC-SITE-C(config)#int gig 0/0

OC-SITE-C(config-if)#ip address 192.168.3.254 255.255.255.0

OC-SITE-C(config-if)#ip nat inside

OC-SITE-C(config-if)#no shut

OC-SITE-C(config-if)#exit

 

OC-SITE-C(config)#ip route 0.0.0.0 0.0.0.0 80.59.62.2

 

OC-SITE-C(config)#ip access-list extended NAT

OC-SITE-C(config-ext-nacl)#deny ip 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255

OC-SITE-C(config-ext-nacl)#deny ip 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255

OC-SITE-C(config-ext-nacl)#permit ip 192.168.3.0 0.0.0.255 any

 

OC-SITE-C(config)#ip nat inside source list NAT interface gig 0/1/0 overload

Remarquez que dans l’ACL NAT, on interdit le flux du LAN 192.168.3.0/24 vers 192.168.1.0/24 et 192.168.2.0/24, ce qui est normal car ces flux doivent passer dans les VPN.

Vous allez devoir également actualiser l’ACL de NAT sur OC-SITE-A et OC-SITE-B : 

OC-SITE-A(config)#ip access-list extended NAT

OC-SITE-A(config-ext-nacl)#15 deny ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255

 

OC-SITE-B(config)#ip access-list extended NAT

OC-SITE-B(config-ext-nacl)#15 deny ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255

Vous avez sans doute remarqué un “15” avant l’ajout de l’état d’ACL. Ce 15 correspond au numéro de séquence, de base ce numéro de séquence va de 10 en 10, c’est à dire qu'à chaque fois que vous ajoutez une ligne dans votre ACL, elle a un numéro de séquence incrémenté de 10 en 10 : 10 20 30 40 etc… 

Si on souhaite ajouter une séquence d’interdiction avant la séquence qui autorise tout le reste à être traduit, il faut choisir un numéro de séquence inférieur au numéro de séquence qui autorise tout le reste du flux à être traduit, ce qui donne le résultat suivant quand vous affichez l’ACL : 

OC-SITE-A#show access-lists NAT

Extended IP access list NAT

deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

deny ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255

permit ip 192.168.1.0 0.0.0.255 any

 

OC-SITE-B#show access-lists NAT

Extended IP access list NAT

deny ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255

deny ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255

permit ip 192.168.2.0 0.0.0.255 any

Comme vous pouvez le constater ci-dessus, la nouvelle séquence d’interdiction est correctement positionnée dans l’ACL.

Il faut ensuite créer les ACL dédiées à ce deuxième VPN : 

OC-SITE-C(config)#ip access-list extended C-TO-A

OC-SITE-C(config-ext-nacl)#permit ip 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255

OC-SITE-C(config-ext-nacl)#exit

OC-SITE-C(config)#ip access-list extended C-TO-B

OC-SITE-C(config-ext-nacl)#permit ip 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255

OC-SITE-C(config-ext-nacl)#exit

OC-SITE-A(config)#ip access-list extended A-TO-C

OC-SITE-A(config-ext-nacl)#permit ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255

OC-SITE-B(config)#ip access-list extended B-TO-C

OC-SITE-B(config-ext-nacl)#permit ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255

Activez le module SECURITY sur OC-SITE-C : 

 

OC-SITE-C(config)#license boot module c1900 technology-package securityk9

 Ensuite, configurez la première partie de la phase 1 sur OC-SITE-C, de la même façon que sur OC-SITE-A et OC-SITE-B : 

OC-SITE-C(config)#crypto isakmp policy 1

OC-SITE-C(config-isakmp)#authentication pre-share

OC-SITE-C(config-isakmp)#encryption aes 256

OC-SITE-C(config-isakmp)#hash sha

OC-SITE-C(config-isakmp)#group 5

OC-SITE-C(config-isakmp)#lifetime 21600

L’étape suivante consiste à créer une clé partagée entre OC-SITE-C et OC-SITE-A et une clé partagée entre OC-SITE-C et OC-SITE-B. Vous allez également configurer la clé OC-SITE-C OC-SITE-A sur OC-SITE-A et la clé OC-SITE-C OC-SITE-B sur OC-SITE-B : 

OC-SITE-C(config)#crypto isakmp key OpenClassR00m$IP5ecL@bCtoA address 62.59.1.1

OC-SITE-C(config)#crypto isakmp key OpenClassR00m$IP5ecL@bCtoB address 59.62.1.1

 

OC-SITE-A(config)#crypto isakmp key OpenClassR00m$IP5ecL@bCtoA address 80.59.62.1

 

OC-SITE-B(config)#crypto isakmp key OpenClassR00m$IP5ecL@bCtoB address 80.59.62.1

 

Vous devez ensuite configurer le TRANSFORM-SET sur OC-SITE-C : 

OC-SITE-C(config)#crypto ipsec transform-set OCSET esp-aes 256 esp-sha-hmac

 Une fois cette étape réalisée, vous allez devoir créer une séquence de CRYPTO MAP sur OC-SITE-A et OC-SITE-B pour établir le VPN avec OC-SITE-C : 

OC-SITE-A(config)#crypto map OCMAP 20 ipsec-isakmp

OC-SITE-A(config-crypto-map)#set peer 80.59.62.1

OC-SITE-A(config-crypto-map)#set transform-set OCSET

OC-SITE-A(config-crypto-map)#match address A-TO-C

OC-SITE-A(config-crypto-map)#set security-association lifetime seconds 3600

OC-SITE-B(config)#crypto map OCMAP 30 ipsec-isakmp

OC-SITE-B(config-crypto-map)#set transform-set OCSET

OC-SITE-B(config-crypto-map)#match address B-TO-C

OC-SITE-B(config-crypto-map)#set peer 80.59.62.1

OC-SITE-B(config-crypto-map)#set security-association lifetime seconds 3600

Configurez ensuite les deux numéros de séquence de CRYPTO MAP sur OC-SITE-C : 

OC-SITE-C(config)#crypto map OCMAP 20 ipsec-isakmp

OC-SITE-C(config-crypto-map)#set peer 62.59.1.1

OC-SITE-C(config-crypto-map)#set transform-set OCSET

OC-SITE-C(config-crypto-map)#match address C-TO-A

OC-SITE-C(config-crypto-map)#set security-association lifetime seconds 3600

OC-SITE-C(config-crypto-map)#exit

OC-SITE-C(config)#crypto map OCMAP 30 ipsec-isakmp

OC-SITE-C(config-crypto-map)#set peer 59.62.1.1

OC-SITE-C(config-crypto-map)#set transform-set OCSET

OC-SITE-C(config-crypto-map)#match address C-TO-B

OC-SITE-C(config-crypto-map)#set security-association lifetime seconds 3600

OC-SITE-C(config-crypto-map)#exit

Il suffit pour terminer d’appliquer la CRYPTO MAP sur l’interface gig 0/1/0 d’OC-SITE-C : 

OC-SITE-C(config)#int gig 0/1/0

OC-SITE-C(config-if)#crypto map OCMAP

PC3 dispose de l’adresse IP 192.168.3.1, envoyez un ping vers PC1 et un ping vers PC2 depuis PC3, vous devriez obtenir ce résultat : 

C:\>ping 192.168.1.1

 

Pinging 192.168.1.1 with 32 bytes of data:

 

Reply from 192.168.1.1: bytes=32 time<1ms TTL=126

Reply from 192.168.1.1: bytes=32 time=1ms TTL=126

Reply from 192.168.1.1: bytes=32 time<1ms TTL=126

Reply from 192.168.1.1: bytes=32 time<1ms TTL=126

 

Ping statistics for 192.168.1.1:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 1ms, Average = 0ms

C:\>ping 192.168.3.1

 

Pinging 192.168.3.1 with 32 bytes of data:

 

Reply from 192.168.3.1: bytes=32 time=3ms TTL=128

Reply from 192.168.3.1: bytes=32 time=4ms TTL=128

Reply from 192.168.3.1: bytes=32 time=9ms TTL=128

Reply from 192.168.3.1: bytes=32 time=1ms TTL=128

 

Ping statistics for 192.168.3.1:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 1ms, Maximum = 9ms, Average = 4ms

Les deux VPN fonctionnent ! 

Vous pouvez également vérifier le fonctionnement de la phase 1 vers OC-SITE-A ainsi que la phase 1 vers 

OC-SITE-B : 

OC-SITE-C#show crypto isakmp sa

IPv4 Crypto ISAKMP SA

dst src state conn-id slot status

62.59.1.1 80.59.62.1 QM_IDLE 1044 0 ACTIVE

59.62.1.1 80.59.62.1 QM_IDLE 1049 0 ACTIVE

 Vérifiez la phase 2 avec la commande show crypto ipsec sa :

 Tunnel OC-SITE-C - OC-SITE-A : 

#pkts encaps: 561, #pkts encrypt: 561

#pkts decaps: 561, #pkts decrypt

Tunnel OC-SITE-C - OC-SITE-B :

#pkts encaps: 449, #pkts encrypt: 449

#pkts decaps: 449, #pkts decrypt: 449

Vous venez de configurer un VPN IPSEC complet dans Cisco Packet Tracer — de la topologie réseau à l’établissement du tunnel sécurisé entre plusieurs sites. Vous avez appris à manipuler les commandes essentielles, à comprendre les phases IKE, à sécuriser les flux, et à tester vos configurations avec rigueur. Ce sont des compétences hautement valorisées dans le domaine des réseaux et de la cybersécurité. Prenez maintenant quelques minutes pour compléter le quiz final afin de valider vos acquis.

En résumé

  • La phase 1 du VPN IPSEC Ă©tablit un canal sĂ©curisĂ© entre deux sites, grâce Ă  une politique ISAKMP commune sur les deux routeurs (authentification par clĂ© prĂ©-partagĂ©e, chiffrement AES 256, hash SHA, groupe DH 5).

  • Une ACL dĂ©diĂ©e permet de dĂ©finir les flux devant passer dans le tunnel, tandis qu’un transform-set configure l’usage d’ESP pour le chiffrement et l’intĂ©gritĂ© des donnĂ©es (AES + SHA).

  • La crypto map regroupe tous les Ă©lĂ©ments nĂ©cessaires au tunnel IPSEC (transform-set, ACL, peer, durĂ©e de SA), et s'applique sur l’interface publique du routeur. Chaque tunnel utilise un numĂ©ro de sĂ©quence diffĂ©rent.

  • Le protocole Diffie-Hellman permet de gĂ©nĂ©rer une clĂ© partagĂ©e sans l’échanger, assurant ainsi un haut niveau de sĂ©curitĂ©. L’option PFS renforce encore cette sĂ©curitĂ© en forçant un nouvel Ă©change DH Ă  chaque renouvellement de clĂ©.

  • L'ajout d’un troisième site (OC-SITE-C) implique de crĂ©er de nouvelles ACL, crypto maps et clĂ©s partagĂ©es, ainsi que de mettre Ă  jour les ACL de NAT existantes. Chaque routeur peut ainsi gĂ©rer plusieurs tunnels IPSEC en parallèle.

Bonne chance, et bravo pour votre engagement tout au long du cours !

Et si vous obteniez un diplĂ´me OpenClassrooms ?
  • Formations jusqu’à 100 % financĂ©es
  • Date de dĂ©but flexible
  • Projets professionnalisants
  • Mentorat individuel
Trouvez la formation et le financement faits pour vous