Mise en place d un VPN LAN-to-LAN avec IPsec et OpenVPN sous PFsense Sommaire I...Contexte II..Configuration III...Mise en place VPN Site To Site avec IPsec - Test du tunnel IPsec IV... Mise en place VPN Site To Site avec OpenVPN 1.Configuration côté serveur 2 Configuration côté client 3 Test du Tunnel OpenVPN VPN SITE-TO-SITE D. GANVET
I. Contexte Il arrive parfois, dans une entreprise, qu il y ait des problèmes de réseau quand l administrateur est absent ou que les employés de l entreprise veuillent se connecter à leur poste de travail depuis leur domicile. Ce problème peut être résolu par la mise en place d un VPN. Un VPN (Virtual Private Network) est un système qui crée un lien virtuel entre des ordinateurs distants, il est utilisé pour le travail à distance. Son fonctionnement est assez simple, un logiciel de VPN crée un tunnel les ordinateurs qui se connectent ensuite sur le même réseau local virtuel. Le VPN est créé par diverses protocoles et dans notre cas nous n utiliserons que les protocoles IPsec et OpenVPN. Dans notre contexte notre logiciel de VPN sera PFsense et nous réaliserons ce projet dans des machines virtuelles avec VirtualBox. II. Configuration - Deux VM pfsense installées avec cartes réseaux chacun dont l une en WAN (réseau internet : intnet) et l autre en LAN (pfsense 1 réseau internet : lan 1 ; pfsense 2 réseau internet : lan 2) - RAM 512Mo, 2Go disque dur minimum - Deux machines clientes windows 7 pour tester le tunnel Les cartes réseaux des WAN doivent être sur un même réseau pour que le tunnel puisse fonctionner étant donné qu on travaille dans des machines virtuelles. Schéma d architecture générale (Site To Site) VPN SITE-TO-SITE D. GANVET 2/8
III. Mise en place VPN Site To Site avec IPsec IPsec (Internet Protocol Security) est un ensemble de protocoles utilisant des algorithmes permettant le transport de données sécurisées sur un réseau. Pour le mettre en place on accède à l interface d administration de notre premier Pfsense (192.168.1.1) puis on se rend dans le menu VPN > IPsec. On clique sur «Add P1» pour éditer la phase 1. Dans le cadre General Information on remplit l IP du Pfsense distant dans Remote Gateway qui est ici 192.168.100.2. VPN SITE-TO-SITE D. GANVET 3/8
Dans le second cadre on choisit Mutual PSK pour Authentification Method et on choisit un Pre-Shared Key qui est ici «azerty». Pour l algorithme on choisit AES. Ce qui suit est à laisser par défaut et on coche la case Enable DPD. Ensuite on sauvegarde puis on clique sur Show Phase 2 Entries pour éditer la phase 2. Dans General Information on met le réseau du LAN du deuxième Pfsense dans Remote Network qui est ici 192.168.2.0/24. VPN SITE-TO-SITE D. GANVET 4/8
Dans Encryption Algorithms on choisit AES (Auto) et dans Hash Algorithms on choisit SHA1. Le reste est aussi à laisser par défaut puis on sauvegarde. Ensuite il faut créer des règles pour autoriser les paquets arrivant sur les WAN des PFsense et par IPsec. On se rend dans Firewall > Rules puis onglet WAN et on met cette règle. Et on ajoute la même règle dans l onglet IPsec. Pour terminer on se connecte sur le LAN du deuxième PFsense (192.168.2.1) et on refait la même configuration en changeant les adresses dans Remote Gateway qui sera 192.168.100.1 et Remote Network qui sera 192.168.1.0/24 puis on rajoute les mêmes règles dans l onglet Firewall > Rules. Test du Tunnel IPsec Pour voir si le tunnel fonctionne il suffit de se rendre dans Status > IPsec puis cliquer sur Connecting, si la configuration est bonne on devrait avoir ESTABLISHED comme statut. VPN SITE-TO-SITE D. GANVET 5/8
On peut aussi tester en se connectant sur un client du LAN 1 et pinguer un client du LAN 2. IV. Mise en place VPN Site To Site avec OpenVPN Le principe du Site To Site avec OpenVPN est qu un Pfsense sera configuré comme serveur et l autre comme client. 1. Configuration côté serveur Pour le configurer on se connecte sur le premier Pfsense et on se rend dans l onglet VPN > OpenVPN sous l onglet Servers puis on clique sur Add pour ajouter un nouveau serveur et on saisit les informations comme suit. On choisit Peer to Peer (Shared Key) pour le Server mode et 1194 pour Local port. Ensuite on coche la case Automatically generate a shared key pour générer la clé. Dans Encryption Algorithm on choisit AES-128-CBC (128-bit) et SHA1(160-bit) dans Auth digest algorithm. VPN SITE-TO-SITE D. GANVET 6/8
Dans l encadré Tunnel Settings on choisit notre propre réseau du tunnel qui est ici 192.168.10.0/30 et on renseigne l adresse du LAN du deuxième Pfsense qui est 192.168.2.0. Ensuite on sauvegarde. 2. Configuration côté client On se connecte sur le deuxième Pfsense puis on se rend dans le sous menu VPN > OpenVPN sous l onglet Clients et on clique sur Add puis on renseigne les champs. Dans l encadré General Information sous Server host or address on renseigne l adresse WAN du premier Pfsense qui sera ici 192.168.100.1 et le port c est le même 1194. Dans l encadré Cryptographic Settings on désactive Automatically generate a shared key puis on copie-colle le Shared Key du premier serveur. VPN SITE-TO-SITE D. GANVET 7/8
Dans Tunnel Settings on renseigne la même adresse sous IPv4 Tunnel Network qui est 192.168.10.0/30 et sous IPv4 Remote network(s) on renseigne l adresse du réseau distant qui est 192.168.1.0/24 puis on sauvegarde. Pour terminer on ajoute ces règles dans les deux Pfsense pour autoriser le traffic dans le tunnel. Sous la WAN on autorise les paquets provenant de n importe quelle source en UDP et à destination de la WAN Address et en 1194 comme port de destination. Sous l onglet OpenVPN on autorise tout. 3. Test du Tunnel OpenVPN Pour voir si le tunnel fonctionne on se rend dans Status > OpenVPN et on peut voir que le tunnel est fonctionnel et que des adresses virtuelles ont été attribuées. VPN SITE-TO-SITE D. GANVET 8/8