# Mise en place de WIREGUARD

#### <span style="white-space: pre-wrap;"> Prérequis:</span>

- Avoir une connexion internet (ping 8.8.8.8 et résolution de goolge.fr)
- Avoir installé pfsense

#### Installation du paquet Wireguard:

1. Se rendre dans la partie Package Manager  
    [![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/kIbimage.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/kIbimage.png)
2. <span style="white-space: pre-wrap;"> Aller dans la section paquet disponible</span>  
    [![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/ZlAimage.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/ZlAimage.png)
3. <span style="white-space: pre-wrap;"> Chercher et installer WIREGUARD</span>  
    [![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/4BSimage.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/4BSimage.png)
4. Confirmer  
    [![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/hw6image.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/hw6image.png)
5. Attendre l'installation  
    [![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/Uh4image.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/Uh4image.png)

#### Paramétrage de Wireguard:

1. Paramétrer Wireguard  
    [![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/cKBimage.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/cKBimage.png)
2. Ajouter un tunnel  
    [![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/qHNimage.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/qHNimage.png)
3. Mettre une description, le port que l'on souhaite utiliser et générer un paire de clé. Attention il faut garder la clé publique.  
    [![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/gfsimage.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/gfsimage.png)
4. Paramétrer la partie réseau mettre un réseau qui n'est pas dans l'infrastructure actuelle  
    [![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/11oimage.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/11oimage.png)
5. Sauvegarder le tunnel et passer au settings  
    [![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/efjimage.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/efjimage.png)
6. Activer Wireguard  
    [![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/Y7Pimage.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/Y7Pimage.png)
7. Installation du paquet pour la génération de la paire de clé (Sur un Linux)  
    ```bash
    apt install wireguard
    umask 077
    wg genkey > privatekey
    wg pubkey < privatekey > publickey
    ```
8. Démarrage du client WIREGUARD (Windows) et ajouter un nouveau tunnel
9. Ajouter un tunnel vide  
    [![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/gIGimage.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/gIGimage.png)
10. Ajouter la configuration  
    ```bash
    [Interface]
    # Adresse IP du serveur à l'intérieur du VPN
    Address = 172.16.100.2/30 #Mon adresse IP
    # Clef privée du serveur
    PrivateKey = uAcjoRTjjV1/3D3cf9SR34RZKVjz6Jk8TJPqC6C70Uo=
    # Port sur lequel le serveur écoute
    ListenPort = 51820
    # DNS
    DNS = 172.16.1.62, 1.1.1.1
    
    
    [Peer]
    # Clef publique du client (Pfsense)
    PublicKey = 5GZYrXuyqDwA/GZBK3pUmKoLm0I3RSbqGaK0mFEG7CA=
    # Adresse IP que le client peut utiliser à l'intérieur du VPN
    AllowedIPs = 0.0.0.0/0
    #Ip du serveur distant
    Endpoint = 192.168.1.112:51820
    PersistentKeepalive = 15
    ```
    
    [![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/8P5image.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/8P5image.png)
11. Passer à la partie Pfsense (ajouter un pair)  
      
    [![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/FaFimage.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/FaFimage.png)  
    [![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/OB1image.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/OB1image.png)
12. Appliquer les changements  
      
    [![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/NLMimage.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/NLMimage.png)
13. Activer le VPN (Windows)  
      
    [![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/BUJimage.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/BUJimage.png)
14. Mettre en place un Régle de pare feu sur l'interface WAN  
    [![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/XjEimage.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/XjEimage.png)
15. Vérifier que le VPN est bien connecté  
      
    [![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/NMNimage.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/NMNimage.png)  
    [![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/6S9image.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/6S9image.png)
16. Nous aurions pu aussi dans le configuration du client WIREGUARD spécifier les réseau auxquels Ont peut se connecter car en l'état actuel les routes ajoutées sont :

[![image.png](https://book.techoops.fr/uploads/images/gallery/2024-10/scaled-1680-/rD1image.png)](https://wiki1.kvega.fr/uploads/images/gallery/2024-10/rD1image.png)

<p class="callout info">Exemple de configuration que l'on pouvait mettre en place  
</p>

```bash
[Interface]
# Adresse IP du serveur à l'intérieur du VPN
Address = 172.16.100.2/30 #Mon adresse IP
# Clef privée du serveur
## Mon adresse IP privée
PrivateKey = uAcjoRTjjV1/3D3cf9SR34RZKVjz6Jk8TJPqC6C70Uo=
# Port sur lequel le serveur écoute
ListenPort = 51820


[Peer]
# Clef publique du client (Pfsense)
PublicKey = 5GZYrXuyqDwA/GZBK3pUmKoLm0I3RSbqGaK0mFEG7CA=
# Adresse IP que le client peut utiliser à l'intérieur du VPN
AllowedIPs = 172.16.1.0/26
#Ip du serveur distant
Endpoint = 192.168.1.112:51820
```