
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 21600La 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.1Avant 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.255Une 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-hmacDans 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)#exitDerriè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 OCMAPUn 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 ACTIVELa 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 0La 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 !
Vous allez maintenant ajouter un troisième site, le site OC-SITE-C, la topologie ressemble maintenant à ceci :

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 :

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 overloadRemarquez 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.255Vous 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 anyComme 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.255Activez 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 21600L’é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 3600Configurez 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)#exitIl 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 OCMAPPC3 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 = 4msLes 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 ACTIVEVé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: 449Vous 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.
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 !