# [pfSense] Wireguard

## Introduction

Wireguard supporte depuis récemment l'installation d'un VPN wiregard qui est le plus rapide et performant du marché des VPNs open source.

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/t8jimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/t8jimage.png)

## Installation

Tout d'abord, installez le paquet **WireGuard** depuis le menu **System &gt; Package Manager &gt; Available Packages** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/RGWimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/RGWimage.png)

Cliquez sur **Install** puis **Confirm** et attendez que le message suivant apparaisse :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/rZNimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/rZNimage.png)

Ensuite, rendez vous dans l'onglet **VPN &gt; Wireguard** et cliquez sur **Add tunnel** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/sdDimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/sdDimage.png)

Pour la configuration du tunnel, saisissez en **description** le nom de votre VPN puis générez une paire de clés en cliquant sur **Generate** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/M9Himage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/M9Himage.png)

Dans la configuration de l'interface, saisissez l'adresse IP privée du routeur associée à l'interface du tunnel :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/X2gimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/X2gimage.png)

Cliquez sur **Save** et rendez vous dans l'onglet **Peer** puis cliquez sur **Add Peer** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/zACimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/zACimage.png)

Sélectionnez votre **Tunnel** dans le menu déroulant et mettez le nom de votre client en **Description** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/rzRimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/rzRimage.png)

Depuis votre client Wireguard, générez une paire de clés publique/privée :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/K97image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/K97image.png)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/jF3image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/jF3image.png)

```bash
wg genkey | tee wg-private.key
```

```bash
cat wg-private.key | wg pubkey | tee wg-public.key
```

Et renseignez la clé publique dans la configuration du peer sur pfsense :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/seeimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/seeimage.png)

Et n'oubliez pas de décocher **Dynamic Endpoint** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/fAXimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/fAXimage.png)

Saisissez ensuite l'adresse IP de l'**Endpoint** (IP publique de votre routeur qui sera atteinte pour se connecter au VPN) :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/pb4image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/pb4image.png)

Dans la configuration d'adressage, vous pouvez choisir les réseaux accessibles via le VPN.

Vous devez saisir l'IP du peer ainsi que les sous-réseaux de destination que vous souhaitez autoriser :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/S2cimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/S2cimage.png)

Cliquez sur **Save** puis rendez vous dans l'onglet **Settings** pour activer le service Wireguard et cliquez sur **Save** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/hJ8image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/hJ8image.png)

Cliquez sur **Apply Changes** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/aD3image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/aD3image.png)

Après, allez sur **Interfaces &gt; Assignements**, sélectionnez l'interface du tunnel et cliquez sur **Add** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/7cyimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/7cyimage.png)

Cliquez sur le nom de la nouvelle interface créée pour accéder à sa configuration puis activez l'interface et modifiez son nom :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/49Eimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/49Eimage.png)

En **IPv4 Configuration Type** sélectionnez **Static IPv4** puis dans Static IPv4 Configuration renseignez l'adresse du routeur sur le réseau VPN (définie précédemment) :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/5etimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/5etimage.png)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/HG8image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/HG8image.png)

Cliquez sur **Add a new gateway** puis renseignez les informations et cliquez sur **Add** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/c2eimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/c2eimage.png)

Cliquez ensuite sur **Save** et **Apply Changes**.

On doit ensuite configurer le pare-feu pour autoriser les connexions en allant dans le menu **Firewall &gt; Rules &gt; WG** puis **Add** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/jHVimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/jHVimage.png)

Faite une règle pour autoriser tout le trafic ou seulement ce que vous souhaitez si vous souhaitez affiner vos règles et cliquez sur **Save** et **Apply Changes** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/scaled-1680-/Jz9image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-05/Jz9image.png)

<p class="callout warning">Vous devez aussi créer une règle sur votre **WAN** pour autoriser le flux **UDP/51820** vers votre pare-feu.</p>

La dernière étape consiste à créer le fichier de configuration du client VPN :

```
[Interface]
PrivateKey = <PEER_PRIV_KEY>
Address = 10.1.0.2/24

[Peer]
PublicKey = <SRV_PUB_KEY>
AllowedIPs = 10.1.0.0/24, 192.168.5.0/24
Endpoint = <SRV_PUBLIC_IP>:51820
```