Configuration WireGuard VPN sur VPS avec Portainer

Étape 1 : Prérequis sur le VPS

Assurez-vous d’avoir :

  • Portainer installé
  • Les ports suivants ouverts dans le pare-feu Oracle :
  • UDP 51820 (WireGuard)
  • TCP 9443 (Portainer)

Étape 2 : Configuration de la Stack

  1. Dans Portainer, allez dans « Stacks » → « Add stack »
  2. Nommez votre stack (ex: « wireguard-vpn »)
  3. Utilisez le compose suivant :
version: "3.8"
services:
  wireguard:
    container_name: wireguard
    image: linuxserver/wireguard:latest
    environment:
      - PUID=1001
      - PGID=1001
      - TZ=Europe/Paris
      - SERVERURL=auto  # Détecte automatiquement l'IP du VPS
      - SERVERPORT=51820
      - PEERS=1  # Nombre de clients
      - PEERDNS=auto  # Utilise les DNS du container
      - INTERNAL_SUBNET=10.13.13.0  # Sous-réseau WireGuard
    volumes:
      - /opt/wireguard-server/config:/config
      - /lib/modules:/lib/modules
    ports:
      - 51820:51820/udp
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
      - SYS_MODULE

Étape 3 : Déploiement

  1. Cliquez sur « Deploy the stack »
  2. Attendez que le container démarre (environ 30 secondes)

Étape 4 : Récupération de la configuration client

  1. Les fichiers de configuration des clients se trouvent dans /opt/wireguard-server/config/peer1
  2. Sur votre VPS, exécutez :
cat /opt/wireguard-server/config/peer1/peer1.conf
  1. Le QR code pour mobile se trouve dans /opt/wireguard-server/config/peer1/peer1.png

Étape 5 : Configuration du client

Sur Mobile (Android/iOS) :

  1. Installez l’application WireGuard
  2. Scannez le QR code du fichier peer1.png
  3. Activez la connexion

Sur PC (Windows/Linux/Mac) :

  1. Installez le client WireGuard
  2. Importez le fichier peer1.conf
  3. Activez la connexion

Configuration additionnelle

Pour ajouter plus de clients :

  1. Arrêtez la stack
  2. Modifiez la variable PEERS dans le compose
  3. Redéployez la stack

Pour vérifier la connexion :

  1. Connectez-vous au VPN
  2. Visitez https://ipleak.net
  3. Vérifiez que l’IP affichée est celle de votre VPS Oracle

Notes importantes

  • Le premier démarrage peut prendre quelques minutes pour générer les clés
  • Par défaut, tout le trafic passe par le VPN
  • Pour exclure certains sites/IPs du VPN, modifiez la section « AllowedIPs » du fichier de configuration client
  • Sauvegardez le dossier /opt/wireguard-server/config

Dépannage

Si le container ne démarre pas :

# Vérifiez les logs
docker logs wireguard

# Vérifiez que le module WireGuard est chargé
lsmod | grep wireguard

Si pas de connexion :

  1. Vérifiez le port UDP 51820 dans le pare-feu Oracle
  2. Vérifiez les logs du container
  3. Vérifiez la configuration du client

Pour redémarrer le service :

docker restart wireguard