WireGuard - PfSense (VPN)

Environnement

Installation

Côté PfSense

Aller dans VPN -> WireGuard -> Tunnels et créer le tunnel VPN :

Côté client (ici Ubuntu 20.04)

Installer le client WireGuard :

sudo apt update
sudo apt install wireguard

Générer la paire de clés :

sudo mkdir -p /etc/wireguard/clients
wg genkey | sudo tee /etc/wireguard/clients/client01.key | wg pubkey | sudo tee /etc/wireguard/clients/client01.key.pub

Créer le fichier de configuration :

sudo nano /etc/wireguard/wg0.conf
[Interface]
PrivateKey = clé-privé-du-client
Address = 10.0.0.123

[Peer]
PublicKey = clé-publique-du-serveur
Endpoint = ip-routeur-pfsense:51820
AllowedIPs = 0.0.0.0/0

Côté PfSense

Aller dans VPN -> WireGuard -> Peers et créer un utilisateur :

Aller dans Firewall -> Rules -> WAN et ajouter la règle suivante :

Aller dans Firewall -> Rules -> WireGuard et ajouter la règle suivante :

Côté client

Démarrer le VPN :

sudo wg-quick up wg0

Déboguage

Activer la journalisation au niveau du noyau :

echo 'module wireguard +p' | sudo tee /sys/kernel/debug/dynamic_debug/control

Afficher les journaux :

sudo dmesg -wH

Désactiver la journalisation au niveau du noyau :

echo 'module wireguard -p' | sudo tee /sys/kernel/debug/dynamic_debug/control

Sources

https://docs.netgate.com/pfsense/en/latest/vpn/wireguard/index.html

https://www.youtube.com/watch?v=mXG0RShQbaw

https://www.the-digital-life.com/wireguard-enable-logging/