OPNSense : Wireguard VPN

Côté OPNSENSE

Configuration du VPN

Installer le package Wireguard via System → Firmware → Plugins

Faire F5 dans le navigateur pour faire apparaître le nouveau menu VPN Wireguard

Dans VPN → Wireguard → Local appuyez sur le + pour créer une nouvelle entité

Créer la configuration de la sorte:

Name: Nom de la connexion

Public Key & Private Key: peuvent être laissés vides, ils seront remplis après avoir pressé Save

DNS Server: Indiquer le serveur DNS que vous souhaitez utilisez

Tunnel address: Définir un subnet qui autorise la communication entre l'entité et le Peer. De préférénce un CDIR 24

Peer: On devra retourner et choisir le Peer autorisé une fois créé

Dans VPN → Wireguard → Endpoints appuyez sur le + pour créer une nouvelle Peer

Créer la configuration de la sorte:

Name: Donner un nom

Public Key: doit être la clée publique générée par le client

Shared Secret: optionnel, permet de mettre un mot de passe sur la connexion

Allowed IP, on prend une adresse dans le Tunnel Address, en CDIR 32

Enpoint Address & Endpoint Port: si il s'agit d'une configuration en RoadWarrior, ces deux champs peuvent rester vide

Retourner dans VPN → Wireguard → Local et éditer l'entité créée pour sélectionner le Peer distant.

Dans VPN → Wireguard → General, activer WireGuard et faire Save

Règles Firewall

Prévoir une règle dans Firewall → Rules → WireGuard pour autoriser le trafic désiré. Un Accept All est envisageable pour un test.

Dans Firewall → Rules → Wan: créer une règle qui accepte le port UDP 51820 sur ce firewall

Autoriser le trafic Internet pour les clients Wireguard

Dans Interface → Assignation, ajouter l'interface wg0

Aller dans l'interface fraichement créée, activez la, empêcher le retrait et donner un nom plus facile à retenir

Aller ensuite dans Firewall → NAT → Sortant et mettre le mode sur Hybride puis Appliquer les changements

Toujours dans Firewall → NAT → Sortant, ajouter une règle fixe avec les propriétés suivantes:

Interface WAN

Source address “votre interface wireguard NET”

Translation / destination: Wan Addresse

Côté client

Configuration d'un client Windows en mode RoadWarrior

Dans le client Windows, créer un nouveau tunnel vide. Il créera directement une clé privée et publique

Récupérer la clé publique pour la configuration du Peer/Endpoint dans OpenVPN

Ajouter les éléments suivant après le privatekey

Address = 172.31.33.2/32
DNS = 10.0.0.211
[Peer]
PublicKey = LA_CLE_PUBLIQUE_DU_SERVEUR_OPNSENSE
AllowedIPs = 0.0.0.0/0
Endpoint = LADRESSE_DU_SERVEUR_OPNSENSE:51820

Sources

https://docs.opnsense.org/manual/how-tos/wireguard-client.html