VPN WireGuard sur serveur Debian

Tunnel VPN chiffré pour accès distant sécurisé à une infrastructure personnelle

Objectif du projet

Déployer un VPN léger, rapide et sécurisé basé sur WireGuard pour établir une connexion chiffrée à distance vers mon infrastructure personnelle hébergée localement.

Contexte

Dans un souci d’accès sécurisé à distance à mes machines (serveurs, pfSense, NAS) depuis l’extérieur, j’ai décidé de mettre en place un tunnel VPN basé sur WireGuard, réputé pour sa simplicité, ses performances et son chiffrement moderne.

L’objectif était d’interconnecter un VPS Debian (accessible 24/7 sur Internet) à mon réseau personnel via WireGuard, et de permettre l’accès depuis plusieurs postes clients (PC, mobile…).

Outils utilisés

WireGuard (paquet wireguard sur Debian), VPS Debian 12 (chez LWS), postes clients (Linux, Windows, Android), pfSense (réseau local), UFW (règles pare-feu)

Schéma d’architecture

Démarche et mise en œuvre

  • Installation de WireGuard sur le VPS (apt install wireguard)
  • Génération des clés (privées/publiques) pour le serveur et chaque client
  • Configuration du fichier wg0.conf sur le serveur :
    • Interface VPN avec IP locale dédiée
    • Port d’écoute UDP personnalisé
    • Ajout de la clé publique du client
  • Ouverture du port 51820/UDP dans UFW
  • Configuration des clients (PC et téléphone) :
    • Appairage avec les clés
    • Attribution d’une IP VPN unique par client
  • Tests de connectivité : ping entre le client et le VPS, redirection vers le réseau interne
  • Démarrage automatique de WireGuard au boot du serveur

Résultats et livrables

  • Tunnel VPN actif et chiffré (testé avec ping, curl ifconfig.me, wg show)
  • Plusieurs clients configurés (PC, smartphone Android)
  • Script d’ajout automatique de nouveaux pairs (génération clé + conf)
  • Documentation complète : wg0.conf, captures WireGuard client, schéma de tunnel, pare-feu
  • Procédure d’installation et d’ajout d’un utilisateur

Résultats & Captures

Configuration du serveur WireGuard

État du tunnel (handshake)

Configuration du pare-feu

Gestion des clients

Compétences mobilisées

  • C1 : Fournir les services liés au SI (déploiement et configuration d’un tunnel VPN pour la connexion distante sécurisée)
  • C4 : Sécurité des SI (chiffrement des connexions, gestion de clés privées/publiques, filtrage des ports)

Retour d’expérience

Ce projet m’a permis de mieux comprendre la configuration des tunnels VPN, la gestion des clés, et les règles de routage/NAT nécessaires à l’interconnexion distante.

WireGuard s’est révélé plus performant et facile à déployer qu’OpenVPN. La seule difficulté a été la configuration du routage entre le VPS et mon réseau personnel.

À refaire, j’essaierais aussi des outils comme PiVPN pour simplifier l’ajout de clients via une interface Web.