2962 views
# VPN site à site IPSec [toc] ## Résumé La mise en œuvre d'un réseau privé virtuel (VPN) avec le jeu de protocoles IPSec est un exercice qui peut rapidement tourner au calvaire compte tenu du nombre des combinaisons possibles entre les différents algorithmes et autres paramètres. Cet article est une synthèse rédigée après avoir «survécu» à la configuration d'un VPN IPSec avec routage OSPF entre deux sites distants avec des systèmes différents. Après avoir présenté le contexte et rappelé sommairement les caractéristiques du jeu de protocoles IPSec, on précise les choix de combinaisons de protocoles puis on décrit étape par étape le processus de déploiement de la topologie type d'intercconnexion réseau. --- ## <a href='/s/8JtS3966t' target='_self'>Les protocoles</a> IPSec offre une grande variété de choix en matière de protcoles et d'encapsulation. La section sur **<a href='/s/8JtS3966t' target='_self'>les protocoles</a>** présente un résumé des choix proposés avec les arguments pour délpoyer une VPN site à site permanent. ![Encapsulation GRE+IPSec](/uploads/4a0abfdf-906d-45f3-9623-aa30c86fb007.png) ## <a href='/s/x724VzHyq' target='_self'>La topologie</a> Cette section sur **<a href='/s/x724VzHyq' target='_self'>la topologie</a>** décrit la maquette d'illustration de l'implémentation du VPN. Le contenu de cette section est indépendant des systèmes utilisés pour l'implémentation de la maquette. ![Topologie maquette](https://md.inetdoc.net/uploads/4d12912f-2bb8-40bb-afa0-65b0ed5f7850.png) Le dépôt Git qui contient l'ensemble des *Playbooks* **[Ansible](https://www.ansible.com)** de construction de cette maquette est disponible à l'adresse (https://gitlab.inetdoc.net/labs/vpn-ipsec/) Ce dépôt comprend un dossier par système utilisé pour réaliser les tests. ## La configuration de base&nbsp;: <a href='/s/eL_HhB5Hc' target='_self'>IOS XE</a> / <a href='/s/TMDEAvx0f' target='_self'>Linux</a> Cette section décrit la configuration de base à mettre en place avant d'aborder la problématique de sécurisation à l'aide d'un réseau privé virtuel fixe entre deux sites distants. Le contenu de cette section dépend du système utilisé pour l'implémentation. Dans le contexte de cette maquette, la même topologie peut être déployée avec 3 instances&nbsp;: * de routeurs Cisco CSR1000v avec le système **<a href='/s/eL_HhB5Hc' target='_self'>IOS XE</a>** * de machines virtuelles Debian avec le système **<a href='/s/TMDEAvx0f' target='_self'>Linux</a>** ![Topologie de base](https://md.inetdoc.net/uploads/1d7c74d0-20b1-4d79-ae0d-ffc0b6acbc3d.png) ## Le tunnel GRE&nbsp;: <a href='/s/IDWdQEnQj' target='_self'>IOS XE</a> / <a href='/s/UOI1RSg8S' target='_self'>Linux</a> / <a href='/s/lc35F79vx' target='_self'>Mix</a> L'utilisation du tunnel GRE permet de garantir l'acheminement de tous les types de trafic entre les sites distants de façon sécurisée grâce au VPN IPSec. L'encapsulation des paquets IP "complets" dans la partie ESP permet d'acheminer aussi bien le trafic *unicast* que le trafic *multicast* entre les deux sites distants. Ici, on souhaite échanger les tables de routage des deux sites via un protocole de routage dynamique&nbsp;: **OSPF**. Tous les échanges entre les processus **OSPF** sont basés sur du trafic multicast. ## La configuration IPSec&nbsp;: <a href='/s/dnYp10jKu' target='_self'>IOS XE</a> / <a href='/s/CUjkOqZ7u' target='_self'>Linux</a> / <a href='/s/lzkIVgKvT' target='_self'>Mix</a> La mise en place de l'association de sécurité IPSec entre les routeurs **GLA** et **TLS** traduit les choix effectués dans la section sur les protocoles. ## La configuration OSPF&nbsp;: <a href='/s/gExUu0P1F' target='_self'>IOS XE</a> / <a href='/s/Rs2Na5JNc' target='_self'>Linux</a> / <a href='/s/Bf5gTjE18' target='_self'>Mix</a> Pour achever la configuration de cette maquette, on active le protocole **OSPFv3** sur les deux routeurs d'extrémité du tunnel IPSec. La validation de l'échange des tables de routage entre les routeurs **GLA** et **TLS** caractérise l'acheminement du trafic multicast à travers le tunnel IPSec. ## <a href='/s/2VEv191oR' target='_self'>Les documents de référence</a> Le principal document de référence utilisé est le *Guide to IPSec VPNs* produit par le *National Institute of Standards and Technology* (NIST)