WireGuard WireGuard c'est quoi ? WireGuard est un protocole de communication et un logiciel libre et open source permettant de créer un réseau privé virtuel (VPN)2. Il est conçu avec les objectifs de facilité d'utilisation, de performances et de surface d'attaque basse. Il vise une meilleure performance3 et une plus grande économie d'énergie que les protocoles IPsec et OpenVPN Tunneling4. Le protocole WireGuard transmet le trafic sur UDP.  (Source - Wikipédia) Sommaire : 1/ Création des dossiers 2/ Création du docker-compose 3/ Création du conteneur 4/ Ouverture de port 5/ Récupération des fichiers de configuration des clients C'est parti !  1/ Création des dossiers Je vais installer mon serveur WireGuard dans mon dossier  docker , qui se situe sur  /srv/disk1 , je vais donc créer dans le dossier docker, un dossier wireguard qui contient un dossier config avec la commande suivante : Code: sudo mkdir -p /srv/disk1/docker/wireguard/config 2/ Création du docker-compose Maintenant, toujours dans mon dossier  Dashy  : Code: cd /srv/disk1/docker/wireguard Je crée un fichier docker-compose.yml : Code: sudo nano docker-compose.yml Avec le contenu suivant : Code: version: "2.1" services: wireguard: image: ghcr.io/linuxserver/wireguard container_name: wireguard cap_add: - NET_ADMIN - SYS_MODULE environment: - PUID=1000 - PGID=1000 - TZ=Europe/Paris - SERVERURL=tuto-evo.fr - SERVERPORT=51820 - PEERS=PC,TEL,PCPRO - PEERDNS=auto - INTERNAL_SUBNET=10.13.13.0 - ALLOWEDIPS=0.0.0.0/0 volumes: - /srv/disk1/docker/wireguard/config:/config - /lib/modules:/lib/modules ports: - 51820:51820/udp restart: unless-stopped Ici, plusieurs choses sont a adapter suivant votre installation : -  PUID  et  PGID sont à modifier suivant les ID de votre utilisateur* * Pour connaitre le PUID/GUID de l'utilisateur :  [Tuto] Connaitre le PUID / PGID d'un utilisateur . -  SERVERURL , ici j'ai indiqué  tuto-evo.fr  comme nom de domaine d'acces a mon serveur. Ceci est a remplacer par votre nom de domaine, si vous avez une IP Fixe, vous pouvez également ici indiquer l'IP Fixe plutot qu'un nom de domaine. -  PEERS , contient soit un nombre soit des valeur texte séparé par une virgule, cela correspond au nombre de configuration client que vous voulez générer à la création du serveur. Ici, je souhaite créer 3 profils : "PC" , "TEL" et "PCPRO". J'aurai également pu indiquer :  PEERS=3  a la seul différence que les 3 profils générer n'ont dans ce cas, pas de nom. -  ALLOWEDIPS  correspond à la plage d'IP autorisé a utilisé le VPN. Avec la configuration "0.0.0.0/0" alors le client VPN forcera toutes les connexions a utiliser le VPN. - Sur la ligne "/srv/disk1/docker/wireguard/config:/config",  /srv/disk1/docker/wireguard/config  doit correspondre avec le dossier crée a l'étape 1 du tuto. 3/ Création du conteneur Maintenant, toujours dans mon dossier  wireguard  : Code: cd /srv/disk1/docker/wireguard on execute la commande : Code: sudo docker-compose up -d Une fois fini, la commande renvoi "done", alors le conteneur est bien créé ! Il faut attendre quelques minutes pour que le conteneur soit bien créer et les configuration générées. 4/ Ouverture de port Pour fonctionner correctement, Wireguard a besoin que le port  51820 UDP  soit correctement ouvert et redirigé. Pensez donc a bien l'ouvrir/redirigé dans votre box et/ou pare-feu. 5/ Récupération des fichiers de configuration des clients Dans votre dossier de configuration (  /srv/disk1/docker/wireguard/config  ), nous allons trouver des dossier commençant par  peer_ . Dans mon cas, 3 dossiers car nous avons configuré 3 clients ! Un dossier peer_PC, un peer_TEL et un peer_PCPRO. Dans chacun de ces dossiers vous allez trouver un fichier .conf, qui servira a connecté votre client au serveur Wireguard !