WireGuard - PfSense (VPN)
Environnement
- PfSense 2.5.2 avec le paquet WireGuard installé
- Ubuntu 20.04
Installation
Côté PfSense
Aller dans VPN -> WireGuard -> Tunnels et créer le tunnel VPN :
- Tunnel Enabled : x
- Description : WireGuard
- Listen Port : 51820
- Interface Keys : clé-privée-du-serveur / clé-publique-du-serveur
- Interface Addresses : 10.0.0.1/24
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 :
- Peer Enabled : x
- Tunnel : tun_wg0 (WireGuard)
- Description : WireGuard
- Dynamic Endpoint : x
- Public Key : clé-publique-du-client
- Allowed IPs : 10.0.0.123/32
Aller dans Firewall -> Rules -> WAN et ajouter la règle suivante :
- Action : Pass
- Interface : WAN
- Address Family : IPv4
- Protocol : UDP
- Source : any
- Destination : WAN address
- Destination Port Range : 51820
- Description : WireGuard VPN admin
Aller dans Firewall -> Rules -> WireGuard et ajouter la règle suivante :
- Action : Pass
- Interface : WireGuard
- Address Family : IPv4
- Protocol : any
- Source : any
- Destination : any
- Description : WireGuard VPN admin
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/