Dans cet article nous allons nous intéresser à la mise en place d’un tunnel VPN permanent entre deux sites distants disposant chacun d’un routeur pfSense installé et configuré.
Le principe du tunnel VPN est simple : un des routeurs fera office de serveur tandis que l’autre sera le client. L’avantage principal du tunnel VPN par rapport à une configuration road warrior est que les postes clients n’auront pas besoin de se connecter individuellement en VPN au site distant. Cette configuration donnera l’impression aux clients des deux côtés d’être sur un seul et même réseau, ce qui permet de facilement partager des données.
Nous allons ici considérer que le site 1 est le site principal et qu’il hébergera la partie serveur du tunnel et que le réseau local est en 192.168.1.x. Le site 2 peut être une filiale à l’étranger par exemple, et sera configuré en mode client avec un réseau local en 192.168.193.x.
Configuration du serveur (site 1)
Dans l’interface pfSense (pfSense 1), aller dans VPN > OpenVPN puis cliquer sur l’icône « + » en bas à droite afin de créer une nouvelle configuration VPN. Voici les paramètres à entrer :
- Protocole : UDP
- Local port : 1193 (je choisis une nomenclature simple : réseau distant en 192.168.193.x, port 1193)
- Address pool : 192.168.93.0/24 (idem, je choisis un réseau virtuel rappelant le réseau distant : 192.168.193.x pour le physique -> 192.168.93.x pour le virtuel)
- Cryptography : BF-CBC (128 bits)
- Authentication method : Shared Key
- exécuter la commande suivante dans une installation de OpenVPN GUI :
C:\Program Files\OpenVPN\easy-rsa\openvpn –genkey –secret SharedKey.key
- Copier le contenu du fichier SharedKey.key dans la case Shared Key de l’interface pfSense
- DHCP-Opt.: DNS-Domainname : ici vous pouvez entrer le nom de domaine local que vous utilisez
- DHCP-Opt.: DNS-Server : entrez ici les IPs des serveurs DNS de votre domaine séparés par des points virgules
- cochez la case LZO compression
- entrez une description du tunnel dans la case Description
- cliquer sur Save
Il faut ensuite ajouter une régle au firewall pour accepter les communications sur le port UDP 1193. Pour cela, cliquer sur le menu Firewall > Rules, sélectionner l’onglet correspondant à la ligne que vous allez utiliser (WAN par exemple) et cliquer sur l’icône « + » en bas à droite. Voici les paramètres à entrer :
- Action : Pass
- Protocol : UDP
- Destination port range : from: (other) 1193
- Destination port range : to: (other) 1193
- Gateway : default
- Description : Tunnel VPN
Configuration du client (site 2)
Dans l’interface pfSense (pfSense 2), aller dans VPN > OpenVPN puis cliquer sur l’icône « + » en bas à droite afin de créer une nouvelle configuration VPN. Voici les paramètres à entrer :
- Protocol : UDP
- Server address : indiquer ici l’adresse IP externe de la ligne que vous allez utiliser côté serveur
- Server port : 1193
- Interface IP : 192.168.93.0/24
- Remote network : 192.168.1.0/24
- Cryptography : BF-CBC (128 bits)
- Authentication method : Shared key
- Shared key : copier ici le contenu du fichier SharedKey.key généré précédemment
- cocher la case LZO compression
- Custom options : entrer la commande suivante pour permettre aux clients du site 1 de pinger et d’accéder aux clients du site 2 (en remplaçant bien évidemment l’adresse IP externe de la ligne utilisée sur le routeur 1 :
route 192.168.193.0 255.255.255.0 IP.EXTERNE.LIGNE.ROUTEUR1
- entrer une description du Tunnel dans la case Description
- cliquer sur Save
A ce niveau le tunnel VPN est actif, vérifier que vous pouvez pinger des clients du site 2 à partir du site 1 et réciproquement.
Il est possible de créer d’autres tunnels VPN en changeant le port et le réseau virtuel et bien sûr en ayant un site distant utilisant un réseau interne différent de ceux déjà utilisés. Par exemple un réseau distant en 192.168.200.x pourra utiliser le port 1200 et le réseau virtuel 192.168.20.x. Il faut toutefois garder en tête le fait que le cryptage consomme des ressources processeur sur les deux routeurs et que selon le trafic on peut plus ou moins rapidement arriver à saturation.
Tags : OpenVPN, pfSense, VPN










