WireGuard est un nouveau protocole VPN Layer 3 conçu pour la rapidité et la simplicité. Il fonctionne presque aussi vite que l’IPsec et ne dispose que d’un petit nombre d’options dans sa configuration.
Les instances WireGuard se composent d’un tunnel et d’homologues (Peer) qui contiennent les clés nécessaires et d’autres données de configuration.
Information : Avant de continuer, consultez ce guide : pfSense : Installation et Configuration
Note : 2 Schémas d’installation sont possibles
Mode Routeur | Membre du Réseau LAN |
Installation du package « WireGuard » > Sélectionner : System > Package Manager
Sélectionner « Available Packages« , rechercher « WireGuard » et l’installer
Note facultative : WireGuard est inclus dans l’ISO de pfSense en version 2.5.0. (Il a été supprimé des versions supérieures – Release Notes )
Configuration du Tunnel VPN
Accéder à VPN > WireGuard
Cliquer sur + Add Tunnel
- Cocher « Enabled«
- Entrer une Description (PC2S-VPN)
- Adresse IP du Tunnel VPN au format CIDR : 10.210.0.1/24 (différente de l’IP WAN et LAN de pfSense)
- Port d’écoute : 51820 (port par défaut)
- Cliquer sur « Generate » pour créer un nouvel ensemble de clés Privée et Publique
Copier coller la Clé Publique « Public key » (VLc5wcXNU0…..) du Tunnel VPN dans un fichier texte et Cliquer sur « Save »
Configuration des Clients (Peer)
Sur l’ordinateur Client , Télécharger et installer WireGuard pour Windows
Sélectionner « Ajouter un tunnel vide… »
Renseigner les informations de votre Tunnel VPN sur le Client :
[Interface]- PrivateKey = Garder la Clé privée proposée
- ListenPort = 51820 (Port d’écoute du Tunnel VPN)
- Address = 10.210.0.2/24 (Adresse IP disponible du Tunnel VPN au format CIDR)
- PublicKey = Coller la Clé Publique « Public Key » du Tunnel VPN (VLc5wcXNU0…..)
- AllowedIPs = 0.0.0.0/0 (Autorise toutes les adresses IP)
- Endpoint = 217.178.212.123:51820 (Adresse IP WAN Publique du Serveur pfSense WireGuard suivie du Port d’écoute du Tunnel VPN)
ListenPort = 51820 Address = 10.210.0.2/24 [Peer] PublicKey = "Public Key" du Tunnel VPN (VLc5wcXNU0.....) AllowedIPs = 0.0.0.0/0 Endpoint = 217.178.212.123:51820
Donner un Nom (Client-1) et copier coller la « Clé Publique » du Client (KdD8dzLnRI…..) dans un fichier texte et Cliquer sur « Enregistrer »
Retour sur pfSense > WireGuard > Tunnels : Cliquer sur le Stylo pour modifier
Cliquer sur « +Add peer »
- Entrer une Description (Client-1)
- Endpoint : Laisser vide pour les points de terminaison dynamiques
- Endpoint Port : Laisser vide (Port : 51820 par défaut)
- Keep Alive : Laisser vide. (Utile pour vérifier que le Tunnel VPN est toujours actif)
- Public Key : Coller la « Clé Publique » du Client (KdD8dzLnRI…..)
- Allowed IPs : 10.210.0.2/24 (Adresse IP du Client au format CIDR)
- Peer WireGuard Address : 10.210.0.2 (Adresse IP du Client)
Cliquer sur « Update »
Cliquer sur « Save »
Cliquer sur « Show peers » pour afficher les Clients
Configurer les règles du Pare-Feu pfSense
1 – Création d’une règle pour autoriser les clients à monter la connexion VPN
- Firewall > Rules > WAN : cliquer sur « + Add«
- Action : Pass
- Interface : WAN
- Protocol : UDP
- Source : any
- Destination : WAN address
- Destination Port Range – Custom : 51820
Cliquer sur « Save » et valider « Apply Changes »
2 – Création d’une règle pour autoriser l’accès aux ressources coté WAN et aussi coté LAN
- Firewall > Rules > WireGuard : cliquer sur « + Add«
- Action : Pass
- Interface : WireGuard
- Protocol : Any
- Source : any
- Destination : any
Cliquer sur « Save » et valider « Apply Changes »
Redirection de port sur la Box, Routeur, Modem
Rediriger le port “UDP 51820” arrivant de l’IP WAN Publique vers pfSense pour autoriser le VPN client.
Exemple sur LiveBox 5
Exemple sur Draytek
Retour sur l’ordinateur Client
Cliquer sur « Activer » pour établir la connexion VPN
La connexion est établie. Le « Transfert » affiche un débit en réception et émission.